削除 - AWS CloudFormation

削除

テンプレート開発者がスタックを削除するか、スタックからカスタムリソースを削除すると、CloudFormation は RequestTypeDelete に設定して custom resource provider にリクエストを送信します。カスタムリソースを持つスタックを正常に削除するには、削除リクエストに対して custom resource provider が適切に応答する必要があります。

カスタムリソースとその仕組みの概要については、「カスタムリソース」を参照してください。

リクエスト

削除リクエストには、以下のフィールドが含まれています。

RequestType

Delete.

RequestId

リクエストの一意の ID。

ResponseURL

応答 URL は、custom resource provider から AWS CloudFormation への応答を受信する署名済み S3 バケットを識別します。

ResourceType

CloudFormation テンプレート内のカスタムリソースに対し、テンプレートのデベロッパーが選択したリソースタイプ。カスタムリソースタイプの名前は、60 文字までの長さで指定できます。また、英数字や記号 _@- を含めることができます。

LogicalResourceId

AWS CloudFormation テンプレートで開発者が選択したカスタムリソースの名前 (論理 ID)。

StackId

カスタムリソースを含むスタックを識別する Amazon リソースネーム (ARN)。

PhysicalResourceId

custom resource provider によって定義された、プロバイダーで一意となる物理 ID (必須)。

PhysicalResourceId に返された値は、カスタムリソース更新オペレーションを変更できます。返される値が同じであれば、通常の更新と見なされます。返された値が異なる場合には、AWS CloudFormation は新しい方が更新用のものであると認識し、古いリソースに削除リクエストを送信します。詳細については、「AWS::CloudFormation::CustomResource」を参照してください。

ResourceProperties

このフィールドにはテンプレート開発者によって送信された Properties オブジェクトの内容が含まれます。その内容は、custom resource provider によって定義されます。

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

レスポンス

成功

削除リクエストが成功したときは、次のフィールドを含んだレスポンスを S3 バケットに送信する必要があります。

Status

SUCCESS を指定してください。

RequestId

リクエストの一意の ID。この応答値は、リクエストから逐語的にコピーする必要があります。

LogicalResourceId

AWS CloudFormation テンプレートで開発者が選択したカスタムリソースの名前 (論理 ID)。この応答値は、リクエストから逐語的にコピーする必要があります。

StackId

カスタムリソースを含むスタックを識別する Amazon リソースネーム (ARN)。この応答値は、リクエストから逐語的にコピーする必要があります。

PhysicalResourceId

この値は、カスタムリソースベンダーに固有の識別子である必要があり、サイズは最大 1 KB までです。値は空でない文字列でなければならず、同じリソースに対するすべての応答で同一である必要があります。

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

[失敗]

削除リクエストが失敗したときは、次のフィールドを含んだレスポンスを S3 バケットに送信する必要があります。

Status

FAILED を指定してください。

Reason

失敗の理由。

RequestId

削除リクエストからコピーされた RequestId 値。

LogicalResourceId

削除リクエストからコピーされた LogicalResourceId 値。

StackId

削除リクエストからコピーされた StackId 値。

PhysicalResourceId

custom resource provider によって定義された、プロバイダーで一意となる物理 ID (必須)。

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