Landing Zone Accelerator
이번 장에서는 AWS의 Landing Zone Accelerator에 대해서 알아본다.
개요
- Landing Zone Accelerator(이하 Accelerator) 솔루션은 AWS 모범 사례와 다수의 글로벌 규정 준수하는 프레임워크를 준수하도록 설계된 클라우드 기반을 쉽게 배포할 수 있도록 도움을 준다.
- 엄격한 규제를 받는 워크로드가 있는 경우 사용자들은 복잡한 규정을 준수해야 하는데, Accelerator을 통해 다중 계정 환경에 대한 관리 및 거버넌스를 개선할 수 있다.
- 아래의 다이어그램은 Accelerator를 통해 AWS CloudFormation 템플릿을 사용하여 자동으로 배포할 수 있는 아키텍처를 보여준다.
AWS 아키텍처 기반 Landing Zone Accelerator
- CloudFormation을 사용하여 사전 요구 사항을 충족하는 환경에 솔루션을 배포해야 한다.
- 제공된 CloudFormation 템플릿은 Accelerator 설치 엔진이 포함된 AWS Pipeline을 배포한다.
- 설치 프로그램 파이프라인은 솔루션의 Core 기능을 배포한다.
- 이 설치 프로그램은 Core 솔루션 인프라와 따로 작동하므로 AWS CloudFormation 콘솔에서 파라미터 1개로 솔루션의 향후 버전을 업데이트할 수 있다.
- AWS CodeBuild 프로젝트는 솔루션의 AWS CDK 애플리케이션 애플리케이션을 구축하고 실행하는 오케스트레이션 엔진으로 작동한다.
- Accelerator는 Core 파이프라인 이벤트에 대한 알림을 구독하여 Core 파이프라인 운영에 대한 관측성을 개선할 수 있는 Amazon Simple Notification Service(SNS) 주제를 배포한다.
- Accelerator는 설치 프로그램 및 Core 파이프라인 종속성의 저장 시 암호화를 관리하기 위한 AWS KMS 고객 관리형 키 2개를 배포한다.
- Core 파이프라인은 입력을 검증 및 합성하고 AWS SDK를 통해 추가 CloudFormation 스택을 배포한다.
- AWS CodeCommit 리포지토리는 솔루션에 사용되는 구성 파일을 저장한다.
- AWS CodeBuild 프로젝트는 솔루션의 AWS CDK 애플리케이션 구성을 컴파일하고 검증한다.
- 솔루션 구성 파일에 정의된 리소스는 다수 AWS CodeBuild 배포 단계에서 고객의 다중 계정 환경에 배포된다.
- 필요한 경우 수동 검토 단계를 포함하여 이러한 단계에서 적용될 모든 변경 사항을 모니터링할 수 있다.
- Accelerator는 AWS Control Tower 수명 주기 이벤트를 모니터링하여 정상적인 상태가 아닌 잠재적 드리프트(실제 구성이 예상된 구성과 다른 경우)를 감지하는 리소스를 배포한다.
- Accelerator는 신규 AWS 계정을 다중 계정 환경에 자동으로 등록하는 리소스도 배포한다.
- Accelerator를 AWS Control Tower와 함께 사용하는 경우, AWS Control Tower 환경의 계정 조직 및 조직 단위(OU)가 적절하게 등록되었는지 확인해야 한다.
- Accelerator는 다중 계정 환경의 로그 아카이브 계정에 중앙 집중식 로깅 리소스를 배포한다.
- 로그 스트리밍 및 수집을 위한 Amazon Kinesis 리소스, 저장 시 암호화를 용이하게 하는 AWS KMS 키 및 로그 스토리지 대상으로 사용되는 S3 버킷이 포함된다.
- 솔루션의 구성 파일을 통해 인프라를 추가하여 다중 계정 환경에 워크로드 계정을 등록하고 프로비저닝할 수 있다.
- 최소한 새로운 계정은 CloudWatch 로그 그룹을 아카이브 계정의 중앙 집중식 로깅 인프라로 스트리밍하는 리소스와 함께 프로비저닝된다.
모범 사례 구성
- Accelerator 모범 사례를 구성하면 다중 계정 환경에서 계정, 인프라 및 보안 가드레일을 신속하게 배포할 수 있다.
- 리포지토리에는 표준 및 AWS GovCloud 리전에서 사용자 지정 가능한 6개의 YAML 파일 각각에 대한 샘플 구성이 포함되어 있다.
- Accelerator와 함께 사용할 경우 모범 사례 구성은 기본 보안 및 네트워크 아키텍처를 배포하지만, 비즈니스의 규정 준수 요구 사항에 맞게 기준선을 추가로 사용자 지정해야 할 수 있다.
- Accelerator는 AWS SRA의 완전 자동화된 구현이며 조직의 보안, 네트워킹 및 규정 준수 요구 사항에 맞게 랜딩 영역을 지정할 수 있는 유연성을 추가로 제공한다.
조직 계정 구조 모범 사례
- 모범 사례 구성은 AWS SRA
organization-config.yaml
와accounts-config.yaml
일치하는 조직 계정 구조를 배포한다.
- “Root OU”에는 관리 계정이 있다.
- Accelerator 솔루션은 이 계정에 설치되고 모든 계정에서 AWS CDK를 통해 CloudFormation 스택을 오케스트레이션한다.
- “Security OU”에는 로그 아카이브 및 감사 계정이 있다.
- AWS Control Tower를 사용하는 경우 Security OU와 계정이 자동으로 설정된다.
- AWS Control Tower는 또한 조직의 나머지 부분을 관리하기 위해 이러한 계정에 추가 제어 및 가드레일을 설정한다.
- “Infrastructure OU”에는 네트워크 및 Shared Services 계정이 있다.
- 중앙 네트워크 계정은 조직의 핵심 네트워크 인프라를 중앙에서 보관하고 관리한다.
- Transit Gateway, Amazon VPC 및 AWS Direct Connect와 같은 하이브리드 네트워킹 리소스 또는 AWS 사이트 간 가상 사설망(AWS Site-to-Site VPN) 연결은 일반적으로 이 계정에 배포된다.
- Shared Services 계정은 조직에서 공유해야 하는 핵심 네트워크 인프라 이외의 리소스가 있는 조직에서 일반적으로 사용되는 패턴이다.
- “추가 워크로로드 계정”은
accounts-config.yaml
파일에 정의된다.organization-config.yaml
및accounts-config.yaml
파일을 통해 추가 워크로드 계정을 자체 OU 구조에 배포할 수 있다.- 다른 솔루션 구성 파일에 정의된 구성에 따라 이러한 계정에 추가 네트워크 인프라 및 보안 가드레일을 적용하도록 선택할 수도 있다.
- 솔루션을 계정 프로비저닝을 위한 중앙 집중식 관리 지점으로 사용하면 새 계정이 보안 및 네트워크 기준을 충족하는지 확인할 수 있다.
네트워킹 모범 사례
network-config.yaml
모범 사례 구성은 추가 인프라를 사용자 지정하고 구축하는 데 사용할 수 있는 다양한 중앙 집중식 네트워킹 구조를 설정하기 위한 것이다.- 특정 IP 주소 범위 AWS Transit Gateway 라우팅 구성, Amazon Route 53 Resolver 와 같은 고급 기능, Amazon VPC IP 주소 관리자 및 AWS 네트워크 방화벽 추가 사용자 지정이 필요할 수 있다.
- 솔루션은 이러한 구성 항목을 기본적으로 배포하지 않고, 리소스로서 조직의 요구 사항에 맞게 사용자 지정할 수 있도록 모범 사례 구성 파일을 주석으로 구성 항목의 예시를 제공한다.
- Accelerator 솔루션은 AWS Direct Connect를 통해 선택적 하이브리드 연결을 제공한다.
- AWS Site-to-Site VPN은 온프레미스 데이터 센터와 하이브리드 연결을 위한 또 다른 옵션이다.
- AWS 환경에 대한 하이브리드 연결을 위해 이 인프라를 배포하도록 선택할 수 있고, Direct Connect Gateway(or AWS VPN)는 온프레미스 네트워크와 클라우드 네트워크 간의 통신을 허용하는 중앙 AWS와 연결된다.
- “Inspection VPC”는 심층 패킷 검사를 위한 중앙 지점을 제공한다.
- 선택적으로 이 VPC를 사용하여 네트워크 방화벽 또는 타사 침입 탐지 시스템(IDS)/침입 방지 시스템(IPS) 어플라이언스를 중앙에서 관리할 수 있고, Gateway Load Balancer를 사용할 수도 있다.
- Gateway Load Balancer는 AWS Network Firewall 배포에 필요하지 않다.
- 중앙 집중식 패턴으로 VPC 엔드포인트를 설계하면 중앙 엔드포인트 VPC에서 환경의 여러 VPC 엔드포인트에 액세스할 수 있다.
- 이를 통해 여러 워크로드 VPC에 인터페이스 엔드포인트를 배포하는 비용 및 관리 오버헤드를 절약할 수 있다.
- 이 솔루션은 이러한 엔드포인트 및 해당 종속성의 중앙 집중화를 관리하기 위한 구성을 배포한다.
- 중앙 Transit Gateway는 단일 위치에서 여러 Amazon VPC 및 하이브리드 네트워크를 연결할 수 있는 가상 라우터를 제공한다.
- 이를 Transit Gateway 라우팅 테이블을 통한 라우팅 패턴과 함께 사용하여 네트워크 격리, 중앙 집중식 검사 및 규정 준수 요구에 필요한 기타 전략을 달성할 수 있다.
- 선택적으로 AWS Resource Access Manager(RAM)를 사용할 수 있다.
- 네트워킹 리소스를 다른 코어 및 워크로드 OU 또는 계정과 공유한다.
- 예를 들어, 네트워크 계정에서 생성된 네트워크 방화벽 정책을 애플리케이션 VPC 내에서 세분화된 네트워크 액세스 제어 및 심층 패킷 검사가 필요한 워크로드 계정과 공유할 수 있다.
- Shared Service 계정 및 VPC는 조직이 공유해야 하는 핵심 네트워크 인프라 이외의 리소스가 있는 조직에 일반적으로 사용되는 패턴을 제공한다.
- 공유 애플리케이션, 원격 액세스(RDP/SSH) 배스천 호스트 또는 공용 인터넷 액세스가 필요한 기타 리소스를 위한 선택적 외부 액세스 VPC는 모범 사례 구성에 포함되지 않으며 설명 목적으로만 설명된다.
- 추가 워크로드 계정에는 솔루션에서 프로비저닝할 때 배포된 애플리케이션 VPC 및 Transit Gateway 연결이 있을 수 있다.
- 이러한 워크로드 계정의 네트워크 인프라 배포는
network-config.yaml
파일에 대한 입력에 따라 달라진다.
- 이러한 워크로드 계정의 네트워크 인프라 배포는
배포 파이프라인
- AWS CloudFormation 템플릿은 연결된 종속성과 함께 두 개의 AWS CodePipeline 파이프라인, 설치 프로그램 및 핵심 배포 파이프라인을 배포한다.
- 이 솔루션은 AWS CodeBuild를 사용하여 다중 계정, 다중 리전 환경에서 지원되는 리소스 배포를 담당하는 일련의 CDK 기반 CloudFormation 스택을 구축 및 배포한다.
AWSAccelerator-InstallerStack
AWSAccelerator-PipelineStack
AWS CloudFormation Template의 빌드 및 배포 오케스트레이션을 하는데AWSAccelerator-Installer
가 사용된다.AWSAccelerator-PipelineStack
AWS CodeBuild 프로젝트는 파이프라인 내에서 오케스트레이션 엔진으로 사용되어 AWS 소스 코드에 Accelerator를 구축한 다음 CloudFormation 템플릿을 합성 및 배포한다.- 파이프라인 아티팩트 스토리지에는 Amazon S3 버킷이 사용된다.
- AWS KMS key는
AWSAccelerator-InstallerStack
과AWSAccelerator-PipelineStack
배포된 해당 리소스에 대해 미사용 암호화를 활성화하는 데 사용된다. - CodePipeline과 CodeBuild가 작업을 수행하도록 IAM Role을 지원한다.
AWSAccelerator-PipelineStack
AWSAccelerator-Pipeline
는 CDK를 통한 추가 CloudFormation 스택의 입력 유효성 검사, 합성 및 배포에 사용된다.- 파이프라인에는 아키텍처 세부 정보에서 설명하는 여러 단계가 포함되어 있다.
- 프로젝트는 파이프라인 단계에서 아래의 과정을 위해 사용된다.
- AWS 소스 코드에서 Accelerator를 빌드한다.
- 파이프라인 단계에서 다양한 AWS CDK toolkit 명령을 실행한다.
- AWS CodeCommit repository(
aws-accelerator-config
)는AWSAccelerator-Pipeline
의 구성파일을 저장하기 위해 사용된다. - 구성 파일은 Accelerator 솔루션 전체를 관리하기 위한 기본 메커니즘이 된다.
- 두 개의 Amazon SNS Topic이 생성되며 AWS CodePipeline 실행 알림을 위해 선택적으로 구독할 수 있고, 이러한 Topic 구독은 자동으로 생성되지 않는다.
- 생성된 Topic중 하나는 모든 파이프라인 실행 이벤트에 대해 알리지만, 다른 하나는 파이프라인 실패 이벤트에 대해서만 알린다.
AWSAccelerator-InstallerStack
의EnableApprovalStage
의 값이Yes
로 설정된 경우에 세 번째 SNS Topic이 생성되고,ApprovalStageNotifyEmailList
에 나열된 이메일 주소는 자동으로 이 Topic을 구독한다.- AWS CodePipeline 파이프라인 실행 이벤트를 SNS Topic에 알리기 위해 IAM service-linked 역할이 AWS CodeStar에 의해 생성된다.
- 파이프라인 처리 실패를 알리기 위해 CloudWatch Alarm이 생성된다.
AWSAccelerator-Installer
- Source: GitHub 리포지토리에 있는 Accelerator 소스 코드다.
- Install: CodeBuild 프로젝트는 AWS 파이프라인 CDK 프로젝트에서 Accelerator를 실행하는 데 활용되어
AWSAccelerator-PipelineStack
이 배포된다. - AWS 설치 프로그램의 Accelerator와 코어 파이프라인은 설계상 분리되어 있다.
- 핵심 파이프라인인
AWSAccelerator-Pipeline
의 배포만 지원하도록AWSAccelerator-InstallerStack
의 기능이 최소화되어있다. - AWS CloudFormation 업데이트 스택 콘솔을 통해 단일 매개변수를 업데이트하여 AWS에서 Accelerator 버전을 업데이트할 수 있다.
AWSAccelerator-Pipeline
- 이 솔류션은 CodeBuild를 파이프라인의 소스 단계 후에 완료된 각 작업에 대한 오케스트레이션 엔진으로 사용한다.
- 작업은 달리 지정되지 않는 한 AWS 관리형 AWS 계정 및 리전의 각 Accelerator에 CloudFormation 스택을 배포하는 CDK 애플리케이션을 실행한다.
- Source
- 이 단계에는 두 가지 작업이 있다.
- Source: AWS Solutions GitHub의 AWS 소스 코드의 Accelerator 저장소.
- Configuration:
aws-accelerator-config
라고 하는 Accelerator의 구성 파일 저장소.
- 이 단계에는 두 가지 작업이 있다.
- Build
- 이 단계에서는 구성 파일에 대한 입력 및 유형 검증을 포함하여 Accelerator의 소스 코드가 변환된다.
- Prepare
- 구성에 정의된 모든 AWS 계정이 필요에 따라 생성 또는 검증된다.
- AWS Control Tower를 사용하는 경우, 새 AWS 계정은 Control Tower Account Factory를 사용하여 생성되고 적절한 AWS Organizations의 OU에 등록된다.
- AWS Control Tower를 사용하여 새 OU를 생성하고 등록하는 것이 권장되지만, AWS Control Tower를 지원하지 않는 리전에 솔루션을 배포하는 경우 필요에 따라 구성에 정의된 모든 OU가 생성 또는 검증된다.
- Accounts
- 환경 전체에서 추가 계정 확인이 발생하고, 구성의 모든 계정은 AWS Organization의 일부인지 확인하기 위해 확인된다.
- 구성된 모든 AWS 조직 서비스 제어 정책(SCP)도 생성되어 이 단계에서 구성 지정 배포 대상에 연결된다.
- Bootstrap
- AWS CDK 부트스트랩이 실행되면, CDK 환경이 초기화된다.
- 솔루션별 CDK 도구 키트 CloudFormation 템플릿(
AWS Accelerator-CDKToolkit
)은 이전 부트스트랩되지 않은 모든 AWS 계정 및 리전에 배포된다. - 추가 CDK 애플리케이션을 배포하려면 CDK의 AWS 사용에서 Accelerator와의 충돌 가능성을 방지하기 위해 자체 CDK 부트스트랩 템플릿을 배포하는 것이 좋다.
- Review(optional)
- CloudFormation 템플릿에서
EnableApprovalStage
구성 파라미터를 사용하여 켜고 끌 수 있는 선택적 단계다. AWSAccelerator-InstallerStack
이 옵션을 켜면 다음 작업을 포함하는 파이프라인에 아래의 단계가 추가된다.- Diff: AWS CDK diff는 각 대상 계정 및 지역에 대해 합성된 CloudFormation 템플릿에서 실행된다. diff 결과는 CodeBuild 프로젝트의 빌드 로그에서 검토할 수 있다.
- Approve: 수동 승인 작업으로 Diff 작업에 표시된 변경 사항을 검토하고 승인 또는 거부하기 위한 게이트를 위미한다. 이 작업은 구성된 이메일 목록에 보류 중인 승인을 알리기 위해 SNS 주제에 게시한다.
- CloudFormation 템플릿에서
- Logging
- Key: 중앙 집중식 AWS KMS 키를 구성에서 감사 계정으로 지정된 AWS 계정에 배포한다.
- 이 키는 해당 리소스에 대한 미사용 암호화를 활성화하기 위해 후속 배포에서 활용된다.
- 이 솔루션은 또한 파라미터에 대한 교차 계정 읽기 액세스를 허용하는 IAM 역할과 함께 키 Amazon ARN의 값을 포함하는 System Manager 파라미터 스토어에 파라미터를 배포한다.
- Logging: 이 솔루션은 구성에서
LogArchive
로 지정된 AWS 계정에 중앙 집중식 로깅 S3 버킷, Kinesis Data Stream 및 Kinesis Data Firehorse를 배포한다. - 이 솔루션은 구성에서 활성화된 각 AWS 계정 및 리전에서 S3 서버 액세스 로깅을 위한 S3 버킷을 생성한다.
- 선택적으로 계정 수준에서 S3 퍼블릭 액세스 차단 기능을 활성화하고 구성된 각 계정 및 리전에 대해 System Manager 세션 관리자 로깅을 활성화할 수 있다.
- Key: 중앙 집중식 AWS KMS 키를 구성에서 감사 계정으로 지정된 AWS 계정에 배포한다.
- Organization
- AWS 조직 전체 리소스의 배포다.
- 이러한 리소스는 조직의 마스터 계정에서 조직의 홈 지역으로 지정된 지역에 배포된다.
- 여기에는 신뢰할 수 있는 서비스 활성화, AWS Organizations 태깅 및 백업 정책 생성, AWS 비용 및 사용 보고서에 대한 보고서 정의 생성과 같은 작업이 포함된다.
- Security_Audit
- 구성에서 감사 계정으로 지정된 AWS 계정의 중앙 집중식 보안 서비스에 대한 리소스 종속성 배포.
- 여기에는 Amazon Macie용 S3 버킷 또는 구성, Amazon GuardDuty, AWS 보안 허브, Systems Manager 자동화 문서가 포함된다.
- Deploy: 구성 파일에 정의된 대로 나머지 아키텍처를 배포하기 위해 이 단계에서 여러 작업이 완료된다.
- Network_Prepare: 후속 네트워킹 스택이 참조해야 하는 네트워크 리소스가 이 작업에 생성된다.
- AWS Transit Gateway, AWS Resource Access Manager 공유가 포함된다.
- Security: 회원 계정 보안 서비스가 구성된다.
- Operations: IAM 사용자, 그룹 및 역할이 배포된다. IAM SAML 자격 증명 공급자 구성도 구성된 경우 배포된다.
- Network_VPC: 각각 VPC 네트워킹과 관련된 3개의 스택이 배포된다.
- NetworkVpcStack: VPC, Subnet, 라우팅 테이블, 보안 그룹 및 기타 관련 리소스가 배포되고 구셩된 경우 AWS Transit Gateway 연결이 생성된다.
- NetworkVpcEndpointsStack: Route 53 resolver 엔드포인트 및 Network Firewall 엔드포인트를 포함한 VPC 엔드포인트가 배포된다.
- NetworkVpcDnsStack: Route 53 프라이빗 호스팅 영역 및 resolver 규칙이 배포된다.
- Security_Resource: AWS Config, CloudWatch 메트릭 및 경보와 같은 추가 멤버 계정 보안 서비스가 배포된다.
- Network_Associations: 두 개의 스택을 배포하며 각각은 Network_VPCs 단계에서 생성된 리소스에 의존하는 네트워크 연결과 관련된다.
- NetworkAssociationsStack: 생성할 VPC 리소스에 의존하는 네트워크 연결이 배포된다.
- NetworkAssociationsGwlbStack: 게이트웨이 로드 밸런서 VPC 엔드포인트와 같이 생성될 게이트웨이 로드 밸런서에 의존하는 네트워크 연결이 배포된다.
- Finalize: 새 계정 생성을 위해 계정 검역 기능을 사용하는 경우 이 작업 중에 검역 SCP가 제거된다.
- Network_Prepare: 후속 네트워킹 스택이 참조해야 하는 네트워크 리소스가 이 작업에 생성된다.
파이프라인 아티팩트 Amazon S3 버킷
- 기본적으로 두 개의 Amazon S3 버킷이 솔루션과 함께 생성되고, 버킷은 CodePipeline 파이프라인에 대한 아티팩트를 호스팅하는 데 사용된다.
- 원하는 경우 파이프라인 호출이 완료된 후 아티팩트를 삭제할 수 있지만 버킷 자체를 삭제해서는 안된다.
Amazon SNS Topic
- 기본적으로 두 개의 Amazon SNS Topic이 솔루션과 함께 생성된다.
- 한 가지 Topic은 모든
AWSAccelerator-Pipeline
파이프라인 이벤트에 대해 알리는 것이고, 두 번째 Topic은 파이프라인 실패시에만 사용된다. - 파이프라인 작업의 관찰 가능성을 높이기 위해 이러한 Topic을 구독하도록 선택할 수 있다.
AWSAccelerator-InstallerStack
에서EnableApprovalStage
파라미터가Yes
로 설정된 경우 선택적 세 번째 SNS Topic이 생성된다.ApprovalStageNotifyEmailList
매개변수에 쉼표로 구분된 이메일 주소 목록을 제공하여 이 SNS 주제를 자동으로 구독할 수 있다.
계정 생성 및 드리프트 감지
- 이 솔루션은 Control Tower 수명 주기 이벤트를 모니터링하는 EventBridge 규칙을 배포한다.
- 이러한 규칙은 수명 주기 이벤트에 따라 다른 작업을 수행하는 AWS Lambda 함수를 트리거한다.
AttachQuarantineScp
기능을 사용하여 구성된 경우 새로 등록된 계정에 Organizations 서비스 제어 정책(SCP)을 연결한다.- 이 솔루션은
ControlTowerOuEvents
기능을 사용하여 다중 계정 환경에서 OU에 대한 변경 사항을 감지한다.
- Lambda 함수는 다중 계정 환경에 대한 상태 저장 정보가 포함된 DynamoDB 테이블에 액세스할 수 있다.
- Lambda 함수는 이 데이터를 사용하여 알려진 양호한 상태에 대해 환경에 대한 변경 사항을 검증한다.
- 계정 생성 워크플로우는 새 계정이
accounts-config.yaml
파일에 추가될 때 준비 단계에서 호출된다.- 2개의 AWS Step Functions 상태 머신은 워크플로우를 처리한다.
- 하나는 Control Tower 기반 랜딩 존 전용이고, 다른 하나는 Organizations 기반 랜딩 존 전용이다.
- 상태 시스템은 다중 계정 환경에 대한 상태 저장 정보가 포함된 DynamoDB 테이블에 액세스할 수 있다.
- 이렇게 하면 기본 Lambda 함수가 환경을 검증하고 환경 상태를 DynamoDB 테이블에 저장할 수 있다.
- Accelerator 구성에 새 계정이 추가되면 상태 머신이 계정 생성 프로세스를 시작하고, 계정 생성 워크플로우는 솔루션이 배포된 랜딩 존 유형에 따라 다르다.
- Control Tower 기반 랜딩 존의 경우 솔루션은 Control Tower Account Factory Service Catalog 포트폴리오를 활용하여 새 계정을 프로비저닝한다.
- Organizations 기반 랜딩 존의 경우 Organizations API는 계정 생성을 호출한다.
중앙 집중식 로깅
- CloudWatch 로그 그룹 업데이트 워크프로우는 파이프라인의 로깅 단계에서 실행된다.
- CloudFormation 사용자 지정 리소스는 구성된 로그 보존 기간, CloudWatch AWS KMS 키, 구독 필터로 기존 로그 그룹을 업데이트하는 Lambda 함수를 트리거한다.
- 구독 필터의 대상은 로그 아카이브 계정에 배포된 Kinesis Data Stream이다.
- EventBridge 규칙은 코어 및 워크로드 계정에서 생성된 새로운 CloudWatch 로그 그룹을 모니터링한다.
- 새 로그 그룹이 생성되면 EventBridge 규칙은 구성된 로그 보존 기간, CloudWatch AWS KMS 키, 구독 필터로 기존 로그 그룹을 업데이트하는 Lambda 함수를 트리거한다.
- 구독 필터의 대상은 로그 아카이브 계정에 배포된 Kinesis Data Stream이다.
- 로그 그룹은 해당 로그를 Kinesis Data Stream으로 스트리밍한다.
- 데이터 스트림은 Replication AWS KMS 키를 사용하여 유휴 상태에서 암호화된다.
- 전송 스트림은 Kinesis Data Stream 및 Kinesis Data Firehose로 구성되어 로그를 변환하고 S3로 복제할 수 있다.
- Kinesis Data Firehose 전송 스트림의 대상은
aws-accelerator-central-logs
S3 버킷이다.- 이 버킷은 중앙 로깅 KMS 키를 사용하여 유휴 상태에서 암호화된다.
- 이러한 서비스는 고객 관리형 KMS 키를 지원하지 않기 때문에
aws-accelerator-s3-access-logs
및aws-accelerator-elb-access-logs
버킷은 S3 관리형 서버 측 암호화를 사용하여 유휴 상태에서 암호화된다. aws-accelerator-elb-access-logs
버킷에 전달된 로그는 S3 복제를 통해 중앙 로그 버킷에 복제된다.
핵심 관리
- Accelerator는 KMS 키를 사용하여 솔루션에서 배포한 리소스에 유휴 암호화 기능을 제공한다.
- 일부 KMS 키는 솔루션에서 관리하는 모든 계정 및 리전에 배포되는 반면 다른 키는 단일 코어 계정에 중앙 집중화된다.
All accounts
- Amazon CloudWatch Key: 솔루션에서 생성된 CloudWatch Logs 그룹을 암호화하는 데 사용된다.
- Amazon S3 Key: 솔루션에서 생성된 S3 버킷을 암호화하는 데 사용된다.
- AWS Lambda Key: 솔루션에서 생성된 Lambda 함수의 환경 변수를 암호화하는 데 사용된다.
- AWS Systems Manager Session Manager Key(optional): 세션 관리자 로깅이
global-config.yaml
파일에서 활성화된 경우 세션 관리자 세션을 암화하하는 데 사용된다. - Amazon Elastic Block Store(EBS) Key(optional):
security-config.yaml
파일에서 활성화된 경우 EBS 볼륨의 기본 암호화에 사용된다.
Management Account
- Installer key:
AWSAccelerator-InstallerStack
에 의해 설치 프로그램 파이프라인 종속성을 위한 미사용 암호화를 활성화하기 위해 생성된다. - Management key:
AWSAccelerator-PipelineStack
에 의해 생성되며 핵심 파이프라인 종속성에 대한 미사용 암호화를 활성화한다. - AWS Backup key(optional):
organization-config.yaml
파일에 의해 구성된 경우 AWS 백업에 대한 유휴 암호화를 활성화하는 데 사용된다.
LogArchive Account
- Central logs key:
aws-accelerator-central-logs
S3 버킷을 암호화하기 위해 사용된다. - Log replication key: CloudWatch Logs에서 S3로의 로그 복제 대상으로 사용되는 Kinesis Data Stream을 암호화하는 데 사용된다.
Audit Account
- Accelerator KMS key: 감사 계정에 중앙 집중식으로 저장된 AWS 시스템 관리자 매개변수(SSM 매개변수)를 해독하기 위해 전체 조직에서 사용한다.
- Audit S3 key: 권한 부여 생성 CloudTrail S3 버킷 및 감사 관리자 게시 버킷을 암호화하는 데 사용된다.
- Amazon SNS key(optional): 보안 이벤트에 대해 경고하기 위해 생성된 Amazon SNS Topic을 암호화하는 데 사용된다.
참고 자료
'Infrastructure > Cloud Computing' 카테고리의 다른 글
[AWS] AWS Control Tower 개념 (0) | 2022.12.16 |
---|---|
[AWS] Landing Zone 배포 자동화 (0) | 2022.12.16 |
[AWS] Landing Zone 개념 (0) | 2022.12.16 |
[AWS] AWS Organizations 관련 서비스 (0) | 2022.12.16 |
[AWS] AWS Organizations (0) | 2022.12.08 |