본문 바로가기

Infrastructure/Cloud Computing

[AWS] Landing Zone Accelerator

Landing Zone Accelerator

이번 장에서는 AWS의 Landing Zone Accelerator에 대해서 알아본다.


개요

  • Landing Zone Accelerator(이하 Accelerator) 솔루션은 AWS 모범 사례다수의 글로벌 규정 준수하는 프레임워크를 준수하도록 설계된 클라우드 기반을 쉽게 배포할 수 있도록 도움을 준다.
  • 엄격한 규제를 받는 워크로드가 있는 경우 사용자들은 복잡한 규정을 준수해야 하는데, Accelerator을 통해 다중 계정 환경에 대한 관리 및 거버넌스를 개선할 수 있다.
  • 아래의 다이어그램은 Accelerator를 통해 AWS CloudFormation 템플릿을 사용하여 자동으로 배포할 수 있는 아키텍처를 보여준다.

AWS 아키텍처 기반 Landing Zone Accelerator

  1. CloudFormation을 사용하여 사전 요구 사항을 충족하는 환경에 솔루션을 배포해야 한다.
    • 제공된 CloudFormation 템플릿은 Accelerator 설치 엔진이 포함된 AWS Pipeline을 배포한다.
  2. 설치 프로그램 파이프라인은 솔루션의 Core 기능을 배포한다.
    • 이 설치 프로그램은 Core 솔루션 인프라와 따로 작동하므로 AWS CloudFormation 콘솔에서 파라미터 1개로 솔루션의 향후 버전을 업데이트할 수 있다.
  3. AWS CodeBuild 프로젝트는 솔루션의 AWS CDK 애플리케이션 애플리케이션을 구축하고 실행하는 오케스트레이션 엔진으로 작동한다.
  4. Accelerator는 Core 파이프라인 이벤트에 대한 알림을 구독하여 Core 파이프라인 운영에 대한 관측성을 개선할 수 있는 Amazon Simple Notification Service(SNS) 주제를 배포한다.
    • Accelerator는 설치 프로그램 및 Core 파이프라인 종속성의 저장 시 암호화를 관리하기 위한 AWS KMS 고객 관리형 키 2개를 배포한다.
  5. Core 파이프라인은 입력을 검증 및 합성하고 AWS SDK를 통해 추가 CloudFormation 스택을 배포한다.
    • AWS CodeCommit 리포지토리는 솔루션에 사용되는 구성 파일을 저장한다.
  6. AWS CodeBuild 프로젝트는 솔루션의 AWS CDK 애플리케이션 구성을 컴파일하고 검증한다.
  7. 솔루션 구성 파일에 정의된 리소스는 다수 AWS CodeBuild 배포 단계에서 고객의 다중 계정 환경에 배포된다.
    • 필요한 경우 수동 검토 단계를 포함하여 이러한 단계에서 적용될 모든 변경 사항을 모니터링할 수 있다.
  8. Accelerator는 AWS Control Tower 수명 주기 이벤트를 모니터링하여 정상적인 상태가 아닌 잠재적 드리프트(실제 구성이 예상된 구성과 다른 경우)를 감지하는 리소스를 배포한다.
    • Accelerator는 신규 AWS 계정을 다중 계정 환경에 자동으로 등록하는 리소스도 배포한다.
    • Accelerator를 AWS Control Tower와 함께 사용하는 경우, AWS Control Tower 환경의 계정 조직 및 조직 단위(OU)가 적절하게 등록되었는지 확인해야 한다.
  9. Accelerator는 다중 계정 환경의 로그 아카이브 계정에 중앙 집중식 로깅 리소스를 배포한다.
    • 로그 스트리밍 및 수집을 위한 Amazon Kinesis 리소스, 저장 시 암호화를 용이하게 하는 AWS KMS 키 및 로그 스토리지 대상으로 사용되는 S3 버킷이 포함된다.
  10. 솔루션의 구성 파일을 통해 인프라를 추가하여 다중 계정 환경에 워크로드 계정을 등록하고 프로비저닝할 수 있다.
    • 최소한 새로운 계정은 CloudWatch 로그 그룹을 아카이브 계정의 중앙 집중식 로깅 인프라로 스트리밍하는 리소스와 함께 프로비저닝된다.

모범 사례 구성

  • Accelerator 모범 사례를 구성하면 다중 계정 환경에서 계정, 인프라 및 보안 가드레일을 신속하게 배포할 수 있다.
  • 리포지토리에는 표준 및 AWS GovCloud 리전에서 사용자 지정 가능한 6개의 YAML 파일 각각에 대한 샘플 구성이 포함되어 있다.
  • Accelerator와 함께 사용할 경우 모범 사례 구성은 기본 보안 및 네트워크 아키텍처를 배포하지만, 비즈니스의 규정 준수 요구 사항에 맞게 기준선을 추가로 사용자 지정해야 할 수 있다.
  • Accelerator는 AWS SRA의 완전 자동화된 구현이며 조직의 보안, 네트워킹 및 규정 준수 요구 사항에 맞게 랜딩 영역을 지정할 수 있는 유연성을 추가로 제공한다.

조직 계정 구조 모범 사례

  • 모범 사례 구성은 AWS SRA organization-config.yamlaccounts-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.yamlaccounts-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-InstallerStackAWSAccelerator-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-InstallerStackEnableApprovalStage의 값이 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 애플리케이션을 실행한다.
  1. Source
    • 이 단계에는 두 가지 작업이 있다.
      • Source: AWS Solutions GitHub의 AWS 소스 코드의 Accelerator 저장소.
      • Configuration: aws-accelerator-config라고 하는 Accelerator의 구성 파일 저장소.
  2. Build
    • 이 단계에서는 구성 파일에 대한 입력 및 유형 검증을 포함하여 Accelerator의 소스 코드가 변환된다.
  3. Prepare
    • 구성에 정의된 모든 AWS 계정이 필요에 따라 생성 또는 검증된다.
    • AWS Control Tower를 사용하는 경우, 새 AWS 계정은 Control Tower Account Factory를 사용하여 생성되고 적절한 AWS Organizations의 OU에 등록된다.
    • AWS Control Tower를 사용하여 새 OU를 생성하고 등록하는 것이 권장되지만, AWS Control Tower를 지원하지 않는 리전에 솔루션을 배포하는 경우 필요에 따라 구성에 정의된 모든 OU가 생성 또는 검증된다.
  4. Accounts
    • 환경 전체에서 추가 계정 확인이 발생하고, 구성의 모든 계정은 AWS Organization의 일부인지 확인하기 위해 확인된다.
    • 구성된 모든 AWS 조직 서비스 제어 정책(SCP)도 생성되어 이 단계에서 구성 지정 배포 대상에 연결된다.
  5. Bootstrap
    • AWS CDK 부트스트랩이 실행되면, CDK 환경이 초기화된다.
    • 솔루션별 CDK 도구 키트 CloudFormation 템플릿(AWS Accelerator-CDKToolkit)은 이전 부트스트랩되지 않은 모든 AWS 계정 및 리전에 배포된다.
    • 추가 CDK 애플리케이션을 배포하려면 CDK의 AWS 사용에서 Accelerator와의 충돌 가능성을 방지하기 위해 자체 CDK 부트스트랩 템플릿을 배포하는 것이 좋다.
  6. Review(optional)
    • CloudFormation 템플릿에서 EnableApprovalStage 구성 파라미터를 사용하여 켜고 끌 수 있는 선택적 단계다.
    • AWSAccelerator-InstallerStack이 옵션을 켜면 다음 작업을 포함하는 파이프라인에 아래의 단계가 추가된다.
      • Diff: AWS CDK diff는 각 대상 계정 및 지역에 대해 합성된 CloudFormation 템플릿에서 실행된다. diff 결과는 CodeBuild 프로젝트의 빌드 로그에서 검토할 수 있다.
      • Approve: 수동 승인 작업으로 Diff 작업에 표시된 변경 사항을 검토하고 승인 또는 거부하기 위한 게이트를 위미한다. 이 작업은 구성된 이메일 목록에 보류 중인 승인을 알리기 위해 SNS 주제에 게시한다.
  7. 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 세션 관리자 로깅을 활성화할 수 있다.
  8. Organization
    • AWS 조직 전체 리소스의 배포다.
    • 이러한 리소스는 조직의 마스터 계정에서 조직의 홈 지역으로 지정된 지역에 배포된다.
    • 여기에는 신뢰할 수 있는 서비스 활성화, AWS Organizations 태깅 및 백업 정책 생성, AWS 비용 및 사용 보고서에 대한 보고서 정의 생성과 같은 작업이 포함된다.
  9. Security_Audit
    • 구성에서 감사 계정으로 지정된 AWS 계정의 중앙 집중식 보안 서비스에 대한 리소스 종속성 배포.
    • 여기에는 Amazon Macie용 S3 버킷 또는 구성, Amazon GuardDuty, AWS 보안 허브, Systems Manager 자동화 문서가 포함된다.
  10. 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가 제거된다.

파이프라인 아티팩트 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-logsaws-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