AWS CloudFormation フックの概念 - AWS CloudFormation

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS CloudFormation フックの概念

AWS CloudFormation フックの理解と使用には、以下の用語と概念が不可欠です。

フック

フックには、CloudFormation がスタックまたは特定のリソースを作成、更新、または削除する直前に呼び出されるコードが含まれています。また、変更セットの作成オペレーション中に呼び出すこともできます。フックは、CloudFormation がプロビジョニングしようとしているテンプレート、リソース、または変更セットを検査できます。さらに、Cloud Control API が特定のリソースを作成、更新、または削除する直前にフックを呼び出すことができます。

Hook ロジックで定義されている組織ガイドラインに準拠していない設定が Hook によって識別された場合は、WARNユーザーまたは のいずれかを選択してFAIL、CloudFormation がリソースをプロビジョニングできないようにすることができます。

フックには次の特性があります。

  • プロアクティブ検証 – 非準拠のリソースを作成、更新、または削除する前に特定することで、リスク、運用オーバーヘッド、コストを削減します。

  • 自動適用 – で適用 AWS アカウント を行い、非準拠のリソースが CloudFormation によってプロビジョニングされないようにします。

失敗モード

フックロジックは成功または失敗を返す可能性があります。成功レスポンスにより、オペレーションを続行できます。非準拠のリソースに障害が発生すると、次のような結果になる可能性があります。

  • FAIL – プロビジョニングオペレーションを停止します。

  • WARN – プロビジョニングが警告メッセージで続行できるようにします。

WARN モードでフックを作成することは、スタックオペレーションに影響を与えずにフックの動作をモニタリングする効果的な方法です。まず、フックを WARN モードでアクティブ化して、影響を受けるオペレーションを理解します。潜在的な影響を評価したら、フックを FAIL モードに切り替えて、非準拠のオペレーションの防止を開始できます。

フックターゲット

フックターゲットは、フックが評価するオペレーションを指定します。これらは、以下に対するオペレーションです。

  • CloudFormation でサポートされているリソース (RESOURCE

  • スタックテンプレート (STACK

  • 変更セット (CHANGE_SET

  • Cloud Control API でサポートされているリソース (CLOUD_CONTROL

フックが評価する最も広範なオペレーションを指定する 1 つ以上のターゲットを定義します。たとえば、フックターゲットを作成して、すべての AWS リソースRESOURCEをターゲットにし、すべてのスタックテンプレートSTACKをターゲットにすることができます。

ターゲットアクション

ターゲットアクションはCREATE、フックを呼び出す特定のアクション (、UPDATE、または DELETE) を定義します。RESOURCESTACK、および CLOUD_CONTROLターゲットの場合、すべてのターゲットアクションが適用されます。CHANGE_SET ターゲットの場合、 CREATEアクションのみが適用されます。

フックハンドラー

カスタムフックの場合、これは評価を処理するコードです。これは、ターゲット呼び出しポイントと、フックが実行される正確なポイントを示すターゲットアクションに関連付けられます。これらの特定のポイントのロジックをホストするハンドラーを記述します。たとえば、PREターゲットアクションを持つCREATEターゲット呼び出しポイントは、preCreateフックハンドラーを作成します。フックハンドラー内のコードは、一致するターゲット呼び出しポイントとサービスが関連するターゲットアクションを実行するときに実行されます。

有効な値: (preCreate | preUpdate | preDelete

重要

ステータスが になるスタックオペレーションでは、フックは呼び出UpdateCleanupされません。たとえば、次の 2 つのシナリオでは、フックのpreDeleteハンドラーは呼び出されません。

  • スタックは、テンプレートから 1 つのリソースを削除した後に更新されます。

  • 置換の更新タイプのリソースが削除されます。

タイムアウトと再試行の制限

フックには呼び出しごとに 30 秒のタイムアウト制限があり、再試行回数は 3 回に制限されています。呼び出しがタイムアウトを超えると、フック実行がタイムアウトしたことを示すエラーメッセージが返されます。3 回目の再試行後、CloudFormation はフックの実行を失敗としてマークします。