
1. 학습 목표
- S3 Bucket을 생성하는 YAML 템플릿을 작성할 수 있다.
- AWS 콘솔에서 CloudFormation 스택을 생성할 수 있다.
템플릿(Template): YAML/JSON으로 작성된 인프라 정의서
스택(Stack): CloudFormation 템플릿을 실행하여 AWS 리소스를 생성하는 단위
2. 스택 생성하기
- S3 Bucket을 생성하는 YAML 템플릿 파일 생성
- 생성한 YAML 템플릿을 AWS 콘솔에서 CloudFormation에 올려서 스택 만들기
- 업로드한 템플릿은 s3에 자동 저장된다.
- 이미 s3에 저장된 템플릿을 가져올수도 있다.
# S3 버킷을 생성하는 CloudFormation 템플릿
AWSTemplateFormatVersion: 2010-09-09
Resources:
KumaS3Bucket:
Type: 'AWS::S3::Bucket'
Properties:
BucketName: kuma-admin-cloudformation-bucket
VersioningConfiguration:
Status: Enabled



3. 스택 이벤트 모니터링
스택의 이벤트 탭에는 스택을 생성하는 각 주요 단계가 이벤트 시간 순으로 정렬되어 표시된다.
최신 이벤트가 맨 위에 표시된다.

4. 스택 및 리소스 삭제
불필요한 요금 청구를 막기 위해 스택 및 리소스를 삭제한다.
- CloudFormation 콘솔을 연다
- 스택 페이지에서 생성한 스택의 이름 옆에 있는 옵션을 선택한 다음 삭제를 선택한다.
- 확인 메시지가 나타나면 삭제를 선택한다.
- 이벤트 탭에서 스택 삭제 프로세스의 진행 상황을 모니터링한다. 스택의 상태가 DELETE_IN_PROGRESS로 변경된다. CloudFormation에서 스택 삭제를 완료하면 목록에서 해당 스택이 제거된다.
스택을 삭제하면 대부분의 리소스는 함께 삭제되지만, 해당 리소스가 관리하는 리소스가 남아있는 경우 삭제되지 않는다.
[CloudFormation 스택 삭제 시 리소스 삭제 여부 from GPT]
리소스 유형 | 기본적으로 삭제됨? | 삭제되지 않는 이유 | 삭제하려면? | 삭제하지 않으려면? |
EC2 인스턴스 | ✅ | - | - | DeletionPolicy: Retain 설정 |
S3 버킷 | ❌ | 버킷이 비어 있지 않으면 삭제 불가 | DeletionPolicy: Delete 설정 + 객체 정리 필요 | DeletionPolicy: Retain 설정 |
RDS 인스턴스 | ✅ | - | - | DeletionPolicy: Retain 설정 |
EBS 볼륨 | ❌ | 기본적으로 DeleteOnTermination: false | DeleteOnTermination: true 설정 | DeleteOnTermination: false 유지 |
ELB (로드 밸런서) | ✅ | 연결된 리소스(VPC, 인스턴스 등)가 남아 있으면 삭제 불가 | ELB와 연결된 리소스 먼저 삭제 | DeletionPolicy: Retain 설정 |
Route 53 HostedZone | ❌ | 내부 레코드가 존재하면 삭제 불가 | 모든 레코드 삭제 후 제거 | 레코드를 남겨두거나 DeletionPolicy: Retain 설정 |
VPC (가상 네트워크) | ❌ | 내부에 서브넷, 게이트웨이 등이 남아 있으면 삭제 불가 | 내부 리소스를 먼저 삭제 | 내부 리소스를 유지하거나 DeletionPolicy: Retain 설정 |
Lambda 함수 | ✅ | - | - | DeletionPolicy: Retain 설정 |
DynamoDB 테이블 | ✅ | - | - | DeletionPolicy: Retain 설정 |
Reference
'CloudFormation' 카테고리의 다른 글
3. CloudFormation 템플릿 기본 개념 (0) | 2025.03.18 |
---|---|
1. CloudFormation 기초 개념 (0) | 2025.03.11 |

1. 학습 목표
- S3 Bucket을 생성하는 YAML 템플릿을 작성할 수 있다.
- AWS 콘솔에서 CloudFormation 스택을 생성할 수 있다.
템플릿(Template): YAML/JSON으로 작성된 인프라 정의서
스택(Stack): CloudFormation 템플릿을 실행하여 AWS 리소스를 생성하는 단위
2. 스택 생성하기
- S3 Bucket을 생성하는 YAML 템플릿 파일 생성
- 생성한 YAML 템플릿을 AWS 콘솔에서 CloudFormation에 올려서 스택 만들기
- 업로드한 템플릿은 s3에 자동 저장된다.
- 이미 s3에 저장된 템플릿을 가져올수도 있다.
# S3 버킷을 생성하는 CloudFormation 템플릿
AWSTemplateFormatVersion: 2010-09-09
Resources:
KumaS3Bucket:
Type: 'AWS::S3::Bucket'
Properties:
BucketName: kuma-admin-cloudformation-bucket
VersioningConfiguration:
Status: Enabled



3. 스택 이벤트 모니터링
스택의 이벤트 탭에는 스택을 생성하는 각 주요 단계가 이벤트 시간 순으로 정렬되어 표시된다.
최신 이벤트가 맨 위에 표시된다.

4. 스택 및 리소스 삭제
불필요한 요금 청구를 막기 위해 스택 및 리소스를 삭제한다.
- CloudFormation 콘솔을 연다
- 스택 페이지에서 생성한 스택의 이름 옆에 있는 옵션을 선택한 다음 삭제를 선택한다.
- 확인 메시지가 나타나면 삭제를 선택한다.
- 이벤트 탭에서 스택 삭제 프로세스의 진행 상황을 모니터링한다. 스택의 상태가 DELETE_IN_PROGRESS로 변경된다. CloudFormation에서 스택 삭제를 완료하면 목록에서 해당 스택이 제거된다.
스택을 삭제하면 대부분의 리소스는 함께 삭제되지만, 해당 리소스가 관리하는 리소스가 남아있는 경우 삭제되지 않는다.
[CloudFormation 스택 삭제 시 리소스 삭제 여부 from GPT]
리소스 유형 | 기본적으로 삭제됨? | 삭제되지 않는 이유 | 삭제하려면? | 삭제하지 않으려면? |
EC2 인스턴스 | ✅ | - | - | DeletionPolicy: Retain 설정 |
S3 버킷 | ❌ | 버킷이 비어 있지 않으면 삭제 불가 | DeletionPolicy: Delete 설정 + 객체 정리 필요 | DeletionPolicy: Retain 설정 |
RDS 인스턴스 | ✅ | - | - | DeletionPolicy: Retain 설정 |
EBS 볼륨 | ❌ | 기본적으로 DeleteOnTermination: false | DeleteOnTermination: true 설정 | DeleteOnTermination: false 유지 |
ELB (로드 밸런서) | ✅ | 연결된 리소스(VPC, 인스턴스 등)가 남아 있으면 삭제 불가 | ELB와 연결된 리소스 먼저 삭제 | DeletionPolicy: Retain 설정 |
Route 53 HostedZone | ❌ | 내부 레코드가 존재하면 삭제 불가 | 모든 레코드 삭제 후 제거 | 레코드를 남겨두거나 DeletionPolicy: Retain 설정 |
VPC (가상 네트워크) | ❌ | 내부에 서브넷, 게이트웨이 등이 남아 있으면 삭제 불가 | 내부 리소스를 먼저 삭제 | 내부 리소스를 유지하거나 DeletionPolicy: Retain 설정 |
Lambda 함수 | ✅ | - | - | DeletionPolicy: Retain 설정 |
DynamoDB 테이블 | ✅ | - | - | DeletionPolicy: Retain 설정 |
Reference
'CloudFormation' 카테고리의 다른 글
3. CloudFormation 템플릿 기본 개념 (0) | 2025.03.18 |
---|---|
1. CloudFormation 기초 개념 (0) | 2025.03.11 |