AWS::CloudFormation::CustomResource
CustomResource
CloudFormation 템플릿에서 AWS가 기본적으로 제공하지 않는 작업/리소스를 CustomResource을 통해 사용자 정의 프로비저닝 로직을 작성할 수 있다.
CustomResource는 Stack 생성, 업데이트, 삭제 시에 사용자 정의 작업을 수행할 수 있다.
Custom Resource 사용 예시
CloudFormation으로 여러 AWS 서비스를 조합하고 싶은 경우 CustomResource를 활용해야 한다.
- AWS에서 제공하지 않는 리소스: 외부 API를 호출하거나 통합해야할 경우
- S3 초기화 작업: S3 버킷을 생성한 후, Lambda가 S3에 파일을 업로드하기
- 데이터베이스 연결: RDS 생성 후, Lambda가 RDS에 접속해 테이블 생성 SQL 명령어를 실행.
CustomResource를 정의하기 위해서 다음과 같은 리소스 타입을 사용하면 된다.
AWS::CloudFormation::CustomResource
Resources:
MyCustomResource:
Type: Custom::S3Uploader
Properties:
ServiceToken: arn:aws:lambda:us-east-1:123456789012:function:MyS3UploaderFunction
BucketName: my-example-bucket
Custom::MyCustomResourceTypeName
Resources:
MyCustomResource:
Type: Custom::S3Uploader
Properties:
ServiceToken: arn:aws:lambda:us-east-1:123456789012:function:MyS3UploaderFunction
BucketName: my-example-bucket
🤔 문제
한 SysOps 관리자가 AWS CloudFormation을 사용하여 회사의 클라우드 인프라를 관리하고 있습니다.
이 관리자는 여러 AWS 서비스를 포함하는 단일 리소스를 생성해야 합니다.
이 리소스는 CloudFormation 콘솔을 통해 생성 및 삭제를 지원해야 합니다.
어떤 CloudFormation 리소스 유형을 생성해야 이러한 요구 사항을 충족할 수 있을까요?
- AWS::EC2::Instance with a cfn-init helper script
- AWS::OpsWorks::Instance
- AWS::SSM::Document
- Custom::MyCustomType
정답
정답. 4번
1번 (오답). AWS::EC2::Instance with a cfn-init helper script
EC2 인스턴스 설정을 자동화하는 데 유용하지만, 여러 AWS 서비스를 통합하여 하나의 리소스로 관리하는 데 적합하지 않음.
2번 (오답). AWS::OpsWorks::Instance
OpsWorks 스택 내의 인스턴스 관리에 사용되며, 특정 AWS 서비스들만 다룸. 다양한 AWS 서비스 통합에는 제한적.
3번 (오답). AWS::SSM::Document
SSM 작업을 정의하고 실행하는 데 사용되며, 리소스를 통합하는 역할이 아님.
'클라우드(AWS) > SOA-C02' 카테고리의 다른 글
[AWS] CloudFormation StackSets의 OUTDATED 문제 (0) | 2025.01.19 |
---|---|
[AWS] RDS Performance Insights란? 쉽게 정리 (0) | 2025.01.18 |
[AWS] Lambda에서 사용되는 주요 CloudWatch metrics(지표) 쉽게 정리 (0) | 2025.01.16 |
[AWS] CloudFormation "DependsOn" 속성이란? 쉽게 정리 (0) | 2025.01.15 |
[AWS] Cost Allocation Tags란? 쉽게 정리 (비용 할당 태그) (0) | 2025.01.15 |