cdk drift - AWS 클라우드 개발 키트(AWS CDK) v2

CDK AWS v2 개발자 안내서입니다. 이전 CDK v1은 2022년 6월 1일에 유지 관리에 들어갔으며 2023년 6월 1일에 지원이 종료되었습니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

cdk drift

AWS 클라우드 개발 키트(AWS CDK)를 사용하여 정의, 관리 및 배포하는 리소스의 구성 드리프트를 감지합니다. 드리프트는 스택의 실제 구성이 예상 구성과 다를 때 발생하며, AWS 이는 CloudFormation 외부에서 리소스가 수정될 때 발생합니다.

이 명령은 현재 상태를 예상 구성과 비교하여 수정된 리소스(예: AWS 콘솔 또는 AWS CLI를 통해)를 식별합니다. 이러한 수정으로 인해 인프라에서 예기치 않은 동작이 발생할 수 있습니다.

드리프트 감지 중에 CDK CLI는 진행 상황 지표와 결과를 출력하여 다음을 표시합니다.

  • 예상 구성에서 드리프트된 리소스입니다.

  • 드리프트가 있는 총 리소스 수입니다.

  • 스택에서 드리프트가 감지되었는지 여부를 나타내는 요약입니다.

중요

cdk driftcdk diff 명령은 다르게 작동합니다.

  • cdk drift는 CloudFormation의 드리프트 감지 작업을 호출하여 AWS ("실제")에 있는 리소스의 실제 상태를 CloudFormation의 예상 구성과 비교합니다. 모든 AWS 리소스가 드리프트 감지를 지원하는 것은 아닙니다. 지원되는 리소스 목록은 AWS CloudFormation 사용 설명서리소스 유형 지원을 참조하세요.

  • cdk diff는 로컬 CDK 코드에서 합성된 CloudFormation 템플릿을 배포된 CloudFormation 스택의 템플릿과 비교합니다.

리소스가 CloudFormation 외부에서 수정되었는지 확인해야 하는 cdk drift 경우(예: AWS 콘솔 또는 AWS CLI를 통해)를 사용합니다. 배포 전에 로컬 코드 변경이 인프라에 미치는 영향을 미리 보고 싶을 cdk diff 때를 사용합니다.

사용법

$ cdk drift <arguments> <options>

인수

스택 이름

드리프트를 확인하려는 스택의 이름입니다. 드리프트 감지를 수행하려면 스택을 이전에 CloudFormation에 배포해야 합니다.

유형: 문자열

필수 항목 여부: 아니요

스택을 지정하지 않으면 CDK 앱에 정의된 모든 스택에서 드리프트 감지가 수행됩니다.

옵션

모든 CDK CLI 명령에서 작동하는 글로벌 옵션 목록은 글로벌 옵션을 참조하세요.

--fail <BOOLEAN>

드리프트가 감지되면 종료 코드 1과 함께를 반환합니다.

기본값: false

--help, -h <BOOLEAN>

cdk drift 명령에 대한 명령 참조 정보를 표시합니다.

예시

특정 스택의 드리프트 확인

$ cdk drift MyStackName

명령은 다음과 유사한 결과를 출력합니다.

Stack MyStackName Modified Resources [~] AWS::Lambda::Function MyFunction MyLambdaFunc1234ABCD └─ [~] /Description ├─ [-] My original hello world Lambda function └─ [+] My drifted hello world Lambda function 1 resource has drifted from their expected configuration ✨ Number of resources with drift: 1

리소스가 삭제되었을 때 드리프트 확인

다음 예제에서는 리소스가 모두 수정 및 삭제되었을 때 출력이 어떻게 보이는지 보여줍니다.

Stack MyStackName Modified Resources [~] AWS::Lambda::Function MyFunction MyLambdaFunc1234ABCD └─ [~] /Description ├─ [-] My original hello world Lambda function └─ [+] My drifted hello world Lambda function Deleted Resources [-] AWS::CloudWatch::Alarm MyAlarm MyCWAlarmABCD1234 2 resources have drifted from their expected configuration ✨ Number of resources with drift: 2

종료 코드를 사용하여 드리프트 확인

드리프트가 감지되면 명령이 0이 아닌 종료 코드를 반환하도록 하려면:

$ cdk drift MyStackName --fail

이는 CI/CD 파이프라인에서 인프라 드리프트를 자동으로 감지하고 대응하는 데 유용합니다.