diff --git a/docs-site/static/presentation/awsops-intro/index.html b/docs-site/static/presentation/awsops-intro/index.html index c9518e3c..b5a48e73 100644 --- a/docs-site/static/presentation/awsops-intro/index.html +++ b/docs-site/static/presentation/awsops-intro/index.html @@ -188,7 +188,7 @@

보고서 작성 부담

Bedrock AgentCore
-
Claude Opus 4.8 / Sonnet 5 / Haiku 4.5
AgentCore Runtime + 섹션 에이전트
ADR-003 하이브리드 라우팅
+
Claude Opus 4.8 / Sonnet 5 / Haiku 4.5
AgentCore Runtime + 섹션 에이전트
하이브리드 라우팅
@@ -255,7 +255,7 @@

보고서 작성 부담

AWSops — By the Numbers

-
항목내용설명
InfraTerraform MSA비공개 엣지 — CloudFront VPC Origin → 내부 ALB → Fargate
ComputeECS Fargateweb thin-BFF + OOM-safe 비동기 워커 티어 (arm64)
DataAurora Serverless v2PostgreSQL 17 영속 상태 + 41종 인벤토리 sync
AI Tools9 게이트웨이 설계 (160+ 도구) · 30개 슬라이스 전부 LIVEAgentCore 섹션 에이전트 (모두 read-only; 9개 게이트웨이 전부 READY MCP 타깃)
AI RoutingADR-003 하이브리드regex fast-path + Haiku 분류기, 게이트 96.9%
Diagnosislight·mid 9 / deep 16 섹션Well-Architected 매핑, DOCX/PDF 내보내기
UX3-테마 + 모바일 + 4개 언어반응형 대시보드 + Cmd-K + 한/영/中/日 i18n
+
항목내용설명
InfraTerraform MSA비공개 엣지 — CloudFront VPC Origin → 내부 ALB → Fargate
ComputeECS Fargateweb thin-BFF + OOM-safe 비동기 워커 티어 (arm64)
DataAurora Serverless v2PostgreSQL 17 영속 상태 + 41종 인벤토리 sync
AI Tools9 게이트웨이 설계 (160+ 도구) · 30개 슬라이스 전부 LIVEAgentCore 섹션 에이전트 (모두 read-only; 9개 게이트웨이 전부 READY MCP 타깃)
AI Routing하이브리드regex fast-path + Haiku 분류기, 게이트 96.9%
Diagnosislight·mid 9 / deep 16 섹션Well-Architected 매핑, DOCX/PDF 내보내기
UX3-테마 + 모바일 + 4개 언어반응형 대시보드 + Cmd-K + 한/영/中/日 i18n
@@ -296,7 +296,7 @@

For FinOps / Management

🔒
Read-Only Posture
-
AWS 리소스 변경·자율 실행 동결
ADR-005 (FROZEN) / ADR-007 — 설계상 안전
+
AWS 리소스 변경·자율 실행 동결
설계상 안전
📊
@@ -311,7 +311,7 @@

For FinOps / Management

Key Takeaways — 5가지 목표, 하나의 대시보드

-
  • ① 가시성 → Overview·Topology·Monitoring + NFM·Direct Connect까지 통합된 Network 6종 메뉴
  • ② FinOps → 읽기 전용 비용 분석 + Rightsizing 인사이트 + OpenCost 패널
  • ③ Well-Architected → 종합진단 리포트 자동 생성 (light·mid/deep, DOCX/PDF)
  • ④ 보안성 → Security Findings + CIS Compliance 벤치마크, 둘 다 읽기 전용
  • ⑤ 장애 대응 AI → AI Assistant/Diagnosis가 메트릭·로그·트레이스·NFM 경로를 자연어로 교차 분석
  • 핵심 차별점 → In-account Bedrock AI + 읽기 전용 태세 (ADR-005 FROZEN) + 4개 언어 UX
+
  • ① 가시성 → Overview·Topology·Monitoring + NFM·Direct Connect까지 통합된 Network 6종 메뉴
  • ② FinOps → 읽기 전용 비용 분석 + Rightsizing 인사이트 + OpenCost 패널
  • ③ Well-Architected → 종합진단 리포트 자동 생성 (light·mid/deep, DOCX/PDF)
  • ④ 보안성 → Security Findings + CIS Compliance 벤치마크, 둘 다 읽기 전용
  • ⑤ 장애 대응 AI → AI Assistant/Diagnosis가 메트릭·로그·트레이스·NFM 경로를 자연어로 교차 분석
  • 핵심 차별점 → In-account Bedrock AI + 읽기 전용 태세 + 4개 언어 UX
@@ -379,7 +379,7 @@

Foundation

LIVE 오늘: workers · steampipe · agentcore · integrations · ai_cost_tracking · diagnosis_schedule · diagnosis_notify · eks_auto_register · hybrid_routing

Feature Flags (~17개, 전부 default-off = $0)

- +
@@ -394,7 +394,7 @@

Core Layers

파일역할
network.tfVPC 신규/재사용
edge.tfCloudFront + VPC Origin + ALB
auth.tfCognito + Lambda@Edge
data.tfAurora + schema
workload.tfECS web service
ecr.tfdual-tier ECR
ai.tfAgentCore + SSM
workers.tfSQS + SFN + Lambda

Gated Subsystems

-
파일역할
eks.tfAccess Entry + AdminView
steampipe.tf인벤토리 sync (steampipe_enabled)
notify.tf진단 알림 SNS (diagnosis_notify_enabled)
incidents.tf인시던트 webhook (incident_lifecycle_enabled)
k8sgpt.tfK8sGPT 예산/리소스 (k8sgpt_enabled)
writeback.tfRCA write-back (rca_writeback_enabled)
remediation.tf리메디에이션 substrate (FROZEN)
secret-rotation.tf자기치유 재배포 (ADR-015)
+
파일역할
eks.tfAccess Entry + AdminView
steampipe.tf인벤토리 sync (steampipe_enabled)
notify.tf진단 알림 SNS (diagnosis_notify_enabled)
incidents.tf인시던트 webhook (incident_lifecycle_enabled)
k8sgpt.tfK8sGPT 예산/리소스 (k8sgpt_enabled)
writeback.tfRCA write-back (rca_writeback_enabled)
remediation.tf리메디에이션 substrate (FROZEN)
secret-rotation.tf자기치유 재배포
@@ -406,7 +406,7 @@

Gated Subsystems

Next.js 14 Standalone (arm64)

- +

Routes

@@ -422,7 +422,7 @@

Routes

Aurora (PostgreSQL 17.9)

-
  • 0.5–4 ACU, KMS CMK, RDS-관리 master secret
  • 앱 접근 = node-pg (web/lib/db.ts)
  • ADR-030 스키마 (v9 baseline) + worker_jobs · chat threads · diagnosis
  • 새 테이블 = ULID 마이그레이션 (migrations/_*.sql)
+
  • 0.5–4 ACU, KMS CMK, RDS-관리 master secret
  • 앱 접근 = node-pg (web/lib/db.ts)
  • 스키마 (v9 baseline) + worker_jobs · chat threads · diagnosis
  • 새 테이블 = ULID 마이그레이션 (migrations/_*.sql)

Steampipe = 인벤토리 sync ONLY

warm Fargate → Aurora → /inventory/[type]
flag-gated (steampipe_enabled)
41종 리소스 타입 동기화
fan-out sync · registry-driven nav
NOT a live query engine — pg Pool / 라이브 조회 아님

@@ -474,13 +474,13 @@

Steampipe = 인벤토리 sync ONLY

ops external-obs
-
external-obs = 9번째 게이트웨이(2026-06-24 승격, ADR-004) — Prometheus·ClickHouse 커넥터 호스팅, 챗 키 observability로 별칭. 30슬라이스 전부 LIVE(9개 게이트웨이 전부 READY MCP 타깃). 16개 챗 키는 전부 등록되어 있지만, 그중 aws-data + 콜렉터 6종(7개)은 steampipeAvailable()이 ADR-001/010에 따라 항상 false를 반환해 하드 비활성 — 선택하면 fail-open으로 ops에 위임됨
+
external-obs = 9번째 게이트웨이(2026-06-24 승격) — Prometheus·ClickHouse 커넥터 호스팅, 챗 키 observability로 별칭. 30슬라이스 전부 LIVE(9개 게이트웨이 전부 READY MCP 타깃). 16개 챗 키는 전부 등록되어 있지만, 그중 aws-data + 콜렉터 6종(7개)은 steampipeAvailable()이 설계 원칙에 따라 항상 false를 반환해 하드 비활성 — 선택하면 fail-open으로 ops에 위임됨
-

Hybrid Routing & Streaming Chat — ADR-003

+

Hybrid Routing & Streaming Chat

@@ -564,7 +564,7 @@

Chat UX

잡 종류 (2026-06-18 이후 증가)

-
  • schedule_dispatcher — 시간별 EventBridge → report_schedules 스캔 → 진단 잡 enqueue (diagnosis_schedule_enabled, LIVE)
  • diagnosis_digest (workers.tf) — 리포트별 이메일 대신 배치 SNS 다이제스트 (workers_enabled && diagnosis_notify_enabled 게이트로 이미 배포됨; ADR-13이 명시적으로 승인한 건 스케줄 진단 요약뿐이라 수동 실행분까지 배치하는 현재 구현은 ADR 범위를 넘어섬 — 후속 ADR 정리 필요)
  • compliance (Powerpipe) — CIS 벤치마크 Fargate 잡 (steampipe_enabled)
+
  • schedule_dispatcher — 시간별 EventBridge → report_schedules 스캔 → 진단 잡 enqueue (diagnosis_schedule_enabled, LIVE)
  • diagnosis_digest (workers.tf) — 리포트별 이메일 대신 배치 SNS 다이제스트 (workers_enabled && diagnosis_notify_enabled 게이트로 이미 배포됨; 승인된 범위는 스케줄 진단 요약뿐이지만 현재 구현은 수동 실행분까지 함께 묶음 — 후속 정리 필요)
  • compliance (Powerpipe) — CIS 벤치마크 Fargate 잡 (steampipe_enabled)

@@ -604,7 +604,7 @@

Read-Only Query

-

Multi-Account — STS AssumeRole Fan-Out (ADR-011)

+

Multi-Account — STS AssumeRole Fan-Out

@@ -612,7 +612,7 @@

Registry + Assume

  • Aurora accounts 레지스트리 — 호스트 계정은 lazy seed
  • 대상 계정 AWSopsReadOnlyRole을 host task role이 STS AssumeRole
  • ExternalId — 1st-party(trust policy가 task-role ARN 핀) = 선택, 3rd-party/와일드카드 = 필수(confused-deputy 방어)
  • 글로벌 셀렉터: 단일 계정 스코프 / __all__ = 전 계정 fan-out

Safety

-
  • host self-assume 가드 — target == host면 get_role_arn()이 None 반환 → host 실행 role 직접 사용(v1 전용 role을 host에서 self-assume → AccessDenied 오진 방지)
  • read-only 한정 — 대상 계정 변경 작업 없음(ADR-005 동결과 정합)
  • /accounts admin UI + CFN으로 대상 계정에 read-only role 배포(코드 변경 없음)
+
  • host self-assume 가드 — target == host면 get_role_arn()이 None 반환 → host 실행 role 직접 사용(v1 전용 role을 host에서 self-assume → AccessDenied 오진 방지)
  • read-only 한정 — 대상 계정 변경 작업 없음
  • /accounts admin UI + CFN으로 대상 계정에 read-only role 배포(코드 변경 없음)
@@ -625,7 +625,7 @@

Safety

Cognito + Lambda@Edge

  • us-east-1, py3.12, viewer-request
  • RS256 JWKS 서명 검증 (iss/aud/token_use)
  • OAuth state + PKCE public client
-

Login (ADR-002)

+

Login

  • Primary = 자체 /login 폼
  • BFF POST /api/auth/login → 무서명 공개 InitiateAuth(USER_PASSWORD_AUTH) → awsops_token (id_token 12h)
  • Hosted UI PKCE = dark fallback, signout = 쿠키 삭제

🔒 Private Edge
공개 ALB 없음 — 진입점은 CloudFront 하나
🔑 ECS Secrets
execution role 권한 (task role 아님)
👤 Admin
SSM + Cognito group (fail-closed)

@@ -670,16 +670,16 @@

Login (ADR-002)

🔒
동결 (do-not-enable)
-
ADR-005 (029/036/031P4 통합, 2026-06-11 reversal)
AWS-리소스 변경 + 자율 — 새 명시적 결정 전까지 동결(영구 아님)
+
AWS-리소스 변경 + 자율 — 새 명시적 결정 전까지 동결(영구 아님)
📥
-
거버넌스된 External (ADR-007)
+
거버넌스된 External
외부 DATA read + 기록/티켓/메시지 write 허용
SSRF · Secrets · DLP · human-gate 하
- 예외 1건 — ADR-015 (2026-07-01 owner-override): 호스트 자기 web 서비스의 ecs:UpdateService force-new-deployment(재시작)만, Aurora secret 회전 이벤트 트리거 한정, IAM 1 ARN, secret-id fail-closed, default-off. 나머지 ADR-005 전부는 그대로 동결. + 예외 1건: 호스트 자기 web 서비스의 ecs:UpdateService force-new-deployment(재시작)만, Aurora secret 회전 이벤트 트리거 한정, IAM 1 ARN, secret-id fail-closed, default-off. 나머지는 전부 그대로 동결.
🧠 @@ -693,7 +693,7 @@

Login (ADR-002)

Key Takeaways — Architecture

-
  • Terraform MSA on private edge — CloudFront VPC Origin → 내부 ALB → Fargate, 공개 ALB 없음
  • Aurora 영속 상태 — PostgreSQL 17.9 (Steampipe = flag-gated 인벤토리 sync일 뿐)
  • AgentCore 섹션 에이전트 — 9 게이트웨이 · ~160 read-only 도구(30슬라이스 전부 LIVE)로 라이브 AWS 읽기
  • ADR-003 하이브리드 라우팅 + ADR-011 멀티 계정 — regex + Haiku 분류기 + caching, STS AssumeRole fan-out
  • OOM-safe 비동기 워커 티어 — SQS + SFN + Lambda/Fargate, 진단·스케줄·알림·컴플라이언스 처리
  • 읽기 전용 동결 태세 — AWS 변경·자율 동결(ADR-005, 새 결정 전까지) + ADR-015 예외 1건, in-account Bedrock
+
  • Terraform MSA on private edge — CloudFront VPC Origin → 내부 ALB → Fargate, 공개 ALB 없음
  • Aurora 영속 상태 — PostgreSQL 17.9 (Steampipe = flag-gated 인벤토리 sync일 뿐)
  • AgentCore 섹션 에이전트 — 9 게이트웨이 · ~160 read-only 도구(30슬라이스 전부 LIVE)로 라이브 AWS 읽기
  • 하이브리드 라우팅 + 멀티 계정 — regex + Haiku 분류기 + caching, STS AssumeRole fan-out
  • OOM-safe 비동기 워커 티어 — SQS + SFN + Lambda/Fargate, 진단·스케줄·알림·컴플라이언스 처리
  • 읽기 전용 동결 태세 — AWS 변경·자율 동결 + 예외 1건, in-account Bedrock
@@ -1124,7 +1124,7 @@

동작 흐름 (read-only)

분석 결과 예시 (권장만)

  • "payment Pod: CPU request 500m, 실사용 50m → 90% 과할당 (rightsizing 권장)"
  • "frontend Deployment: Memory limit 2Gi, 사용량 200Mi → 다운사이징 권장"
  • "Node 3대 중 2대 활용률 15% 미만 → 통합 검토"
  • "예상 월 절감 $1,200 — 권장사항"

Read-Only 원칙

-

권장사항만 제시 · 자동 적용 없음 (mutating 설치 버튼은 ADR-005로 동결 — do-not-enable)

+

권장사항만 제시 · 자동 적용 없음 (mutating 설치 버튼은 동결 — do-not-enable)

@@ -1329,7 +1329,7 @@

스케줄 진단 (diagnosis_schedule_enabled)

알림 다이제스트 (병합·배포 완료)

- +
@@ -1404,7 +1404,7 @@

인증 & 온보딩

Feature Tour: 멀티 계정 Security & Compliance

-

ADR-011 — STS AssumeRole read-only fan-out (ExternalId: 1st-party 옵션 · 3rd-party 필수) · 계정별 보안/컴플라이언스 스코핑 · CVE Severity Distribution donut(ECR 스캔 집계).

+

멀티 계정 — STS AssumeRole read-only fan-out (ExternalId: 1st-party 옵션 · 3rd-party 필수) · 계정별 보안/컴플라이언스 스코핑 · CVE Severity Distribution donut(ECR 스캔 집계).

Security Findings Pipeline

@@ -1472,8 +1472,8 @@

AWSops가 제공하는 것

핵심 차별점

  • in-account Bedrock (외부 AI SaaS API 없음)
  • private edge (공개 ALB 없음, CloudFront VPC Origin)
  • OOM-safe 비동기 워커 티어
-

Read-Only 자세 (ADR-005/007)

-
  • AWS-리소스 변경 + 자율 = 동결 (ADR-005, do-not-enable)
  • 외부 관측성 READ 허용
  • 외부 기록 / 티켓 / 메시지 WRITE 는 거버넌스 하 허용 +

    Read-Only 자세

    +
    • AWS-리소스 변경 + 자율 = 동결 (do-not-enable)
    • 외부 관측성 READ 허용
    • 외부 기록 / 티켓 / 메시지 WRITE 는 거버넌스 하 허용
      • SSRF · Secrets · DLP · human-gate · flag-OFF
    • 변경되는 것은 DATA, AWS 리소스가 아님

    시작하기

    1. make configure → Terraform apply
    2. make deploy
    3. Cognito 사용자 추가 · /login
    4. 어시스턴트에서 질문 시작
    @@ -1506,43 +1506,43 @@