AWS CloudFormation 후크 대상 필터 - AWS CloudFormation

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

AWS CloudFormation 후크 대상 필터

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

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

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

TargetNames

대상으로 지정할 리소스 유형 이름을 지정하는 문자열 배열입니다. 예시는 예제 1: 기본 대상 필터에서 확인하십시오.

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

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

최대: 50

Actions

에 나열하는 대상에 대한 대상 작업을 지정하는 문자열 배열입니다TargetNames.

유효한 값: CREATE | UPDATE | DELETE

참고

RESOURCE, STACKCLOUD_CONTROL 후크 대상을 사용하는 경우 모든 대상 작업이 적용됩니다. CHANGE_SET 후크 대상을 사용하는 경우 CREATE 작업만 적용됩니다.

InvocationPoints

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

유효한 값: PRE_PROVISION

Targets

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

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

TargetNames

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

Actions

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

유효한 값: CREATE | UPDATE | DELETE

InvocationPoints

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

유효한 값: PRE_PROVISION

참고

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

대상 필터의 예

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

예제 1: 기본 대상 필터

특정 리소스 유형에 초점을 맞춘 기본 대상 필터를 생성하려면 TargetNames 배열과 함께 TargetFilters 객체를 사용합니다. 다음 대상 필터 구성은 S3 버킷 및 DynamoDB 테이블의 모든 작업에 대해 후크를 호출합니다.

{ "CloudFormationConfiguration": { "HookConfiguration": { "HookInvocationStatus": "ENABLED", "TargetOperations": [ "STACK", "RESOURCE" ], "FailureMode": "WARN", "Properties": {}, "TargetFilters": { "TargetNames": [ "AWS::S3::Bucket", "AWS::DynamoDB::Table" ] } } } }

예제 2: Targets 객체 배열 사용

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

{ "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" } ] } } } }