Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

AWS Lambdaと使用するAWS CloudFormation

フォーカスモード
AWS Lambdaと使用するAWS CloudFormation - AWS Lambda

AWS CloudFormation テンプレートでは、Lambda 関数をカスタムリソースのターゲットとして指定できます。パラメータの処理にカスタムリソースを使用したり、設定値を取得したり、スタックのライフサイクルイベント中に他の AWS のサービスを呼び出したりします。

次の例は、テンプレートの別の場所で定義される関数を呼び出します。

例 - カスタムリソースの定義
Resources: primerinvoke: Type: AWS::CloudFormation::CustomResource Version: "1.0" Properties: ServiceToken: !GetAtt primer.Arn FunctionName: !Ref randomerror

サービストークンは、スタックの作成、更新あるいは削除時に AWS CloudFormation が呼び出す関数の Amazon リソースネーム (ARN) です。また、FunctionName のように AWS CloudFormation が関数にそのまま渡す追加のプロパティを含めることができます。

AWS CloudFormation では、コールバック URL を含むイベントで非同期的に Lambda 関数を呼び出します。

例 – AWS CloudFormation メッセージイベント
{ "RequestType": "Create", "ServiceToken": "arn:aws:lambda:us-east-1:123456789012:function:lambda-error-processor-primer-14ROR2T3JKU66", "ResponseURL": "https://cloudformation-custom-resource-response-useast1.s3-us-east-1.amazonaws.com/arn%3Aaws%3Acloudformation%3Aus-east-1%3A123456789012%3Astack/lambda-error-processor/1134083a-2608-1e91-9897-022501a2c456%7Cprimerinvoke%7C5d478078-13e9-baf0-464a-7ef285ecc786?AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE&Expires=1555451971&Signature=28UijZePE5I4dvukKQqM%2F9Rf1o4%3D", "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/lambda-error-processor/1134083a-2608-1e91-9897-022501a2c456", "RequestId": "5d478078-13e9-baf0-464a-7ef285ecc786", "LogicalResourceId": "primerinvoke", "ResourceType": "AWS::CloudFormation::CustomResource", "ResourceProperties": { "ServiceToken": "arn:aws:lambda:us-east-1:123456789012:function:lambda-error-processor-primer-14ROR2T3JKU66", "FunctionName": "lambda-error-processor-randomerror-ZWUC391MQAJK" } }

関数は、成功あるいは失敗を示すコールバック URL にレスポンスを返す処理を行います 完全なレスポンスの構文については、「カスタムリソースの応答オブジェクト」を参照してください。

例 – AWS CloudFormation カスタムリソース応答
{ "Status": "SUCCESS", "PhysicalResourceId": "2019/04/18/[$LATEST]b3d1bfc65f19ec610654e4d9b9de47a0", "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/lambda-error-processor/1134083a-2608-1e91-9897-022501a2c456", "RequestId": "5d478078-13e9-baf0-464a-7ef285ecc786", "LogicalResourceId": "primerinvoke" }

AWS CloudFormation は応答の送信を処理する cfn-response という名前のライブラリを提供します。テンプレートで関数を定義する場合、ライブラリを名前で使用できます。AWS CloudFormation はこのライブラリを作成する関数のデプロイパッケージに追加します。

カスタムリソースが使用する関数に Elastic Network Interface がアタッチされている場合、次のリソースを region が関数が属するリージョンにダッシュがない VPC ポリシーに追加します。たとえば、us-east-1useast1 です。これにより、カスタムリソースは、AWS CloudFormation スタックにシグナルを送り返すコールバック URL に応答できるようになります。

arn:aws:s3:::cloudformation-custom-resource-response-region", "arn:aws:s3:::cloudformation-custom-resource-response-region/*",

次の関数例では、2 番目の関数を呼び出しています。呼び出しが成功すると、この関数は成功レスポンスを AWS CloudFormation に送信し、スタックの更新が継続します。テンプレートは、AWS Serverless Application Model から提供される AWS:: Serverless:: Function リソースタイプを使用します。

例 – カスタムリソース関数
Transform: 'AWS::Serverless-2016-10-31' Resources: primer: Type: AWS::Serverless::Function Properties: Handler: index.handler Runtime: nodejs16.x InlineCode: | var aws = require('aws-sdk'); var response = require('cfn-response'); exports.handler = function(event, context) { // For Delete requests, immediately send a SUCCESS response. if (event.RequestType == "Delete") { response.send(event, context, "SUCCESS"); return; } var responseStatus = "FAILED"; var responseData = {}; var functionName = event.ResourceProperties.FunctionName var lambda = new aws.Lambda(); lambda.invoke({ FunctionName: functionName }, function(err, invokeResult) { if (err) { responseData = {Error: "Invoke call failed"}; console.log(responseData.Error + ":\n", err); } else responseStatus = "SUCCESS"; response.send(event, context, responseStatus, responseData); }); }; Description: Invoke a function to create a log stream. MemorySize: 128 Timeout: 8 Role: !GetAtt role.Arn Tracing: Active

カスタムリソースが呼び出す関数がテンプレートで定義されていない場合、AWS CloudFormation の cfn-response モジュールから cfn-response のリソースコードを取得できます。

カスタムリソースの詳細については、AWS CloudFormationユーザーガイドカスタムリソースを参照してください。

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.