AWS CloudFormation 후크 대상 필터 - AWS CloudFormation

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS CloudFormation 후크 대상 필터

이 주제에서는 AWS CloudFormation 후크에 대한 대상 필터 구성에 대한 지침을 제공합니다. 대상 필터를 사용하여 후크가 호출되는 시기와 리소스를 보다 세밀하게 제어할 수 있습니다. 간단한 리소스 유형 타겟팅부터 리소스 유형, 작업 및 호출 지점의 보다 복잡한 조합에 이르기까지 다양한 필터를 구성할 수 있습니다.

후크 구성에서 하나 이상의 스택 이름을 필터로 지정하려면 아래에 TargetFilters 키를 추가합니다HookConfiguration.

TargetFilters는 다음 속성을 지원합니다.

Actions

대상 작업을 지정하는 문자열 배열입니다. 예제는 예제 1: 기본 대상 필터 섹션을 참조하세요.

유효한 값: CREATE | UPDATE | DELETE

참고

RESOURCE, STACKCLOUD_CONTROL 대상의 경우 모든 대상 작업이 적용됩니다. CHANGE_SET 대상의 경우 CREATE 작업만 적용됩니다. 자세한 내용은 후크 대상 단원을 참조하십시오.

InvocationPoints

대상에 대한 호출 지점을 지정하는 문자열 배열입니다.

유효한 값: PRE_PROVISION

TargetNames

와 같이 대상으로 지정할 리소스 유형 이름을 지정하는 문자열 배열입니다AWS::S3::Bucket.

대상 이름은 구체적인 대상 이름과 전체 와일드카드 일치를 지원합니다. 자세한 내용은 후크 대상 이름과 함께 와일드카드 사용 단원을 참조하십시오.

Pattern: ^[a-zA-Z0-9]{2,64}::[a-zA-Z0-9]{2,64}::[a-zA-Z0-9]{2,64}$

최대: 50

Targets

대상 필터링에 사용할 대상 목록을 지정하는 객체 배열입니다.

대상 배열의 각 대상에는 다음과 같은 속성이 있습니다.

Actions

지정된 대상에 대한 작업입니다.

유효한 값: CREATE | UPDATE | DELETE

InvocationPoints

지정된 대상의 호출 지점입니다.

유효한 값: PRE_PROVISION

TargetNames

대상으로 지정할 리소스 유형 이름입니다.

참고

Targets 객체 배열과 TargetNames, Actions또는 InvocationPoints 배열을 동시에 포함할 수 없습니다. 이 세 항목과를 사용하려면 Targets 객체 배열에 포함시켜야 Targets합니다. 예제는 예제 2: Targets 객체 배열 사용 섹션을 참조하세요.

대상 필터의 예

이 섹션에서는 AWS CloudFormation 후크에 대한 대상 필터를 생성하기 위해 따를 수 있는 예제를 제공합니다.

예제 1: 기본 대상 필터

특정 리소스 유형에 초점을 맞춘 기본 대상 필터를 생성하려면 Actions 배열과 함께 TargetFilters 객체를 사용합니다. 다음 대상 필터 구성은 지정된 대상 작업(이 경우 RESOURCESTACK 작업 모두)에 대한 모든 Create, UpdateDelete 작업에서 후크를 호출합니다.

{ "CloudFormationConfiguration": { "HookConfiguration": { "HookInvocationStatus": "ENABLED", "TargetOperations": [ "STACK", "RESOURCE" ], "FailureMode": "WARN", "Properties": {}, "TargetFilters": { "Actions": [ "Create", "Update", "Delete" ] } } } }

예제 2: Targets 객체 배열 사용

고급 필터의 경우 Targets 객체 배열을 사용하여 특정 대상, 작업 및 호출 지점 조합을 나열할 수 있습니다. 다음 대상 필터 구성은 S3 버킷 CREATE 및 DynamoDB 테이블에 대한 Hook before 및 UPDATE 작업을 호출합니다. 및 STACK RESOURCE 작업 모두에 적용됩니다.

{ "CloudFormationConfiguration": { "HookConfiguration": { "HookInvocationStatus": "ENABLED", "TargetOperations": [ "STACK", "RESOURCE" ], "FailureMode": "WARN", "Properties": {}, "TargetFilters": { "Targets": [ { "TargetName": "AWS::S3::Bucket", "Action": "CREATE", "InvocationPoint": "PRE_PROVISION" }, { "TargetName": "AWS::S3::Bucket", "Action": "UPDATE", "InvocationPoint": "PRE_PROVISION" }, { "TargetName": "AWS::DynamoDB::Table", "Action": "CREATE", "InvocationPoint": "PRE_PROVISION" }, { "TargetName": "AWS::DynamoDB::Table", "Action": "UPDATE", "InvocationPoint": "PRE_PROVISION" } ] } } } }