기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS CloudFormation 후크 스택 수준 필터
CloudFormation 후크에 스택 수준 필터를 추가하여 스택 이름 및 역할을 기반으로 특정 스택을 대상으로 지정할 수 있습니다. 이는 리소스 유형이 동일한 스택이 여러 개 있는 경우에 유용하지만 후크는 특정 스택을 위한 것입니다.
이 섹션에서는 이러한 필터의 작동 방식을 설명하고 따를 수 있는 예제를 제공합니다.
스택 수준 필터링이 없는 후크 구성의 기본 구조는 다음과 같습니다.
{ "CloudFormationConfiguration": { "HookConfiguration": { "HookInvocationStatus":
"ENABLED"
, "TargetOperations": ["STACK", "RESOURCE"
], "FailureMode":"WARN"
, "Properties":{}
} } }
HookConfiguration
구문에 대한 자세한 내용은 섹션을 참조하세요후크 구성 스키마 구문 참조.
스택 수준 필터를 사용하려면 아래에 StackFilters
키를 추가합니다HookConfiguration
.
StackFilters
키에는 필수 멤버가 하나 있고 선택적 멤버가 두 개 있습니다.
-
FilteringCriteria
(필수) -
StackNames
(선택 사항) -
StackRoles
(선택 사항)
StackNames
또는 StackRoles
속성은 선택 사항입니다. 그러나 이러한 속성을 하나 이상 지정해야 합니다.
Cloud Control API 작업을 대상으로 하는 후크를 생성하면 모든 스택 수준 필터가 무시됩니다.
FilteringCriteria
FilteringCriteria
는 필터링 동작을 지정하는 필수 파라미터입니다. ALL
또는 로 설정할 수 있습니다ANY
.
-
ALL
는 모든 필터가 일치하는 경우 후크를 호출합니다. -
ANY
는 일치하는 필터가 하나 있는 경우 후크를 호출합니다.
StackNames
하나 이상의 스택 이름을 후크 구성의 필터로 지정하려면 다음 JSON 구조를 사용합니다.
"StackNames": { "Include": [ "string" ], "Exclude": [ "string" ] }
다음 중 하나를 지정해야 합니다.
-
Include
: 포함할 스택 이름 목록입니다. 이 목록에 지정된 스택만 후크를 호출합니다.-
유형: 문자열 배열
-
최대 항목: 50
-
최소 항목: 1
-
-
Exclude
: 제외할 스택 이름 목록입니다. 여기에 나열된 스택을 제외한 모든 스택은 후크를 호출합니다.-
유형: 문자열 배열
-
최대 항목: 50
-
최소 항목: 1
-
Include
및 Exclude
배열의 각 스택 이름은 다음 패턴 및 길이 요구 사항을 준수해야 합니다.
-
패턴:
^[a-zA-Z][-a-zA-Z0-9]*$
-
최대 길이: 128
StackRoles
후크 구성에서 하나 이상의 IAM 역할을 필터로 지정하려면 다음 JSON 구조를 사용합니다.
"StackRoles": { "Include": [ "string" ], "Exclude": [ "string" ] }
다음 중 하나를 지정해야 합니다.
-
Include
: 이러한 역할과 연결된 스택을 대상으로 하는 IAM 역할 ARNs의 목록입니다. 이러한 역할에서 시작된 스택 작업만 후크를 호출합니다.-
유형: 문자열 배열
-
최대 항목: 50
-
최소 항목: 1
-
-
Exclude
: 제외하려는 스택의 IAM 역할 ARNs 목록입니다. 후크는 지정된 역할에 의해 시작된 스택을 제외한 모든 스택에서 호출됩니다.-
유형: 문자열 배열
-
최대 항목: 50
-
최소 항목: 1
-
Include
및 Exclude
배열의 각 스택 역할은 다음 패턴 및 길이 요구 사항을 준수해야 합니다.
-
패턴:
arn:.+:iam::[0-9]{12}:role/.+
-
최대 길이: 256
Include
및 Exclude
각 필터(StackNames
및 StackRoles
)에는 Include
목록과 Exclude
목록이 있습니다. 를 예로 들StackNames
면 Include
목록에 지정된 스택에서만 후크가 호출됩니다. 스택 이름이 Exclude
목록에만 지정된 경우 후크는 Exclude
목록에 없는 스택에서만 호출됩니다. Include
및를 모두 지정하면 후크Exclude
는 Include
목록에 있는 것이 아니라 Exclude
목록에 있는 것을 대상으로 합니다.
예를 들어 A, B, C, D라는 4개의 스택이 있다고 가정해 보겠습니다.
-
"Include": ["A","B"]
후크는 A와 B에서 호출됩니다. -
"Exclude": ["B"]
후크는 A, C 및 D에서 호출됩니다. -
"Include": ["A","B","C"], "Exclude": ["A","D"]
후크는 B와 C에서 호출됩니다. -
"Include": ["A","B","C"], "Exclude": ["A”,"B","C"]
후크는 스택에서 호출되지 않습니다.
스택 수준 필터의 예
이 섹션에서는 AWS CloudFormation 후크에 대한 스택 수준 필터를 생성하는 데 따를 수 있는 예를 제공합니다.
예제 1: 특정 스택 포함
다음 예제에서는 Include
목록을 지정합니다. 후크는 stack-test-1
, stack-test-2
및 라는 스택에서만 호출됩니다stack-test-3
.
{ "CloudFormationConfiguration": { "HookConfiguration": { "HookInvocationStatus":
"ENABLED"
, "TargetOperations": ["STACK", "RESOURCE"
], "FailureMode":"WARN"
, "Properties":{}
, "StackFilters": { "FilteringCriteria":"ALL"
, "StackNames": { "Include": ["stack-test-1", "stack-test-2", "stack-test-3"
] } } } } }
예제 2: 특정 스택 제외
대신 스택 이름이 Exclude
목록에 추가되면 이름이 , stack-test-1
stack-test-2
또는이 아닌 스택에서 후크가 호출됩니다stack-test-3
.
{ "CloudFormationConfiguration": { "HookConfiguration": { "HookInvocationStatus":
"ENABLED"
, "TargetOperations": ["STACK", "RESOURCE"
], "FailureMode":"WARN"
, "Properties":{}
, "StackFilters": { "FilteringCriteria":"ALL"
, "StackNames": { "Exclude": ["stack-test-1", "stack-test-2", "stack-test-3"
] } } } } }
예제 3: 포함 및 제외 결합
Include
및 Exclude
목록을 지정하지 않으면 Exclude
목록에 없는의 스택에서만 후크Include
가 호출됩니다. 다음 예제에서는 후크가 에서만 호출됩니다stack-test-3
.
{ "CloudFormationConfiguration": { "HookConfiguration": { "HookInvocationStatus":
"ENABLED"
, "TargetOperations": ["STACK", "RESOURCE"
], "FailureMode":"WARN"
, "Properties":{}
, "StackFilters": { "FilteringCriteria":"ALL"
, "StackNames": { "Include": ["stack-test-1", "stack-test-2", "stack-test-3"
], "Exclude": ["stack-test-1", "stack-test-2"
] } } } } }
예제 4: 스택 이름과 역할을 ALL
기준과 결합
다음 후크에는 스택 이름 3개와 스택 역할 1개가 포함됩니다. FilteringCriteria
는 로 지정되므로 ALL
후크는 스택 이름과 스택 역할이 일치하는 스택에 대해서만 호출됩니다.
{ "CloudFormationConfiguration": { "HookConfiguration": { "HookInvocationStatus":
"ENABLED"
, "TargetOperations": ["STACK", "RESOURCE"
], "FailureMode":"WARN"
, "Properties":{}
, "StackFilters": { "FilteringCriteria":"ALL"
, "StackNames": { "Include": ["stack-test-1", "stack-test-2", "stack-test-3"
] }, "StackRoles": { "Include": ["arn:aws:iam::123456789012:role/hook-role"
] } } } } }
예제 5: 스택 이름과 역할을 ANY
기준과 결합
다음 후크에는 스택 이름 3개와 스택 역할 1개가 포함됩니다. FilteringCriteria
는 로 지정되므로 일치하는 스택 이름 또는 일치하는 스택 역할이 있는 스택에 대해 ANY
후크가 호출됩니다.
{ "CloudFormationConfiguration": { "HookConfiguration": { "HookInvocationStatus":
"ENABLED"
, "TargetOperations": ["STACK", "RESOURCE"
], "FailureMode":"WARN"
, "Properties":{}
, "StackFilters": { "FilteringCriteria":"ANY"
, "StackNames": { "Include": ["stack-test-1", "stack-test-2", "stack-test-3"
] }, "StackRoles": { "Include": ["arn:aws:iam::123456789012:role/hook-role"
] } } } } }