AWS CloudFormation
사용 설명서 (API 버전 2010-05-15)

cfn-init

설명

cfn-init 헬퍼 스크립트는 AWS::CloudFormation::Init 키에서 템플릿 메타데이터를 읽고 이에 따라 다음과 같이 동작합니다.

  • AWS CloudFormation에서 메타데이터 가져오기 및 구문 분석

  • 패키지 설치

  • 디스크에 파일 쓰기

  • 서비스 활성화/비활성화 및 시작/중지

참고

cfn-init를 사용하여 기존 파일을 업데이트하는 경우 동일한 디렉터리에 원본 파일의 백업 사본이 .bak라는 확장명으로 생성됩니다. 예를 들어, /path/to/file_name을 업데이트하면 이 작업에서는 다음과 같은 파일 2개를 생성합니다. /path/to/file_name.bak 파일에는 원본 파일의 내용이 들어 있고, /path/to/file_name 파일에는 업데이트된 내용이 들어 있습니다.

템플릿 메타데이터에 대한 자세한 내용은 AWS::CloudFormation::Init 단원을 참조하십시오.

참고

cfn-init에는 자격 증명이 필요 없기 때문에 --access-key, --secret-key, --role 또는 --credential-file 옵션을 사용할 필요가 없습니다. 그러나 자격 증명을 지정하지 않으면 AWS CloudFormation이 스택 멤버십을 확인하고 해당 인스턴스가 속한 스택에 대한 호출 범위를 제한합니다.

구문

cfn-init --stack|-s stack.name.or.id \ --resource|-r logical.resource.id \ --region region --access-key access.key \ --secret-key secret.key \ --role rolename\ --credential-file|-f credential.file \ --configsets|-c config.sets \ --url|-u service.url \ --http-proxy HTTP.proxy \ --https-proxy HTTPS.proxy \ --verbose|-v

옵션

이름 설명 필수

-s, --stack

스택의 이름입니다.

Type: String

기본값: 없음

: -s { "Ref" : "AWS::StackName" },

-r, --resource

메타데이터가 포함된 리소스의 논리적 리소스 ID입니다.

Type: String

: -r WebServerHost

--region

사용할 AWS CloudFormation 리전 엔드포인트입니다.

Type: String

기본값: us-east-1

: --region ", { "Ref" : "AWS::Region" },

아니요

--access-key

AWS CloudFormation에서 DescribeStackResource를 호출할 권한을 가진 계정의 AWS 액세스 키입니다. 자격 증명 파일 파라미터가 이 파라미터를 대신합니다.

Type: String

아니요

--secret-key

지정된 AWS 액세스 키에 해당하는 AWS 보안 액세스 키입니다.

Type: String

아니요

--role

인스턴스와 연결되는 IAM 역할의 이름입니다.

Type: String

조건: 자격 증명 파일 파라미터가 이 파라미터를 대신합니다.

아니요

-f, --credential-file

보안 액세스 키 및 액세스 키가 둘 다 포함된 파일입니다. 자격 증명 파일 파라미터는 --role, --access-key 및 --secret-key 파라미터를 대신합니다.

Type: String

아니요

-c, --configsets

(순서대로) 실행할 configset의 쉼표로 구분된 목록입니다.

Type: String

기본값: default

아니요

-u, --url

사용할 AWS CloudFormation 엔드포인트.

Type: String

아니요

--http-proxy

HTTP 프록시입니다(비 SSL). 다음 형식을 사용합니다. http://user:password@host:port

Type: String

아니요

--https-proxy

HTTPS 프록시입니다. 다음 형식을 사용합니다. https://user:password@host:port

Type: String

아니요

-v

상세 정보 표시 출력입니다. 이 옵션은 cfn-init가 초기화에 실패하는 사례를 디버깅하는 데 유용합니다.

참고

초기화 이벤트를 디버깅하려면 DisableRollback을 켜야 합니다. AWS CloudFormation 콘솔에서 고급 옵션 표시를 선택한 다음 "실패 시 롤백"을 "아니요"로 설정하면 이 옵션을 켤 수 있습니다. 그런 다음 콘솔에 대해 SSH 접속을 수행하고 /var/log/cfn-init.log에서 로그를 읽습니다.

아니요

Amazon Linux의 예

다음 코드 조각은 UserData 리소스와 연결된 InstallAndRun configset를 실행하는 EC2 인스턴스의 WebServerInstance 속성을 보여줍니다.

전체 예제 템플릿은 AWS CloudFormation을 사용하여 Amazon EC2에서 애플리케이션 배포 단원을 참조하십시오.

JSON

"UserData" : { "Fn::Base64" : { "Fn::Join" : ["", [ "#!/bin/bash -xe\n", "# Install the files and packages from the metadata\n", "/opt/aws/bin/cfn-init -v ", " --stack ", { "Ref" : "AWS::StackName" }, " --resource WebServerInstance ", " --configsets InstallAndRun ", " --region ", { "Ref" : "AWS::Region" }, "\n" ]]} }

YAML

UserData: !Base64 'Fn::Join': - '' - - | #!/bin/bash -xe - | # Install the files and packages from the metadata - '/opt/aws/bin/cfn-init -v ' - ' --stack ' - !Ref 'AWS::StackName' - ' --resource WebServerInstance ' - ' --configsets InstallAndRun ' - ' --region ' - !Ref 'AWS::Region' - |+

이 페이지에서: