한 회사에서 여러 계정에서 중앙 AWS CDK 애플리케이션을 사용하여 배포 스택을 관리합니다. 개발자는 이전 스택을 지원했지만 더 이상 필요 없는 사용되지 않는 리소스를 자동으로 감지하고 삭제해야 합니다. 이 솔루션은 기존 CDK 기반 배포 흐름과 원활하게 통합되어야 하며 최소한의 구성이 필요합니다. 다음 접근 방식 중 이러한 요구 사항을 충족하는 것은 무엇입요?
정답 선택
옵션을 탭하여 정답을 확인하세요.
정답: 중앙 AWS CDK 애플리케이션에서 AWS SDK를 사용하여 사용되지 않는 리소스를 감지하고 삭제하는 핸들러 함수를 추가합니다. 핸들러 코드로 AWS Lambda 함수를 프로비저닝하고 스택 배포 중에 호출하는 AWS CDK 사용자 지정 리소스를 구현합니다..
이것이 정답인 이유
정답은 AWS CDK 사용자 지정 리소스를 사용하여 Lambda 함수를 프로비저닝하고 호출하는 것입니다. AWS CDK 사용자 지정 리소스는 CloudFormation 스택 배포 수명 주기 동안 사용자 지정 로직을 실행할 수 있도록 합니다. 이 접근 방식은 기존 CDK 배포 흐름에 원활하게 통합되며, CDK 애플리케이션 내에서 직접 리소스 감지 및 삭제 로직을 관리할 수 있어 최소한의 구성으로 자동화된 리소스 정리를 제공합니다.
다른 옵션들은 다음과 같은 이유로 적합하지 않습니다.
JSON 파일에서 CloudFormation 템플릿을 생성하고 Lambda를 호출하는 것은 CDK의 추상화를 활용하지 못하고 수동 작업이 필요합니다.
AWS Amplify를 사용하는 것은 불필요한 복잡성을 추가하며, 스택 배포 시점의 리소스 정리라는 핵심 요구사항과 직접적으로 관련이 없습니다.
Lambda 콘솔에서 함수를 작성하고 CDK 사용자 지정 리소스로 가져오는 것은 CDK의 IaC(Infrastructure as Code) 원칙에 위배되며, 코드형 인프라 관리의 이점을 상실합니다.