CloudFormation 사용자 지정 리소스에 대한 삭제 요청
템플릿 개발자가 스택을 삭제하거나 스택에서 사용자 지정 리소스를 제거하면 CloudFormation에서는 RequestType
이 Delete
로 설정된 요청을 사용자 지정 리소스 공급자에게 전송합니다. 사용자 지정 리소스가 포함된 스택을 성공적으로 삭제하려면 custom resource provider에서 삭제 요청에 성공적으로 응답해야 합니다.
사용자 지정 리소스의 소개와 작동 방식은 사용자 지정 리소스를 사용하여 사용자 지정 프로비저닝 로직 생성 섹션을 참조하세요.
요청
삭제 요청에는 다음과 같은 필드가 포함됩니다.
RequestType
-
Delete
. RequestId
-
요청에 대한 고유 ID입니다.
ResponseURL
-
응답 URL은 사용자 지정 리소스 공급자에서 AWS CloudFormation에 보내는 응답을 수신할 미리 서명된 S3 버킷을 나타냅니다.
ResourceType
-
CloudFormation 템플릿에서 사용자 지정 리소스의 템플릿 개발자가 선택한 리소스 유형입니다. 사용자 지정 리소스 유형 이름은 최대 60자이고 영숫자 및 다음 문자를 포함할 수 있습니다.
_@-
LogicalResourceId
-
AWS CloudFormation 템플릿에 있는 사용자 지정 리소스의 템플릿 개발자 선택 이름(논리적 ID).
StackId
-
사용자 지정 리소스가 들어 있는 스택을 나타내는 Amazon 리소스 이름(ARN).
PhysicalResourceId
custom resource provider에서 정의한 필수 Physical ID로, 해당 공급자에 대해 고유합니다.
PhysicalResourceId
에 대해 반환된 값은 사용자 지정 리소스 업데이트 작업을 변경할 수 있습니다. 반환된 값이 같은 경우 일반 업데이트로 간주됩니다. 반환된 값이 다른 경우 AWS CloudFormation은 업데이트를 교체로 인식하고 기존 리소스에 삭제 요청을 전송합니다. 자세한 내용은AWS::CloudFormation::CustomResource
단원을 참조하십시오.ResourceProperties
-
이 필드에는 템플릿 개발자가 보낸
Properties
객체의 내용이 들어 있습니다. 해당 콘텐츠는 사용자 지정 리소스 공급자에 의해 정의됩니다.
예제
{
"RequestType" : "Delete",
"RequestId" : "unique id for this delete request",
"ResponseURL" : "pre-signed-url-for-delete-response",
"ResourceType" : "Custom::MyCustomResourceType",
"LogicalResourceId" : "name of resource in template",
"StackId" : "arn:aws:cloudformation:us-west-2:123456789012:stack/mystack/5b918d10-cd98-11ea-90d5-0a9cd3354c10",
"PhysicalResourceId" : "custom resource provider-defined physical id",
"ResourceProperties" : {
"key1" : "string",
"key2" : [ "list" ],
"key3" : { "key4" : "map" }
}
}
응답
Success
삭제 요청이 성공하면 다음 필드가 포함된 응답을 S3 버킷에 전송해야 합니다.
Status
-
SUCCESS
여야 합니다. RequestId
-
요청에 대한 고유 ID입니다. 이 응답 값은 요청에서 그대로 복사해야 합니다.
LogicalResourceId
-
AWS CloudFormation 템플릿에 있는 사용자 지정 리소스의 템플릿 개발자 선택 이름(논리적 ID). 이 응답 값은 요청에서 그대로 복사해야 합니다.
StackId
-
사용자 지정 리소스가 들어 있는 스택을 나타내는 Amazon 리소스 이름(ARN). 이 응답 값은 요청에서 그대로 복사해야 합니다.
PhysicalResourceId
이 값은 사용자 지정 리소스 공급업체 고유의 ID여야 하며, 크기는 최대 1KB까지 가능합니다. 값은 빈 문자열일 수 없으며, 동일한 리소스의 모든 응답에 대해 동일해야 합니다.
PhysicalResourceId
에 대해 반환된 값은 사용자 지정 리소스 업데이트 작업을 변경할 수 있습니다. 반환된 값이 같은 경우 일반 업데이트로 간주됩니다. 반환된 값이 다른 경우 AWS CloudFormation은 업데이트를 교체로 인식하고 기존 리소스에 삭제 요청을 전송합니다. 자세한 내용은AWS::CloudFormation::CustomResource
단원을 참조하십시오.
예제
{
"Status" : "SUCCESS",
"RequestId" : "unique id for this delete request (copied from request)",
"LogicalResourceId" : "name of resource in template (copied from request)",
"StackId" : "arn:aws:cloudformation:us-west-2:123456789012:stack/mystack/5b918d10-cd98-11ea-90d5-0a9cd3354c10 (copied from request)",
"PhysicalResourceId" : "custom resource provider-defined physical id"
}
Failed
삭제 요청이 실패하면 다음 필드가 포함된 응답을 S3 버킷에 전송해야 합니다.
예제
{
"Status" : "FAILED",
"Reason" : "Required failure reason string",
"RequestId" : "unique id for this delete request (copied from request)",
"LogicalResourceId" : "name of resource in template (copied from request)",
"StackId" : "arn:aws:cloudformation:us-west-2:123456789012:stack/mystack/5b918d10-cd98-11ea-90d5-0a9cd3354c10 (copied from request)",
"PhysicalResourceId" : "custom resource provider-defined physical id"
}