한 회사가 빌드 계정에서 AWS CodePipeline과 AWS CodeBuild를 사용하여 새로운 파이프라인을 구축하고 있습니다. 파이프라인은 두 가지 단계로 구성됩니다. 첫 번째 단계는 AWS Lambda 함수를 빌드하고 패키징하는 CodeBuild 작업입니다. 두 번째 단계는 두 가지 다른 AWS 계정에서 작동하는 배포 작업으로 구성됩니다: 개발 환경 계정과 프로덕션 환경 계정입니다. 배포 단계는 CodePipeline이 호출하는 AWS CloudFormation 작업을 사용하여 Lambda 함수가 필요로 하는 인프라를 배포합니다. DevOps 엔지니어는 CodePipeline 파이프라인을 만들고 AWS Key Management Service(AWS KMS) AWS 관리 키 Amazon S3(aws/s3 키)를 사용하여 빌드 아티팩트를 암호화하도록 파이프라인을 구성합니다. 아티팩트는 S3 버킷에 저장됩니다. 파이프라인이 실행될 때 CloudFormation 작업이 접근 거부 오류로 실패합니다. DevOps 엔지니어가 이 오류를 해결하기 위해 수행해야 할 단계의 조합은 무엇입니까? (2가지 선택)
- A. 각 AWS 계정에 아티팩트용 S3 버킷을 만듭니다. 파이프라인이 S3 버킷에 쓸 수 있도록 허용합니다. CodePipeline S3 작업을 만들어 아티팩트를 각 AWS 계정의 S3 버킷으로 복사합니다. CloudFormation 작업을 업데이트하여 프로덕션 계정의 아티팩트 S3 버킷을 참조합니다.
- B. 고객 관리 KMS 키를 만듭니다. CloudFormation 작업이 사용하는 IAM 역할이 복호화 작업을 수행하도록 KMS 키 정책을 구성합니다. 고객 관리 KMS 키를 사용하도록 파이프라인을 수정합니다.✓ 정답
- C. AWS 관리 KMS 키를 만듭니다. 개발 계정과 프로덕션 계정이 복호화 작업을 수행할 수 있도록 KMS 키 정책을 구성합니다. 고객 관리 KMS 키를 사용하도록 파이프라인을 수정합니다.
- D. 개발 계정과 프로덕션 계정에 CodePipeline용 IAM 역할을 만듭니다. CloudFormation 작업을 수행하고 아티팩트 S3 버킷에서 객체를 검색 및 복호화할 수 있는 권한으로 역할을 구성합니다. CodePipeline 계정에서 CodePipeline CloudFormation 작업을 구성하여 역할을 사용합니다.
- E. 개발 계정과 프로덕션 계정에 CodePipeline용 IAM 역할을 만듭니다. CloudFormation 작업을 수행하고 아티팩트 S3 버킷에서 객체를 검색 및 복호화할 수 있는 권한으로 역할을 구성합니다. CodePipeline 계정에서 아티팩트 S3 버킷 정책을 수정하여 역할에 접근을 허용합니다. CodePipeline CloudFormation 작업을 구성하여 역할을 사용합니다.✓ 정답
해설
【핵심 용어】 ▸ CloudFormation—Lambda 커스텀 리소스 응답 메커니즘 【정답 포인트】 ▸ B번 옵션—핵심 요구사항 충족 ▸ E번 옵션—핵심 요구사항 충족 【오답 체크】 (A) 첫 번째 검토 대상—부분적 조건 충족하나 완전하지 않음 (C) 세 번째 옵션—자동화 부족 또는 보안 취약점 발생 (D) 네 번째 선택—오버헤드 증가 또는 비효율적 솔루션 【시험 포인트】 ▸ 다중 선택 (2개)—조합 문제: 각 요소의 역할 구분