diff --git a/docs-site/scripts/capture-screenshots.ts b/docs-site/scripts/capture-screenshots.ts index 373526252..2c08e9bf7 100644 --- a/docs-site/scripts/capture-screenshots.ts +++ b/docs-site/scripts/capture-screenshots.ts @@ -168,14 +168,14 @@ async function login(page: Page): Promise { } }); - // Wait for redirect back to app (dark-fallback path only — v2 defaults to /login, ADR-042). + // Wait for redirect back to app (dark-fallback path only — v2 defaults to /login). // Match against BASE_URL's own origin, not just "amazoncognito.com" — a custom Cognito // domain (CLAUDE.md's `a-ops-v2-auth-*`) wouldn't contain that substring, which would make // this predicate true immediately on the auth page itself instead of after the redirect. await page.waitForURL((u) => URL_POLICY.isApp(u.href), { timeout: 60000 }); console.log('Login successful, redirected to app.'); } else if (new URL(currentUrl).pathname === '/login' || (await page.locator('input[type="password"]').count()) > 0) { - // v2's self-hosted /login form (ADR-042) — email + password + a locale-dependent submit + // v2's self-hosted /login form — email + password + a locale-dependent submit // button ("로그인 →" / "Sign in →"), no placeholder text and no basePath on redirect. console.log('Custom login page detected, filling credentials...'); if (!LOGIN_PASSWORD) throw new Error('AWSOPS_LOGIN_PASSWORD is required'); diff --git a/docs-site/scripts/pptx/build-awsops-intro-pptx.js b/docs-site/scripts/pptx/build-awsops-intro-pptx.js index 25f80f448..6731250e1 100644 --- a/docs-site/scripts/pptx/build-awsops-intro-pptx.js +++ b/docs-site/scripts/pptx/build-awsops-intro-pptx.js @@ -466,9 +466,6 @@ kit.sectionDivider(pres, { • JWKS(JSON Web Key Set): 토큰 서명 검증용 공개키 집합 • CMK(Customer Managed Key): 고객 관리형 KMS 암호화 키 -[출처] -• AWSops 결정 기준선 — 리포지토리 docs/decisions/BASELINE.md - [변경 이력] • 2026-08-11: 초기 작성 • 2026-08-12: AWS Light 테마 재설계`); @@ -489,8 +486,8 @@ kit.sectionDivider(pres, { }); const cols = [ ["대화형 어시스턴트", "ai_agent", "자연어 질문을 자동 라우팅하거나 슬래시(/)로 섹션을 지정. \"두 리소스 간 통신이 안 되는 원인\", \"이 IAM 역할 과다권한 점검\" 같은 운영 질문에 라이브 근거로 답변", A.blue], - ["aws-data — 리소스 질의 섹션", "aws_cloud", "\"리전별 EC2 몇 개야?\" 같은 수량·목록 질문을 받는 generic 섹션. 라이브 AWS 조회는 AgentCore 게이트웨이 경유가 원칙(ADR-001/010) — 별도 SQL 라이브 실행 경로는 설계상 차단", A.green], - ["전문 섹션 6종 (자동 수집형 설계)", "evaluations", "유휴 리소스 스캔 · EKS/DB/MSK 최적화 · 지연 분석 · 인시던트 — 근거 데이터를 먼저 모으고 분석하는 설계 — 현재는 설계 원칙(ADR-001/010)에 따라 비활성, 표준 라우팅으로 대응. 총 16개 챗 섹션 구성", A.magenta], + ["aws-data — 리소스 질의 섹션", "aws_cloud", "\"리전별 EC2 몇 개야?\" 같은 수량·목록 질문을 받는 generic 섹션. 라이브 AWS 조회는 AgentCore 게이트웨이 경유가 원칙 — 별도 SQL 라이브 실행 경로는 설계상 차단", A.green], + ["전문 섹션 6종 (자동 수집형 설계)", "evaluations", "유휴 리소스 스캔 · EKS/DB/MSK 최적화 · 지연 분석 · 인시던트 — 근거 데이터를 먼저 모으고 분석하는 설계 — 현재는 설계 원칙에 따라 비활성, 표준 라우팅으로 대응. 총 16개 챗 섹션 구성", A.magenta], ]; const gw5 = 0.35, cw = (CW - gw5 * 2) / 3, cy = 3.15, chh = 2.85; cols.forEach((c, i) => { @@ -513,15 +510,12 @@ kit.sectionDivider(pres, { • 챗 16섹션 정의 = 게이트웨이 9 + aws-data + 전문 섹션 6 (로컬 7종은 현재 비활성 — 표준 라우팅 대응) • 라이브 AWS 조회는 AgentCore 게이트웨이 경유 원칙 -AI 레이어의 핵심은 '분업'입니다. 범용 챗봇 하나가 모든 질문을 받는 게 아니라, 네트워크·컨테이너·데이터·보안·비용·모니터링·IaC·운영·외부관측 아홉 개 도메인 게이트웨이가 각자 전문 도구를 들고 있습니다. 질문이 오면 해당 도메인 에이전트가 라이브 AWS 데이터를 직접 조회해서 답합니다. 여기에 두 가지가 더 있습니다. aws-data는 리소스 수량·목록 질문을 받는 generic 섹션이고 — 라이브 AWS 조회는 어디까지나 AgentCore 게이트웨이 경유가 원칙입니다. 그리고 유휴 리소스 스캔이나 인시던트 분석 같은 여섯 개 전문 섹션은 근거 데이터를 먼저 모으고 분석하는 자동 수집형 설계입니다 — 이 경로는 현재 설계 원칙(ADR-001/010)에 따라 비활성이며 해당 질문은 표준 라우팅이 대응합니다. 합쳐서 16개 섹션 정의입니다. 모델은 Bedrock의 Claude 계열을 용도별로 혼용합니다. +AI 레이어의 핵심은 '분업'입니다. 범용 챗봇 하나가 모든 질문을 받는 게 아니라, 네트워크·컨테이너·데이터·보안·비용·모니터링·IaC·운영·외부관측 아홉 개 도메인 게이트웨이가 각자 전문 도구를 들고 있습니다. 질문이 오면 해당 도메인 에이전트가 라이브 AWS 데이터를 직접 조회해서 답합니다. 여기에 두 가지가 더 있습니다. aws-data는 리소스 수량·목록 질문을 받는 generic 섹션이고 — 라이브 AWS 조회는 어디까지나 AgentCore 게이트웨이 경유가 원칙입니다. 그리고 유휴 리소스 스캔이나 인시던트 분석 같은 여섯 개 전문 섹션은 근거 데이터를 먼저 모으고 분석하는 자동 수집형 설계입니다 — 이 경로는 현재 설계 원칙에 따라 비활성이며 해당 질문은 표준 라우팅이 대응합니다. 합쳐서 16개 섹션 정의입니다. 모델은 Bedrock의 Claude 계열을 용도별로 혼용합니다. [약어] • MCP(Model Context Protocol): AI 에이전트가 도구를 호출하는 표준 프로토콜 • MSK(Managed Streaming for Apache Kafka): AWS 관리형 Kafka 서비스 -[출처] -• AWSops 결정 기준선 — 리포지토리 docs/decisions/BASELINE.md - [변경 이력] • 2026-08-11: 초기 작성 • 2026-08-12: AWS Light 테마 재설계`); @@ -586,7 +580,7 @@ AI 레이어의 핵심은 '분업'입니다. 범용 챗봇 하나가 모든 질 { const s = newContent("읽기 전용은 제약이 아니라 신뢰다", "변경 기능 코드 동결 + K8s 읽기 verb 한정 + 계정당 ReadOnly 역할 1개의 안전 설계"); const cols = [ - ["거버넌스로 동결", "변경·자동 조치·코드 배포 기능은 아키텍처 결정 기록(ADR)으로 동결 — 해제는 별도 승인 절차가 필요한 제품 결정. 단일 문서화 예외(ADR-015): 시크릿 회전 시 자기 웹 서비스 재시작(기본 꺼짐, IAM 1개 ARN 한정)", A.purple], + ["거버넌스로 동결", "변경·자동 조치·코드 배포 기능은 제품 정책으로 동결 — 해제는 별도 승인 절차가 필요한 제품 결정. 단일 문서화 예외: 시크릿 회전 시 자기 웹 서비스 재시작(기본 꺼짐, IAM 1개 ARN 한정)", A.purple], ["K8s는 읽기 verb만", "런타임 조회는 read-only verb(get·list·watch)만 발행 + BFF kind 허용목록으로 추가 제한. 온보딩은 opt-in Access Entry + AWS 관리형 read-only 정책 부여(제어부 권한 설정) — 워크로드 오브젝트는 변경하지 않음", A.green], ["계정 연결 = 역할 1개", "모니터링 대상 계정에는 ReadOnly 역할 하나만 요구. 3rd-party 연결은 ExternalId 필수로 혼동 대리인 차단(1st-party는 역할 ARN 고정 시 선택), 등록 시점에 실제 assume 검증 통과해야 연결", A.blue], ]; @@ -605,22 +599,16 @@ AI 레이어의 핵심은 '분업'입니다. 범용 챗봇 하나가 모든 질 addStatBand(s, [ { value: "1개", label: "계정당 요구 IAM 역할 (ReadOnly)" }, { value: "get·list·watch", label: "K8s에 발행하는 읽기 verb (BFF kind 허용목록)" }, - { value: "1", label: "문서화된 예외 — 자기 웹 재시작 (ADR-015 · 기본 off)" }, + { value: "1", label: "문서화된 예외 — 자기 웹 재시작 (기본 off)" }, { value: "근거 필수", label: "발견마다 근거(소스) 첨부 — 프롬프트 강제 설계" }, ]); kit.addFooter(pres, s, ++pageNum); s.addNotes(`[요약] -• 변경 기능은 거버넌스(ADR)로 동결 — 해제는 별도 승인 절차 +• 변경 기능은 거버넌스로 동결 — 해제는 별도 승인 절차 • K8s 읽기 verb 한정 · 계정 연결은 ReadOnly 역할 1개 + 검증 • AI 오답의 최악 = 틀린 조언 (틀린 변경이 아님) -실무자 여러분께 가장 중요한 슬라이드입니다. AWSops에 변경 기능이 '없는' 것은 미완성이 아니라 설계 결정입니다. 자동 변경은 두 번째 장애의 가장 흔한 원인이고, 운영자가 도구를 신뢰하지 못하면 결국 쓰지 않게 됩니다. 그래서 변경·자동 조치 기능은 아키텍처 결정 기록으로 동결되어 있고, 해제하려면 별도 승인 절차가 필요합니다. 쿠버네티스에는 읽기 verb만 발행하고 — 온보딩 때 opt-in으로 Access Entry에 AWS 관리형 read-only 정책을 부여하는 것이 유일한 설정 변경이며 워크로드 오브젝트는 건드리지 않습니다 — 계정 연결에 요구하는 것도 읽기 전용 역할 하나뿐입니다. 유일한 문서화된 예외는 ADR-015 — 데이터베이스 시크릿 회전 때 자기 자신의 웹 서비스를 재시작하는 것 하나이며, 기본 꺼짐에 IAM도 해당 서비스 ARN 하나로 한정됩니다. 등록 시점에 실제로 역할을 assume해 봐서 성공해야만 연결됩니다. 이 원칙 덕분에 AI가 틀려도 최악의 경우가 '틀린 조언'입니다 — 인프라에는 아무 일도 일어나지 않습니다. 변경은 사람과 기존 IaC 파이프라인의 몫으로 남기고, AWSops는 판단 근거를 극단적으로 잘 만드는 데 집중합니다. - -[약어] -• ADR(Architecture Decision Record): 아키텍처 결정과 근거를 남기는 공식 기록 - -[출처] -• AWSops 결정 기준선 — 리포지토리 docs/decisions/BASELINE.md +실무자 여러분께 가장 중요한 슬라이드입니다. AWSops에 변경 기능이 '없는' 것은 미완성이 아니라 설계 결정입니다. 자동 변경은 두 번째 장애의 가장 흔한 원인이고, 운영자가 도구를 신뢰하지 못하면 결국 쓰지 않게 됩니다. 그래서 변경·자동 조치 기능은 제품 정책으로 동결되어 있고, 해제하려면 별도 승인 절차가 필요합니다. 쿠버네티스에는 읽기 verb만 발행하고 — 온보딩 때 opt-in으로 Access Entry에 AWS 관리형 read-only 정책을 부여하는 것이 유일한 설정 변경이며 워크로드 오브젝트는 건드리지 않습니다 — 계정 연결에 요구하는 것도 읽기 전용 역할 하나뿐입니다. 유일한 문서화된 예외는 데이터베이스 시크릿 회전 때 자기 자신의 웹 서비스를 재시작하는 것 하나이며, 기본 꺼짐에 IAM도 해당 서비스 ARN 하나로 한정됩니다. 등록 시점에 실제로 역할을 assume해 봐서 성공해야만 연결됩니다. 이 원칙 덕분에 AI가 틀려도 최악의 경우가 '틀린 조언'입니다 — 인프라에는 아무 일도 일어나지 않습니다. 변경은 사람과 기존 IaC 파이프라인의 몫으로 남기고, AWSops는 판단 근거를 극단적으로 잘 만드는 데 집중합니다. [변경 이력] • 2026-08-11: 초기 작성 @@ -862,7 +850,7 @@ kit.sectionDivider(pres, { { const s = newContent("가장 많이 받는 질문, 셋", "권한 · AI 신뢰 · 기존 도구 — 도입 검토에서 반드시 나오는 질문 선답변"); const cols = [ - ["\"권한을 얼마나 줘야 하죠?\"", "읽기 전용 역할 하나입니다. 3rd-party 연결에는 ExternalId로 혼동 대리인을 차단하고, 등록 시점에 실제 assume 검증을 통과해야 연결됩니다. 모니터링 대상 계정에는 쓰기 권한을 요구하지도, 받지도 않습니다(호스트 자신에 대한 단일 문서화 예외는 ADR-015 웹 재시작뿐).", A.blue], + ["\"권한을 얼마나 줘야 하죠?\"", "읽기 전용 역할 하나입니다. 3rd-party 연결에는 ExternalId로 혼동 대리인을 차단하고, 등록 시점에 실제 assume 검증을 통과해야 연결됩니다. 모니터링 대상 계정에는 쓰기 권한을 요구하지도, 받지도 않습니다(호스트 자신에 대한 단일 문서화 예외는 웹 재시작뿐).", A.blue], ["\"AI가 틀리면요?\"", "에이전트는 수집된 라이브 데이터에만 근거하고, 신호가 없으면 '데이터 불가'로 답하도록 설계되어 있습니다. 모든 발견에 근거가 첨부되고 — 읽기 전용이라 최악의 경우가 '틀린 조언'입니다. Bedrock은 고객 데이터를 모델 학습에 쓰지 않습니다.", A.purple], ["\"기존 도구는 버리나요?\"", "아니요, 연동입니다. Prometheus·ClickHouse 등 8종을 읽기 전용으로 등록하면 그 데이터가 서비스 맵과 AI 진단의 근거로 흡수됩니다. 기존 대시보드는 그대로 두고 '조합하는 층'을 얹습니다.", A.green], ]; diff --git a/docs-site/static/diagrams/agentcore-architecture.drawio b/docs-site/static/diagrams/agentcore-architecture.drawio index 63b8f7eb8..0ffde87c5 100644 --- a/docs-site/static/diagrams/agentcore-architecture.drawio +++ b/docs-site/static/diagrams/agentcore-architecture.drawio @@ -22,7 +22,7 @@ - + diff --git a/docs-site/static/presentation/awsops-intro/01-why-awsops.html b/docs-site/static/presentation/awsops-intro/01-why-awsops.html index 4fcba3385..2107cad66 100644 --- a/docs-site/static/presentation/awsops-intro/01-why-awsops.html +++ b/docs-site/static/presentation/awsops-intro/01-why-awsops.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
@@ -327,12 +327,12 @@

For FinOps / Management

2: "[1min] 총 65분 세션으로 3개 파트로 나누어 진행합니다.\n첫 번째로 왜 이런 도구가 필요한지, 두 번째로 어떻게 만들었는지, 세 번째로 실제로 어떻게 쓰는지를 보여드리겠습니다.", 3: "⏸️ [3min] [요약]\n• 이 프로젝트를 시작할 때 세운 5가지 목표를 먼저 공유합니다.\n\n이 프로젝트를 시작할 때 5가지 목표를 세웠습니다.\n\n첫째, DevOps·SRE의 가시성 향상입니다. 콘솔을 오가지 않고 NFM 트래픽 분석, Direct Connect 상태, DNS·IP·VPC 엔드포인트·Network Firewall까지 한 화면에서 봅니다.\n\n\n둘째, FinOps로 비용을 최적화하는 것입니다. 읽기 전용 비용 분석과 rightsizing 인사이트, OpenCost 패널을 상시 확인합니다.\n\n셋째, Well-Architected 기준으로 아키텍처를 점검하는 것입니다. 종합진단 리포트가 6개 Pillar에 매핑되어 자동 생성됩니다.\n\n넷째, 보안성 향상입니다. Security Findings와 CIS Compliance 벤치마크를 상시 노출합니다.\n\n다섯째, 장애가 났을 때 AI가 트래픽과 원인을 분석하는 것입니다. NFM의 E2E hop path까지 포함해 자연어로 교차 분석합니다.\n\n\n이 5가지 목표가 앞으로 볼 모든 기능의 출발점입니다. 먼저 이걸 만들게 된 도전 과제부터 보겠습니다.", 4: "❓ ⏸️ [3min] 클라우드 운영을 하다 보면 정말 많은 도전 과제에 직면합니다.\n\n첫 번째는 Console Hopping입니다. 하나의 이슈를 해결하려면 EC2 콘솔에서 시작해서 CloudWatch로 메트릭 보고, VPC에서 네트워크 확인하고, IAM에서 권한 체크하고... 평균 5-7개 콘솔을 돌아다녀야 합니다. 멀티 어카운트면 로그인만 해도 지칩니다.\n\n\n\n두 번째는 데이터 사일로입니다. CloudWatch 메트릭, Prometheus 메트릭, 로그, 트레이스가 각각 다른 시스템에 있어서 교차 분석이 어렵습니다. \"CPU가 높아졌는데 어떤 서비스 때문이지?\" 라는 질문에 답하려면 여러 도구를 동시에 봐야 합니다.\n\n세 번째, 네 번째도 마찬가지로 반복 작업과 보고서 부담이 큽니다.\n\n\n여러분도 이런 경험 있으시죠? 특히 FinOps 리포트를 매달 수동으로 만들어 본 경험이 있으신 분?\n\n\nAWSops는 이 4가지 문제를 동시에 해결합니다.", - 5: "⏸️ [3min] AWSops는 3개 레이어로 구성됩니다.\n\n\nData Layer는 Aurora Serverless v2가 중심입니다. PostgreSQL 17 기반으로 worker 작업, chat 스레드, 진단 리포트 같은 영속 상태를 안전하게 저장합니다. 인벤토리는 flag로 켜는 Steampipe sync가 41종 리소스 타입을 Aurora로 동기화해 화면에 보여주는 보조 역할입니다. 라이브 조회 엔진이 아니라 인벤토리 캐시라는 점이 핵심입니다.\n\nAI Engine은 Bedrock입니다. Opus 4.8, Sonnet 5, Haiku 4.5를 상황에 맞게 쓰고, AgentCore는 9개 섹션 게이트웨이(8개 AWS 도메인 + external-obs)로 설계되어 160개 이상의 읽기 전용 도구를 갖췄고, 함대 배포가 완료되어 30개 슬라이스 전부, 9개 게이트웨이 전부 READY MCP 타깃을 보유하고 있습니다. 라우팅은 ADR-003 하이브리드 방식으로 빠르고 정확합니다.\n\nDashboard는 Next.js 14 thin-BFF입니다. Overview, AI Diagnosis, Assistant, Security, Compliance, Topology, Monitoring, Accounts, Integrations, Jobs, Customization까지 하나의 대시보드로 통합되어 있고, 화면에 보이는 스크린샷처럼 실제 라이브 v2 환경입니다. 무거운 작업은 비동기 워커 티어로 넘깁니다.\n\n\n구체적인 숫자를 보겠습니다.", + 5: "⏸️ [3min] AWSops는 3개 레이어로 구성됩니다.\n\n\nData Layer는 Aurora Serverless v2가 중심입니다. PostgreSQL 17 기반으로 worker 작업, chat 스레드, 진단 리포트 같은 영속 상태를 안전하게 저장합니다. 인벤토리는 flag로 켜는 Steampipe sync가 41종 리소스 타입을 Aurora로 동기화해 화면에 보여주는 보조 역할입니다. 라이브 조회 엔진이 아니라 인벤토리 캐시라는 점이 핵심입니다.\n\nAI Engine은 Bedrock입니다. Opus 4.8, Sonnet 5, Haiku 4.5를 상황에 맞게 쓰고, AgentCore는 9개 섹션 게이트웨이(8개 AWS 도메인 + external-obs)로 설계되어 160개 이상의 읽기 전용 도구를 갖췄고, 함대 배포가 완료되어 30개 슬라이스 전부, 9개 게이트웨이 전부 READY MCP 타깃을 보유하고 있습니다. 라우팅은 하이브리드 방식으로 빠르고 정확합니다.\n\nDashboard는 Next.js 14 thin-BFF입니다. Overview, AI Diagnosis, Assistant, Security, Compliance, Topology, Monitoring, Accounts, Integrations, Jobs, Customization까지 하나의 대시보드로 통합되어 있고, 화면에 보이는 스크린샷처럼 실제 라이브 v2 환경입니다. 무거운 작업은 비동기 워커 티어로 넘깁니다.\n\n\n구체적인 숫자를 보겠습니다.", 6: "[1min] [요약]\n• 슬라이드웨어 목업이 아니라 실제 라이브 v2 환경 캡처\n\n지금 보시는 건 mockup이 아니라 실제 운영 중인 v2 대시보드 화면입니다.\n\n\n숫자로 다시 정리해 보겠습니다.", - 7: "[2min] 숫자보다 구조로 보면 더 명확합니다.\n\n인프라는 Terraform 기반 MSA입니다. 공개 ALB 없이 CloudFront VPC Origin이 내부 ALB를 거쳐 Fargate로 들어오는 비공개 엣지 구조입니다. 컴퓨트는 ECS Fargate로, 웹 thin-BFF와 OOM에 안전한 비동기 워커 티어가 분리되어 있습니다. 모두 arm64입니다.\n\n데이터는 Aurora Serverless v2, PostgreSQL 17로 영속 상태를 보관하고, 인벤토리는 41종 리소스 타입을 sync합니다.\n\nAI는 9개 섹션 게이트웨이(8개 AWS 도메인 + external-obs)에 160개 이상의 읽기 전용 도구가 설계되어 있고, 30개 슬라이스 전부 함대 배포되어 9개 게이트웨이 전부 READY 상태입니다. 라우팅은 ADR-003 하이브리드로 게이트 정확도 96.9%를 달성했습니다. 진단은 light·mid 티어가 9섹션(기본 8 + 의도-실제 드리프트 1), deep 티어가 16섹션이며 Well-Architected에 매핑되고 DOCX/PDF로 뽑을 수 있습니다. UX 쪽은 3-테마·모바일 대응에 더해 한국어/English/中文/日本語 4개 언어를 완전히 지원합니다 — 일본어는 최근 복원되어 전체 화면 번역 커버리지 점검까지 마쳤습니다.\n\n\n이게 어떤 가치를 만드는지 보겠습니다.", + 7: "[2min] 숫자보다 구조로 보면 더 명확합니다.\n\n인프라는 Terraform 기반 MSA입니다. 공개 ALB 없이 CloudFront VPC Origin이 내부 ALB를 거쳐 Fargate로 들어오는 비공개 엣지 구조입니다. 컴퓨트는 ECS Fargate로, 웹 thin-BFF와 OOM에 안전한 비동기 워커 티어가 분리되어 있습니다. 모두 arm64입니다.\n\n데이터는 Aurora Serverless v2, PostgreSQL 17로 영속 상태를 보관하고, 인벤토리는 41종 리소스 타입을 sync합니다.\n\nAI는 9개 섹션 게이트웨이(8개 AWS 도메인 + external-obs)에 160개 이상의 읽기 전용 도구가 설계되어 있고, 30개 슬라이스 전부 함대 배포되어 9개 게이트웨이 전부 READY 상태입니다. 라우팅은 하이브리드로 게이트 정확도 96.9%를 달성했습니다. 진단은 light·mid 티어가 9섹션(기본 8 + 의도-실제 드리프트 1), deep 티어가 16섹션이며 Well-Architected에 매핑되고 DOCX/PDF로 뽑을 수 있습니다. UX 쪽은 3-테마·모바일 대응에 더해 한국어/English/中文/日本語 4개 언어를 완전히 지원합니다 — 일본어는 최근 복원되어 전체 화면 번역 커버리지 점검까지 마쳤습니다.\n\n\n이게 어떤 가치를 만드는지 보겠습니다.", 8: "⏸️ [3min] 두 가지 관점에서 가치를 드립니다.\n\nDevOps나 SRE 분들에게는 콘솔 호핑 없이 한 화면에서 모든 리소스를 보고, AI에게 자연어로 질문하면 됩니다. \"이 EC2 인스턴스가 왜 느려?\"라고 물으면 CloudWatch 메트릭을 확인하고, 네트워크 경로를 분석하고, 관련 로그를 찾아줍니다. 모두 읽기 전용이고, 응답은 스트리밍으로 흐릅니다. Topology와 EKS 읽기 전용 뷰에 더해, NFM 트래픽 top-contributor와 E2E hop path, Direct Connect 피크 사용률·BGP 라우트, DNS·IP·VPC 엔드포인트·Network Firewall까지 네트워크 6종 메뉴가 같은 대시보드에 통합되어 있습니다. Prometheus·Loki·Tempo 같은 데이터소스 Explore도 함께 제공합니다.\n\n\n\nFinOps나 Management 분들에게는 읽기 전용 비용 분석과 rightsizing 인사이트를 드립니다. 중요한 건 권고만 제시하고 자동으로 바꾸지 않는다는 점입니다. 그리고 종합진단 리포트를 light·mid 티어 9섹션, deep 티어 16섹션으로 만들고, Well-Architected에 매핑해 DOCX와 PDF로 내보냅니다. 무거운 생성 작업은 비동기 워커가 처리하므로 수작업 2-3일이 사라집니다.\n\n\n가장 중요한 차별점을 보겠습니다.", 9: "[1min] [요약]\n• Cmd-K로 어디서든 키보드 이동\n• 한/영/中/日 4개 언어, 최근 일본어 복원 + 전체 커버리지 점검\n\nCmd-K 커맨드 팔레트로 마우스 없이 전체 화면을 이동할 수 있고, 한국어·English·中文·日本語 4개 언어를 완전히 지원합니다. 일본어는 최근 복원되면서 전체 화면 번역 커버리지 점검도 함께 마쳤습니다.\n\n\n가장 중요한 차별점을 보겠습니다.", - 10: "❓ [3min] AWSops의 차별점은 세 가지로 압축됩니다.\n\n첫째, In-Account Bedrock AI입니다. AI 추론을 고객 AWS 계정 안의 Bedrock에서 직접 호출합니다. OpenAI 같은 외부 AI SaaS API를 쓰지 않으므로 데이터가 계정 밖으로 나가지 않습니다. 금융, 공공, 의료처럼 데이터 주권이 중요한 환경에 적합합니다.\n\n둘째, 읽기 전용 운영 태세입니다. ADR-005 기준으로 AWS 리소스 변경과 자율 실행은 동결(FROZEN, 새 명시적 결정 전까지)되어 있습니다. AI가 진단하고 권고할 뿐 직접 바꾸지 않으므로, 설계 단계에서부터 안전합니다. \"read-only\"는 AWS 리소스에 한정된 정의이고, 외부 관측성 데이터소스의 읽기/쓰기는 ADR-007 거버넌스 하에 별도로 허용됩니다.\n\n셋째, AI 종합진단 리포트입니다. Well-Architected에 매핑된 light·mid 9섹션, deep 16섹션 리포트를 비동기 워커가 생성하고 DOCX와 PDF로 내보냅니다.\n\n\n외부 AI SaaS에 운영 데이터를 보내는 게 부담스러웠던 분 계시죠? AWSops는 그 경로 자체가 없습니다.\n\n\n이제 아키텍처를 자세히 살펴보겠습니다.", + 10: "❓ [3min] AWSops의 차별점은 세 가지로 압축됩니다.\n\n첫째, In-Account Bedrock AI입니다. AI 추론을 고객 AWS 계정 안의 Bedrock에서 직접 호출합니다. OpenAI 같은 외부 AI SaaS API를 쓰지 않으므로 데이터가 계정 밖으로 나가지 않습니다. 금융, 공공, 의료처럼 데이터 주권이 중요한 환경에 적합합니다.\n\n둘째, 읽기 전용 운영 태세입니다. AWS 리소스 변경과 자율 실행은 동결(FROZEN)되어 있습니다. AI가 진단하고 권고할 뿐 직접 바꾸지 않으므로, 설계 단계에서부터 안전합니다. \"read-only\"는 AWS 리소스에 한정된 정의이고, 외부 관측성 데이터소스의 읽기/쓰기는 거버넌스 하에 별도로 허용됩니다.\n\n셋째, AI 종합진단 리포트입니다. Well-Architected에 매핑된 light·mid 9섹션, deep 16섹션 리포트를 비동기 워커가 생성하고 DOCX와 PDF로 내보냅니다.\n\n\n외부 AI SaaS에 운영 데이터를 보내는 게 부담스러웠던 분 계시죠? AWSops는 그 경로 자체가 없습니다.\n\n\n이제 아키텍처를 자세히 살펴보겠습니다.", 11: "[2min] 첫 번째 파트를 정리하겠습니다.\n\nAWSops는 처음 세운 5가지 목표를 하나의 대시보드 안에서 동시에 해결합니다.\n가시성은 Overview·Topology·Monitoring에 NFM·Direct Connect를 포함한 네트워크 6종 메뉴까지 통합해서, FinOps는 읽기 전용 비용 분석과 Rightsizing으로, Well-Architected 점검은 자동 생성되는 종합진단 리포트로, 보안성은 Security Findings와 CIS Compliance로, 장애 대응은 AI가 메트릭·로그·트레이스·NFM 경로를 함께 교차 분석하는 것으로 풀었습니다.\n\n그리고 가장 중요한 것은, AI 추론을 고객 계정 안 Bedrock에서 돌리고, AWS 리소스 변경과 자율 실행은 동결한 읽기 전용 태세라는 점입니다. 설계상 안전합니다.\n\n\n5분 쉬고 아키텍처를 자세히 보겠습니다." }; const deck = new SlideFramework({ diff --git a/docs-site/static/presentation/awsops-intro/01-why-awsops.md b/docs-site/static/presentation/awsops-intro/01-why-awsops.md index 488c1c20a..6c7775d46 100644 --- a/docs-site/static/presentation/awsops-intro/01-why-awsops.md +++ b/docs-site/static/presentation/awsops-intro/01-why-awsops.md @@ -213,7 +213,7 @@ AWSops는 이 4가지 문제를 동시에 해결합니다.
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 + 섹션 에이전트
하이브리드 라우팅
@@ -274,7 +274,7 @@ AWSops는 3개 레이어로 구성됩니다. {cue: pause} Data Layer는 Aurora Serverless v2가 중심입니다. PostgreSQL 17 기반으로 worker 작업, chat 스레드, 진단 리포트 같은 영속 상태를 안전하게 저장합니다. 인벤토리는 flag로 켜는 Steampipe sync가 41종 리소스 타입을 Aurora로 동기화해 화면에 보여주는 보조 역할입니다. 라이브 조회 엔진이 아니라 인벤토리 캐시라는 점이 핵심입니다. -AI Engine은 Bedrock입니다. Opus 4.8, Sonnet 5, Haiku 4.5를 상황에 맞게 쓰고, AgentCore는 9개 섹션 게이트웨이(8개 AWS 도메인 + external-obs)로 설계되어 160개 이상의 읽기 전용 도구를 갖췄고, 함대 배포가 완료되어 30개 슬라이스 전부, 9개 게이트웨이 전부 READY MCP 타깃을 보유하고 있습니다. 라우팅은 ADR-003 하이브리드 방식으로 빠르고 정확합니다. +AI Engine은 Bedrock입니다. Opus 4.8, Sonnet 5, Haiku 4.5를 상황에 맞게 쓰고, AgentCore는 9개 섹션 게이트웨이(8개 AWS 도메인 + external-obs)로 설계되어 160개 이상의 읽기 전용 도구를 갖췄고, 함대 배포가 완료되어 30개 슬라이스 전부, 9개 게이트웨이 전부 READY MCP 타깃을 보유하고 있습니다. 라우팅은 하이브리드 방식으로 빠르고 정확합니다. Dashboard는 Next.js 14 thin-BFF입니다. Overview, AI Diagnosis, Assistant, Security, Compliance, Topology, Monitoring, Accounts, Integrations, Jobs, Customization까지 하나의 대시보드로 통합되어 있고, 화면에 보이는 스크린샷처럼 실제 라이브 v2 환경입니다. 무거운 작업은 비동기 워커 티어로 넘깁니다. @@ -320,7 +320,7 @@ Dashboard는 Next.js 14 thin-BFF입니다. Overview, AI Diagnosis, Assistant, Se | **Compute** | ECS Fargate | web thin-BFF + OOM-safe 비동기 워커 티어 (arm64) | | **Data** | Aurora Serverless v2 | PostgreSQL 17 영속 상태 + 41종 인벤토리 sync | | **AI Tools** | 9 게이트웨이 설계 (160+ 도구) · 30개 슬라이스 전부 LIVE | AgentCore 섹션 에이전트 (모두 read-only; 9개 게이트웨이 전부 READY MCP 타깃) | -| **AI Routing** | ADR-003 하이브리드 | regex fast-path + Haiku 분류기, 게이트 96.9% | +| **AI Routing** | 하이브리드 | regex fast-path + Haiku 분류기, 게이트 96.9% | | **Diagnosis** | light·mid 9 / deep 16 섹션 | Well-Architected 매핑, DOCX/PDF 내보내기 | | **UX** | 3-테마 + 모바일 + 4개 언어 | 반응형 대시보드 + Cmd-K + 한/영/中/日 i18n | @@ -332,7 +332,7 @@ Dashboard는 Next.js 14 thin-BFF입니다. Overview, AI Diagnosis, Assistant, Se 데이터는 Aurora Serverless v2, PostgreSQL 17로 영속 상태를 보관하고, 인벤토리는 41종 리소스 타입을 sync합니다. -AI는 9개 섹션 게이트웨이(8개 AWS 도메인 + external-obs)에 160개 이상의 읽기 전용 도구가 설계되어 있고, 30개 슬라이스 전부 함대 배포되어 9개 게이트웨이 전부 READY 상태입니다. 라우팅은 ADR-003 하이브리드로 게이트 정확도 96.9%를 달성했습니다. 진단은 light·mid 티어가 9섹션(기본 8 + 의도-실제 드리프트 1), deep 티어가 16섹션이며 Well-Architected에 매핑되고 DOCX/PDF로 뽑을 수 있습니다. UX 쪽은 3-테마·모바일 대응에 더해 한국어/English/中文/日本語 4개 언어를 완전히 지원합니다 — 일본어는 최근 복원되어 전체 화면 번역 커버리지 점검까지 마쳤습니다. +AI는 9개 섹션 게이트웨이(8개 AWS 도메인 + external-obs)에 160개 이상의 읽기 전용 도구가 설계되어 있고, 30개 슬라이스 전부 함대 배포되어 9개 게이트웨이 전부 READY 상태입니다. 라우팅은 하이브리드로 게이트 정확도 96.9%를 달성했습니다. 진단은 light·mid 티어가 9섹션(기본 8 + 의도-실제 드리프트 1), deep 티어가 16섹션이며 Well-Architected에 매핑되고 DOCX/PDF로 뽑을 수 있습니다. UX 쪽은 3-테마·모바일 대응에 더해 한국어/English/中文/日本語 4개 언어를 완전히 지원합니다 — 일본어는 최근 복원되어 전체 화면 번역 커버리지 점검까지 마쳤습니다. {cue: transition} 이게 어떤 가치를 만드는지 보겠습니다. @@ -432,7 +432,7 @@ Cmd-K 커맨드 팔레트로 마우스 없이 전체 화면을 이동할 수 있
🔒
Read-Only Posture
-
AWS 리소스 변경·자율 실행 동결
ADR-005 (FROZEN) / ADR-007 — 설계상 안전
+
AWS 리소스 변경·자율 실행 동결
설계상 안전
📊
@@ -448,7 +448,7 @@ AWSops의 차별점은 세 가지로 압축됩니다. 첫째, In-Account Bedrock AI입니다. AI 추론을 고객 AWS 계정 안의 Bedrock에서 직접 호출합니다. OpenAI 같은 외부 AI SaaS API를 쓰지 않으므로 데이터가 계정 밖으로 나가지 않습니다. 금융, 공공, 의료처럼 데이터 주권이 중요한 환경에 적합합니다. -둘째, 읽기 전용 운영 태세입니다. ADR-005 기준으로 AWS 리소스 변경과 자율 실행은 동결(FROZEN, 새 명시적 결정 전까지)되어 있습니다. AI가 진단하고 권고할 뿐 직접 바꾸지 않으므로, 설계 단계에서부터 안전합니다. "read-only"는 AWS 리소스에 한정된 정의이고, 외부 관측성 데이터소스의 읽기/쓰기는 ADR-007 거버넌스 하에 별도로 허용됩니다. +둘째, 읽기 전용 운영 태세입니다. AWS 리소스 변경과 자율 실행은 동결(FROZEN)되어 있습니다. AI가 진단하고 권고할 뿐 직접 바꾸지 않으므로, 설계 단계에서부터 안전합니다. "read-only"는 AWS 리소스에 한정된 정의이고, 외부 관측성 데이터소스의 읽기/쓰기는 거버넌스 하에 별도로 허용됩니다. 셋째, AI 종합진단 리포트입니다. Well-Architected에 매핑된 light·mid 9섹션, deep 16섹션 리포트를 비동기 워커가 생성하고 DOCX와 PDF로 내보냅니다. @@ -473,7 +473,7 @@ AWSops의 차별점은 세 가지로 압축됩니다. - **③ 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 +- **핵심 차별점** → In-account Bedrock AI + 읽기 전용 태세 + 4개 언어 UX :::notes {timing: 2min} diff --git a/docs-site/static/presentation/awsops-intro/03-demo-scenarios.html b/docs-site/static/presentation/awsops-intro/03-demo-scenarios.html index 889e5abcc..cee5936c3 100644 --- a/docs-site/static/presentation/awsops-intro/03-demo-scenarios.html +++ b/docs-site/static/presentation/awsops-intro/03-demo-scenarios.html @@ -431,7 +431,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)

@@ -636,7 +636,7 @@

스케줄 진단 (diagnosis_schedule_enabled)

  • report_schedules 테이블 — 주간 / 격주 / 월간 (next_run_at 기준)
  • hourly schedule_dispatcher — 스캔 후 report job enqueue
  • v1 report-scheduler.ts 패턴 승계

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

-
  • diagnosis_digest.py — notified_at IS NULL 리포트를 ~15분 배치로 묶어 SNS 1건 발송 (workers_enabled && diagnosis_notify_enabled 게이트로 이미 main 병합·라이브 배포됨; ADR-13이 승인한 건 스케줄 요약뿐이라 수동 실행분까지 묶는 현재 범위는 ADR 정리 대상)
  • 완료 즉시 개별 발송(per-report) 방식 폐기 — 폭주 방지(하루 44건 → 1건)
  • PII 스크러빙 — Bedrock 호출 전 ARN·계정ID·이메일·IP·액세스키를 결정론적으로 마스킹 (현재 라이브)
+
  • diagnosis_digest.py — notified_at IS NULL 리포트를 ~15분 배치로 묶어 SNS 1건 발송 (workers_enabled && diagnosis_notify_enabled 게이트로 이미 main 병합·라이브 배포됨; 승인된 범위는 스케줄 요약뿐이지만 현재 구현은 수동 실행분까지 묶음 — 후속 정리 대상)
  • 완료 즉시 개별 발송(per-report) 방식 폐기 — 폭주 방지(하루 44건 → 1건)
  • PII 스크러빙 — Bedrock 호출 전 ARN·계정ID·이메일·IP·액세스키를 결정론적으로 마스킹 (현재 라이브)
@@ -711,7 +711,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

@@ -779,8 +779,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. 어시스턴트에서 질문 시작
    @@ -810,15 +810,15 @@

    권장사항만 제시 · **자동 적용 없음** -> (mutating 설치 버튼은 **ADR-005**로 동결 — do-not-enable) +> (mutating 설치 버튼은 동결 — do-not-enable) ::: @@ -528,7 +528,7 @@ EKS 워크로드는 read-only 메트릭으로 request 대비 실사용량을 비 {timing: 1min} {cue: emphasis} -여기서 중요한 점은, AWSops는 권장사항만 제시한다는 것입니다. 어떤 변경도 자동으로 적용하지 않습니다. 과거 설계에 있던 OpenCost mutating 설치 버튼은 **ADR-005**(AWS 리소스 변경·자율 조치 = FROZEN)로 동결됐습니다. 진단과 권고까지가 AWSops의 역할이고, 적용 결정과 실행은 운영자의 몫입니다. +여기서 중요한 점은, AWSops는 권장사항만 제시한다는 것입니다. 어떤 변경도 자동으로 적용하지 않습니다. 과거 설계에 있던 OpenCost mutating 설치 버튼은 AWS 리소스 변경·자율 조치 동결(FROZEN) 원칙에 따라 동결됐습니다. 진단과 권고까지가 AWSops의 역할이고, 적용 결정과 실행은 운영자의 몫입니다. {cue: transition} 다음은 인벤토리와 유휴 리소스 점검입니다. @@ -785,7 +785,7 @@ AI 종합진단 리포트는 AWSops의 플래그십 기능입니다. 전부 read {cue: pause} -실행은 비동기 워커 티어에서 일어납니다. 웹은 thin-BFF라 무거운 작업을 직접 돌리지 않고 워커 큐에 넣는데, 진단 잡은 범용 `POST /api/jobs`가 아니라 소유권을 검사하는 전용 라우트 `/api/diagnosis`로 제출합니다(ADR-009, IDOR 방지 — 범용 라우트는 `noop` 계열만 허용). SQS, Step Functions, Lambda 또는 Fargate 워커가 받아서 섹션을 분석합니다. 진행 상황은 SSE로 실시간 표시됩니다. "3/16 Security Posture 분석 중" 같은 상태가 클라이언트에 흐릅니다. +실행은 비동기 워커 티어에서 일어납니다. 웹은 thin-BFF라 무거운 작업을 직접 돌리지 않고 워커 큐에 넣는데, 진단 잡은 범용 `POST /api/jobs`가 아니라 소유권을 검사하는 전용 라우트 `/api/diagnosis`로 제출합니다(IDOR 방지 — 범용 라우트는 `noop` 계열만 허용). SQS, Step Functions, Lambda 또는 Fargate 워커가 받아서 섹션을 분석합니다. 진행 상황은 SSE로 실시간 표시됩니다. "3/16 Security Posture 분석 중" 같은 상태가 클라이언트에 흐릅니다. {cue: transition} 완성된 리포트 화면을 보겠습니다. @@ -896,7 +896,7 @@ DOCX는 python-docx로, PDF는 chromium과 playwright로 렌더링합니다. 한 ### 알림 다이제스트 (병합·배포 완료) -- **`diagnosis_digest.py`** — `notified_at IS NULL` 리포트를 ~15분 배치로 묶어 SNS 1건 발송 (`workers_enabled && diagnosis_notify_enabled` 게이트로 이미 main 병합·라이브 배포됨; ADR-13이 승인한 건 스케줄 요약뿐이라 수동 실행분까지 묶는 현재 범위는 ADR 정리 대상) +- **`diagnosis_digest.py`** — `notified_at IS NULL` 리포트를 ~15분 배치로 묶어 SNS 1건 발송 (`workers_enabled && diagnosis_notify_enabled` 게이트로 이미 main 병합·라이브 배포됨; 승인된 범위는 스케줄 요약뿐이지만 현재 구현은 수동 실행분까지 묶음 — 후속 정리 대상) - 완료 즉시 개별 발송(per-report) 방식 폐기 — 폭주 방지(하루 44건 → 1건) - **PII 스크러빙** — Bedrock 호출 전 ARN·계정ID·이메일·IP·액세스키를 결정론적으로 마스킹 (현재 라이브) @@ -1106,7 +1106,7 @@ EKS 화면도 read-only지만 이제 완전한 메뉴 패밀리입니다. fleet # 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 스캔 집계). :::html
    @@ -1124,11 +1124,11 @@ EKS 화면도 read-only지만 이제 완전한 메뉴 패밀리입니다. fleet :::notes {timing: 2min} [요약] -• ADR-011 — 멀티 계정은 STS AssumeRole read-only fan-out, ExternalId는 1st-party 옵션·3rd-party 필수 +• 멀티 계정은 STS AssumeRole read-only fan-out, ExternalId는 1st-party 옵션·3rd-party 필수 • Security 페이지에 CVE Severity Distribution donut(ECR 스캔 집계)이 추가됨 • Compliance 벤치마크도 계정 단위로 스코핑되어 실행/이력 관리 -멀티 계정 지원은 ADR-011을 기준으로 합니다. 각 대상 계정에 STS AssumeRole로 read-only fan-out하고, ExternalId는 host ARN이 고정되는 1st-party 계정은 옵션, 신뢰 관계가 약한 3rd-party 계정은 필수입니다. +멀티 계정은 다음과 같이 지원합니다. 각 대상 계정에 STS AssumeRole로 read-only fan-out하고, ExternalId는 host ARN이 고정되는 1st-party 계정은 옵션, 신뢰 관계가 약한 3rd-party 계정은 필수입니다. {cue: pause} @@ -1233,9 +1233,9 @@ EKS 화면도 read-only지만 이제 완전한 메뉴 패밀리입니다. fleet ::: right -### Read-Only 자세 (ADR-005/007) +### Read-Only 자세 -- **AWS-리소스 변경 + 자율 = 동결** (ADR-005, do-not-enable) +- **AWS-리소스 변경 + 자율 = 동결** (do-not-enable) - 외부 관측성 **READ** 허용 - 외부 기록 / 티켓 / 메시지 **WRITE** 는 거버넌스 하 허용 - SSRF · Secrets · DLP · human-gate · flag-OFF @@ -1262,7 +1262,7 @@ AWSops를 정리하면, read-only AWS 운영 대시보드에 AI 진단을 결합 {cue: emphasis} -가장 중요한 원칙은 read-only 자세입니다. ADR-007(keystone) 기준으로 read-only는 AWS **리소스**에 한정되고, AWS 리소스 변경과 자율 실행은 ADR-005로 동결(새 명시적 결정 전까지, 영구 아님)입니다. 다만 외부 관측성 데이터를 읽고, 외부 기록이나 티켓, 메시지를 쓰는 것은 SSRF 방어, Secrets 관리, DLP, human-gate, flag-OFF 같은 거버넌스 아래에서 허용됩니다. 변경되는 것은 데이터일 뿐, AWS 리소스가 아닙니다. +가장 중요한 원칙은 read-only 자세입니다. read-only는 AWS **리소스**에 한정되고, AWS 리소스 변경과 자율 실행은 동결(새 명시적 결정 전까지, 영구 아님)입니다. 다만 외부 관측성 데이터를 읽고, 외부 기록이나 티켓, 메시지를 쓰는 것은 SSRF 방어, Secrets 관리, DLP, human-gate, flag-OFF 같은 거버넌스 아래에서 허용됩니다. 변경되는 것은 데이터일 뿐, AWS 리소스가 아닙니다. 시작은 간단합니다. configure하고 Terraform을 apply한 뒤 deploy하고, Cognito 사용자를 추가해 `/login`으로 들어오면 됩니다. diff --git a/docs-site/static/presentation/awsops-intro/assets/compliance-benchmark-flow.svg b/docs-site/static/presentation/awsops-intro/assets/compliance-benchmark-flow.svg index 482722ccf..aa0dc7f80 100644 --- a/docs-site/static/presentation/awsops-intro/assets/compliance-benchmark-flow.svg +++ b/docs-site/static/presentation/awsops-intro/assets/compliance-benchmark-flow.svg @@ -54,7 +54,7 @@ - READ-ONLY — no remediation (ADR-005/007) + READ-ONLY — no remediation diff --git a/docs-site/static/presentation/awsops-intro/assets/security-findings-pipeline.svg b/docs-site/static/presentation/awsops-intro/assets/security-findings-pipeline.svg index 315110a2e..238a5545c 100644 --- a/docs-site/static/presentation/awsops-intro/assets/security-findings-pipeline.svg +++ b/docs-site/static/presentation/awsops-intro/assets/security-findings-pipeline.svg @@ -78,7 +78,7 @@ STS AssumeRole read-only fan-out - per ADR-011 + per account diff --git a/docs-site/static/presentation/awsops-intro/awsops-intro.pptx b/docs-site/static/presentation/awsops-intro/awsops-intro.pptx index dc8199c7f..d5ba7bf3e 100644 Binary files a/docs-site/static/presentation/awsops-intro/awsops-intro.pptx and b/docs-site/static/presentation/awsops-intro/awsops-intro.pptx differ diff --git a/docs-site/static/presentation/awsops-intro/index.html b/docs-site/static/presentation/awsops-intro/index.html index c9518e3c8..bf9fd3309 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
    @@ -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)

    • report_schedules 테이블 — 주간 / 격주 / 월간 (next_run_at 기준)
    • hourly schedule_dispatcher — 스캔 후 report job enqueue
    • v1 report-scheduler.ts 패턴 승계

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

-
  • diagnosis_digest.py — notified_at IS NULL 리포트를 ~15분 배치로 묶어 SNS 1건 발송 (workers_enabled && diagnosis_notify_enabled 게이트로 이미 main 병합·라이브 배포됨; ADR-13이 승인한 건 스케줄 요약뿐이라 수동 실행분까지 묶는 현재 범위는 ADR 정리 대상)
  • 완료 즉시 개별 발송(per-report) 방식 폐기 — 폭주 방지(하루 44건 → 1건)
  • PII 스크러빙 — Bedrock 호출 전 ARN·계정ID·이메일·IP·액세스키를 결정론적으로 마스킹 (현재 라이브)
+
  • diagnosis_digest.py — notified_at IS NULL 리포트를 ~15분 배치로 묶어 SNS 1건 발송 (workers_enabled && diagnosis_notify_enabled 게이트로 이미 main 병합·라이브 배포됨; 승인된 범위는 스케줄 요약뿐이지만 현재 구현은 수동 실행분까지 묶음 — 후속 정리 대상)
  • 완료 즉시 개별 발송(per-report) 방식 폐기 — 폭주 방지(하루 44건 → 1건)
  • PII 스크러빙 — Bedrock 호출 전 ARN·계정ID·이메일·IP·액세스키를 결정론적으로 마스킹 (현재 라이브)
@@ -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,12 +1506,12 @@