728x90
cfn은 CloudFormation 헬퍼스크립트를 뜻한다.
cfn은 CloudFormation을 다루는데 용이한 기능을 제공하는데, CF Stack으로 생성된 EC2 인스턴스내에서 CLI로 실행할 수 있다.
1. cfn-signal이란?
cfn-signal 헬퍼 스크립트는 Amazon EC2 인스턴스가 성공적으로 생성 또는 업데이트되었는지 여부를 나타내도록 CloudFormation에 신호를 보냅니다.
예시
AWSTemplateFormatVersion: 2010-09-09
Description: Simple EC2 instance
Resources:
MyInstance:
Type: AWS::EC2::Instance
Metadata:
'AWS::CloudFormation::Init':
config:
files:
/tmp/test.txt:
content: Hello world!
mode: '000755'
owner: root
group: root
Properties:
ImageId: ami-a4c7edb2
InstanceType: t2.micro
UserData: !Base64
'Fn::Join':
- ''
- - |
#!/bin/bash -x
- |
# Install the files and packages from the metadata
- '/opt/aws/bin/cfn-init -v '
- ' --stack '
- !Ref 'AWS::StackName'
- ' --resource MyInstance '
- ' --region '
- !Ref 'AWS::Region'
- |+
- |
# Signal the status from cfn-init
- '/opt/aws/bin/cfn-signal -e $? '
- ' --stack '
- !Ref 'AWS::StackName'
- ' --resource MyInstance '
- ' --region '
- !Ref 'AWS::Region'
- |+
CreationPolicy:
ResourceSignal:
Timeout: PT5M
2. cfn-get-metadata란?
cfn-get-metadata 헬퍼 스크립트를 사용하여 CloudFormation에서 메타데이터 블록을 가져와 표준으로 출력할 수 있습니다. 또한 키를 지정하는 경우 메타데이터 블록의 하위 트리를 인쇄할 수도 있습니다. 그러나 최상위 키만 지원됩니다.
예시
cfn-get-metadata --stack CfnHupDemo --resource WebServerHost --region eu-west-1
3. cfn-hup이란?
cfn-hup 헬퍼는 리소스 메타데이터의 변경 사항을 감지하고 변경 사항이 감지되면 사용자 지정 작업을 실행하는 데몬입니다.
예시
LaunchConfig:
Type: "AWS::AutoScaling::LaunchConfiguration"
Metadata:
QBVersion: !Ref paramQBVersion
AWS::CloudFormation::Init:
...
/etc/cfn/hooks.d/cfn-auto-reloader.conf:
content: !Sub |
[cfn-auto-reloader-hook]
triggers=post.update
path=Resources.LaunchConfig.Metadata.AWS::CloudFormation::Init
action=/opt/aws/bin/cfn-init -v --stack ${AWS::StackName} --resource LaunchConfig --configsets wordpress_install --region ${AWS::Region}
runas=root
mode: "000400"
owner: "root"
group: "root
'IaaS > 퍼블릭클라우드' 카테고리의 다른 글
(AWS) Elastic Beanstalk란? (0) | 2022.02.07 |
---|---|
(AWS) CloudFormation Stack Policy란? (0) | 2022.02.06 |
(AWS) CloudFormation Drift Detection, Status Code란? (0) | 2022.01.28 |
(AWS) CloudFormation에서 Lambda Function 배포하기 (0) | 2022.01.28 |
(AWS) CloudFormatoin의 Parameter-SSM, Public Parameter-SSM, DependsOn 이란? (0) | 2022.01.27 |