기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
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
,STACK
및CLOUD_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" } ] } } } }