쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

cfn-hup

포커스 모드
cfn-hup - AWS CloudFormation
필터 보기

cfn-hup 헬퍼는 리소스 메타데이터의 변경 사항을 감지하고 변경 사항이 감지되면 사용자 지정 작업을 실행하는 대몬(daemon)입니다. 따라서 UpdateStack API 작업을 통해 실행 중인 Amazon EC2 인스턴스에 대한 구성 업데이트를 수행할 수 있습니다.

구문

cfn-hup --config|-c config.dir \ --no-daemon \ --verbose|-v

옵션

명칭 설명 필수

--config|-c config.dir

cfn-hup 스크립트가 cfn-hup.confhooks.d 디렉터리를 찾는 경로를 지정합니다. Windows에서 기본 경로는 system_drive\cfn입니다. Linux에서 기본 경로는 /etc/cfn입니다.

No

--no-daemon

이 옵션을 지정하면 cfn-hup 스크립트를 한 번 실행한 다음 종료합니다.

No

-v, --verbose

이 옵션을 지정하면 상세 정보 표시 모드를 사용합니다.

No

cfn-hup.conf 구성 파일

cfn-hup.conf 파일은 cfn-hup 대몬이 대상으로 지정한 스택의 이름과 AWS 자격 증명을 저장합니다.

cfn-hup.conf 파일은 다음 형식을 사용합니다.

[main] stack=<stack-name-or-id>
명칭 설명 필수

stack

스택 이름 또는 ID입니다.

유형: 문자열

credential-file

명령줄 도구에서 사용하는 것과 동일한 형식의 소유자 전용 자격 증명 파일입니다.

유형: 문자열

조건: role 파라미터가 이 파라미터를 대신합니다.

No

role

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

유형: 문자열

No

region

스택이 포함된 AWS 리전의 이름입니다.

: us-east-2

No

umask

cfn-hup 대몬에서 사용하는 umask입니다.

앞에 0을 사용하거나 사용하지 않고 이 값을 지정할 수 있습니다. 두 경우 모두 Linux umask 명령과 유사하게 8진수로 해석됩니다. 이 파라미터는 Windows에 영향을 미치지 않습니다.

유형: 0~0777 사이의 8진수

기본값: 022, 버전 1.4–22 이상 022의 기본값은 그룹 및 세계 쓰기 권한을 마스킹하므로 cfn-hup 대몬으로 생성한 파일은 기본적으로 그룹 또는 세계 쓰기가 가능하지 않습니다. 버전 1.4 –21 이전의 기본값은 아무것도 마스킹하지 않는 0입니다.

No

interval

리소스 메타데이터에 대한 변경 사항이 있는지 확인하는 데 사용되는 간격(분)입니다.

유형: 정수

기본값: 15

No

verbose

상세 정보 로깅을 사용할지 여부를 지정합니다.

유형: 부울

기본값: false

No

hooks.conf 구성 파일

cfn-hup 대몬이 정기적으로 직접적으로 호출하는 사용자 작업은 hooks.conf 구성 파일에서 정의됩니다. hooks.conf 파일은 다음 형식을 사용합니다.

[hookname] triggers=post.add or post.update or post.remove path=Resources.<logicalResourceId> (.Metadata or .PhysicalResourceId)(.<optionalMetadatapath>) action=<arbitrary shell command> runas=<runas user>

이 작업이 실행될 때는 (cfn-hup가 있는) 현재 환경의 사본에서 실행되며 CFN_OLD_METADATA는 path로 지정된 이전 메타데이터 값으로, CFN_NEW_METADATA는 현재 메타데이터 값으로 설정됩니다.

후크 구성 파일은 cfn-hup 대몬이 시작될 때만 로드되므로 새 후크를 사용하려면 대몬을 다시 시작해야 합니다. 이전 메타데이터 값의 캐시는 /var/lib/cfn-hup/data/metadata_db에 저장됩니다. 이 캐시를 삭제하여 cfn-hup가 모든 post.add 작업을 다시 실행하도록 강제할 수 있습니다.

명칭 설명 필수

hookname

이 후크의 고유 이름입니다.

유형: 문자열

triggers

감지할 조건의 쉼표로 구분된 목록입니다.

유효한 값: post.add, post.update 또는 post.remove

: post.add, post.update

path

메타데이터 객체의 경로입니다. 메타데이터 블록 내에서 임의 깊이의 경로를 지원합니다.

경로 형식 옵션
  • Resources.<LogicalResourceId> — 리소스가 마지막으로 업데이트된 시간을 모니터링하고, 리소스가 변경되면 트리거됩니다.

  • Resources.<LogicalResourceId>PhysicalResourceId — 리소스의 물리적 ID를 모니터링하고 연결된 리소스 자격 증명이 변경되는 경우에만(예: 새 EC2 인스턴스) 트리거됩니다.

  • Resources.<LogicalResourceId>Metadata(.optional path) — 리소스의 메타데이터에 변경 사항이 있는지 모니터링합니다(특정 값을 모니터링하기 위해 메타데이터 하위 경로를 임의 깊이 수준으로 지정할 수 있음).

action

그대로 실행되는 임의 셸 명령입니다.

runas

명령을 실행할 사용자입니다. cfn-hup는 su 명령을 사용하여 해당 사용자로 전환합니다.

hooks.d 디렉터리

변경 알림 후크를 배포하는 여러 애플리케이션의 구성을 지원하기 위해 cfn-hup에서는 후크 구성 디렉터리에 있는 hooks.d 디렉터리를 지원합니다. hooks.d 디렉터리에는 후크 구성 파일을 하나 이상 추가로 저장할 수 있습니다. 추가 후크 파일은 hooks.conf 파일과 동일한 레이아웃을 사용해야 합니다.

cfn-hup 대몬은 이 디렉터리의 각 파일을 구문 분석하고 로드합니다. hooks.d 디렉터리에 있는 후크가 hooks.conf에 있는 후크와 이름이 같으면 후크가 병합됩니다(즉, 두 파일 모두가 지정하는 모든 값에 대해 hooks.dhooks.conf를 덮어 씀).

예시

다음 예제에서는 LaunchConfig 리소스와 연결된 AWS::CloudFormation::Init 리소스를 변경하면 CloudFormation이 cfn-auto-reloader.conf 후크 파일을 트리거합니다.

JSON

... "LaunchConfig": { "Type" : "AWS::AutoScaling::LaunchConfiguration", "Metadata" : { "QBVersion": {"Ref": "paramQBVersion"}, "AWS::CloudFormation::Init" : { ... "/etc/cfn/hooks.d/cfn-auto-reloader.conf": { "content": { "Fn::Join": [ "", [ "[cfn-auto-reloader-hook]\n", "triggers=post.update\n", "path=Resources.LaunchConfig.Metadata.AWS::CloudFormation::Init\n", "action=/opt/aws/bin/cfn-init -v ", " --stack ", { "Ref" : "AWS::StackName" }, " --resource LaunchConfig ", " --configsets wordpress_install ", " --region ", { "Ref" : "AWS::Region" }, "\n", "runas=root\n" ]]}, "mode" : "000400", "owner" : "root", "group" : "root" } ...

YAML

... 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" ...

샘플 템플릿은 AWS CloudFormation 사용 설명서CloudFormation을 사용하여 Amazon EC2에 애플리케이션 배포를 참조하세요.

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.