CloudFormation 드리프트 인식 변경 세트 사용해보기
배경
기존에는 CloudFormation 스택의 드리프트를 관리하려면:
detect-stack-drift로 드리프트 감지- 결과 확인 후 템플릿 수정
- Change Set 생성 및 실행
2025년 11월 신기능: Drift-Aware Change Set으로 이 과정이 단일 명령으로 통합되었습니다.
확인하기전 간단한 템플릿
사전 준비
CloudFormation 템플릿:
Resources:
EC2SecurityGroup:
Type: "AWS::EC2::SecurityGroup"
Properties:
GroupName: "test-sg-iac2"
VpcId: "vpc-xxxxxxxxx"
SecurityGroupEgress:
- CidrIp: "0.0.0.0/0"
IpProtocol: "-1"
콘솔에서 수동으로 설정을 추가하여 의도적으로 드리프트를 발생시켰습니다.
CLI 비교 테스트
A. 표준 Change Set (기존 방식)
aws cloudformation create-change-set \
--stack-name test-sg-iac2 \
--change-set-name standard-test \
--use-previous-template
결과:
{
"Id": "arn:aws:cloudformation:ap-northeast-1:xxxxxxxxxxxx:changeSet/standard-test/b82c7d3d-xxxx-xxxx-xxxx-abb0a05e6c10",
"StackId": "arn:aws:cloudformation:ap-northeast-1:xxxxxxxxxxxx:stack/test-sg-iac2/1f43f7f0-xxxx-xxxx-xxxx-0e2c01893d21"
}
변경 사항 확인:
aws cloudformation describe-change-set \
--change-set-name standard-test \
--stack-name test-sg-iac2 \
--query 'Changes'
출력:
[]
❌ 문제점: 드리프트가 있지만 감지 못함(detect-stack-drift 로 별도 확인이 필요)
B. Drift-Aware Change Set (신기능)
aws cloudformation create-change-set \
--stack-name test-sg-iac2 \
--change-set-name drift-aware-test \
--use-previous-template \
--deployment-mode REVERT_DRIFT
결과:
{
"Id": "arn:aws:cloudformation:ap-northeast-1:xxxxxxxxxxxx:changeSet/drift-aware-test/acb62412-xxxx-xxxx-xxxx-ab878570c7bd",
"StackId": "arn:aws:cloudformation:ap-northeast-1:xxxxxxxxxxxx:stack/test-sg-iac2/1f43f7f0-xxxx-xxxx-xxxx-0e2c01893d21"
}
변경 사항 확인:
aws cloudformation describe-change-set \
--change-set-name drift-aware-test \
--stack-name test-sg-iac2 \
--query '{Status:Status, DriftStatus:StackDriftStatus, Changes:Changes[0].ResourceChange.Action}'
출력:
{
"Status": "CREATE_COMPLETE",
"DriftStatus": "DRIFTED",
"Changes": "Modify"
}
✅ 성공: 드리프트 감지 및 태그 제거 계획 포함
GUI에서 확인하기
콘솔에서는 다음과 같이 표시됩니다:
1. 변경 세트 생성 시
"드리프트 인식 변경 세트 - 신규" 옵션이 추가되었습니다!

드리프트 인식 변경세트를 선택후 템플릿을 변경해보겠습니다.
2. 리소스 변경 확인(드리프트 상태: 동기화)
리소스 변경확인에서 드리프트 상태를 확인이가능해졌습니다.

- 드리프트 상태: 동기화중 으로 확인가능
3. 리소스 변경 확인(드리프트 상태: 드리프트됨)


- 드리프트 상태를 표시해주고 드리프트 보기 로 어느부분이 드리프트 되었는지 확인가능
요약
| 구분 | 표준 Change Set | Drift-Aware Change Set |
|---|---|---|
| 드리프트 감지 | ❌ | ✅ |
| Changes 결과 | [] (빈 배열) |
Modify 액션 포함 |
| DriftStatus | 표시 안 됨 | DRIFTED |
| GUI 옵션 | 표준 변경 세트 | 드리프트 인식 변경 세트 - 신규 |
| Before/After 비교 | 템플릿만 비교 | 실제 리소스 상태 포함 |
| 필요한 단계 | 감지 → 분석 → 수정 (3단계) | 1단계로 통합 |
결론
기존에는 드리프트 감지와 수정이 별도 프로세스였지만, Drift-Aware Change Set은 단일 명령으로 통합하여:
- 별도의
detect-stack-drift불필요 - 실제 리소스 상태를 자동으로 비교
- 수정 계획을 즉시 확인 가능
- GUI에서도 직관적으로 드리프트 상태 확인
アノテーション株式会社について
アノテーション株式会社は、クラスメソッド社のグループ企業として「オペレーション・エクセレンス」を担える企業を目指してチャレンジを続けています。「らしく働く、らしく生きる」のスローガンを掲げ、様々な背景をもつ多様なメンバーが自由度の高い働き方を通してお客様へサービスを提供し続けてきました。現在当社では一緒に会社を盛り上げていただけるメンバーを募集中です。少しでもご興味あれば、アノテーション株式会社WEBサイトをご覧ください。








