CloudFormation 헬퍼 스크립트 참조
AWS CloudFormation에서는 스택의 일부로 생성한 Amazon EC2 인스턴스에서 소프트웨어를 설치하고 서비스를 시작하는 데 사용할 수 있도록 다음과 같은 Python 헬퍼 스크립트 세트를 제공합니다.
-
cfn-init: 리소스 메타데이터를 검색 및 해석하고, 패키지를 설치하고, 파일을 생성하고, 서비스를 시작하는 데 사용됩니다.
-
cfn-signal: 필수 리소스나 애플리케이션이 준비될 때 스택에서 다른 리소스를 동기화할 수 있도록 CreationPolicy 또는 WaitCondition에서 신호를 전송하는 데 사용됩니다.
-
cfn-get-metadata: 특정 키에 대한 리소스나 경로의 메타데이터를 검색하는 데 사용됩니다.
-
cfn-hup: 메타데이터에 대한 업데이트가 있는지 확인하고 변경 사항이 감지된 경우 사용자 지정 후크를 실행하는 데 사용됩니다.
템플릿에서 직접 헬퍼 스크립트를 호출할 수 있습니다. 헬퍼 스크립트는 동일한 템플릿에서 정의한 리소스 메타데이터와 함께 작동합니다. 헬퍼 스크립트는 스택 생성 과정에서 Amazon EC2 인스턴스에서 실행됩니다.
참고
기본적으로 이러한 스크립트는 실행되지 않습니다. 특정 헬퍼 스크립트를 실행하는 호출이 템플릿에 포함되어 있어야 합니다.
Amazon Linux AMI 이미지
CloudFormation 헬퍼 스크립트는 부트스트랩 스크립트가 설치된 Amazon Linux AMI 이미지에 사전 설치됩니다.
-
최신 버전의 Amazon Linux AMI에는
/opt/aws/bin
에 헬퍼 스크립트가 설치되어 있습니다. -
이전 버전의 Amazon Linux AMI의 경우, 헬퍼 스크립트가 포함된 aws-cfn-bootstrap 패키지가 Yum 리포지토리에 위치합니다.
참고
헬퍼 스크립트는 Amazon Linux를 기반으로 사용하는 ECS Optimized Image와 같은 최적화 AMI가 아닌 최신 버전의 Amazon Linux AMI에 사전 설치됩니다.
다른 플랫폼에서 패키지 다운로드
Amazon Linux AMI 이미지 이외의 Linux/Unix 배포판과 Microsoft Windows(2008 이상)의 경우에는 aws-cfn-bootstrap 패키지를 다운로드할 수 있습니다.
참고
헬퍼 스크립트 버전 2.0–1 이상은 Python 3.4 이상을 지원합니다. 이전 버전의 Python을 지원하는 헬퍼 스크립트가 필요한 경우 CloudFormation 헬퍼 스크립트 1.4의 릴리스 기록을 참조하세요.
파일 형식 | 다운로드 URL |
---|---|
TAR.GZ |
Python의 Pip를 사용하여 tar.gz를 설치합니다. Ubuntu의 경우 설치를 완료하려면 symlink를 생성해야 합니다.
|
ZIP |
https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-latest.zip |
EXE |
32비트 Windows: https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-latest.exe 64비트 Windows: https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-win64-latest.exe |
헬퍼 스크립트에 대한 권한
기본적으로 헬퍼 스크립트에는 자격 증명이 필요 없기 때문에 --access-key
, --secret-key
, --role
또는 --credential-file
옵션을 사용할 필요가 없습니다. 그러나 자격 증명을 지정하지 않으면 CloudFormation이 스택 멤버십을 확인하고 해당 인스턴스가 속한 스택에 대한 호출 범위를 제한합니다.
옵션 지정을 선택할 경우 다음 중 하나만 지정하는 것이 좋습니다.
-
--role
-
--credential-file
-
--access-key
와--secret-key
옵션을 지정할 경우 다양한 헬퍼 스크립트에 필요한 권한을 염두에 두십시오.
-
cfn-signal
에는cloudformation:SignalResource
가 필요합니다. -
다른 모든 헬퍼 스크립트에는
cloudformation:DescribeStackResource
가 필요합니다.
IAM 정책에서 CloudFormation 지정 작업과 조건 컨텍스트 키의 이용에 대한 자세한 내용은 AWS Identity and Access Management를 사용하여 CloudFormation 액세스 제어 섹션을 참조하세요.
최신 버전 사용
헬퍼 스크립트는 주기적으로 업데이트됩니다. 헬퍼 스크립트를 사용하는 경우 시작된 인스턴스가 최신 버전의 스크립트를 사용 중인지 확인합니다.
-
스크립트를 호출하기 전에 템플릿의
UserData
속성에 다음 명령을 포함합니다. 이 명령은 최신 버전을 가져오도록 합니다.yum install -y aws-cfn-bootstrap
-
yum install
명령을 포함하지 않고cfn-init
,cfn-signal
또는cfn-get-metadata
스크립트를 사용하는 경우 다음 명령을 사용해 각 Amazon EC2 Linux 인스턴스에서 스크립트를 수동으로 업데이트해야 합니다.sudo yum install -y aws-cfn-bootstrap
참고
sudo yum install -y aws-cfn-bootstrap
을 실행하면yum
리포지토리에서 도우미 스크립트가 설치됩니다. -
yum install
명령을 포함하지 않고cfn-hup
스크립트를 사용하는 경우 다음 명령을 사용해 각 Amazon EC2 Linux 인스턴스에서 스크립트를 수동으로 업데이트해야 합니다.sudo yum install -y aws-cfn-bootstrap
sudo /sbin/service cfn-hup restart
참고
sudo yum install -y aws-cfn-bootstrap
을 실행하면yum
리포지토리에서 도우미 스크립트가 설치됩니다. -
다른 Linux 버전 또는 다른 플랫폼에서 작업하기 위해 스크립트의 소스 코드를 사용하는데 고유한 트러스트 스토어를 이미 생성한 경우에는 트러스트 스토어도 업데이트된 상태로 유지해야 합니다.
aws-cfn-bootstrap 패키지의 버전 이력은 AWS CloudFormation 헬퍼 스크립트의 릴리스 기록 단원을 참조하십시오.