

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

# CloudFormation フックの作成と管理
<a name="creating-and-managing-hooks"></a>

CloudFormation フックは、スタックの作成、変更、または削除を許可する前に CloudFormation リソースを評価するメカニズムを提供します。この機能は、CloudFormation リソースが組織のセキュリティ、運用、コスト最適化のベストプラクティスに準拠していることを確保するのに役立ちます。

フックを作成するには、4 つのオプションがあります。
+ **フックとしてのプロアクティブコントロール** – AWS Control Tower Control Catalog のプロアクティブコントロールを使用してリソースを評価します。
+ **ガードフック** – AWS CloudFormation Guard ルールを使用してリソースを評価します。
+ **Lambda フック** – リソース評価のリクエストを AWS Lambda 関数に転送します。
+ **カスタムフック** – 手動で開発するカスタムフックハンドラーを使用します。

------
#### [ Proactive controls as Hooks ]

プロアクティブコントロールからフックを作成するには、次の手順に従います。

1. CloudFormation コンソールに移動し、フックの作成を開始します。

1. フックでリソースを評価するコントロールカタログから特定のコントロールを選択します。

   これらのコントロールは、指定されたリソースが作成または更新されるたびに自動的に適用されます。選択によって、フックが評価するリソースタイプが決まります。

1. フックモードを設定して、コンプライアンス違反についてユーザーに警告するか、非準拠オペレーションを防止します。

1. スタック名またはスタックロールでスタックを含めるか除外するようにオプションのフィルターを設定します。

1. 設定が完了したら、フックをアクティブ化して適用を開始します。

------
#### [ Guard Hook ]

ガードフックを作成するには、次の手順に従います。

1. Guard ドメイン固有の言語 (DSL) を使用して、リソース評価ロジックを Guard ポリシールールとして記述します。

1. ガードポリシールールを Amazon S3 バケットに保存します。

1. CloudFormation コンソールに移動し、ガードフックの作成を開始します。

1. ガードルールへの Amazon S3 パスを指定します。

1. フックが評価する特定のターゲットタイプを選択します。
   + CloudFormation リソース (`RESOURCE`)
   + スタックテンプレート全体 (`STACK`)
   + 変更セット (`CHANGE_SET`)
   + Cloud Control API リソース (`CLOUD_CONTROL`)

1. フックを呼び出すデプロイアクション (作成、更新、削除) を選択します。

1. 評価に失敗したときにフックがどのように応答するかを選択します。

1. オプションのフィルターを設定して、フックが評価するリソースタイプを指定する

1. スタック名またはスタックロールでスタックを含めるか除外するようにオプションのフィルターを設定します。

1. 設定が完了したら、フックをアクティブ化して適用を開始します。

------
#### [ Lambda Hook ]

Lambda フックを作成するには、次の手順に従います。

1. リソース評価ロジックを Lambda 関数として記述します。

1. CloudFormation コンソールに移動し、Lambda フックの作成を開始します。

1. Lambda 関数の Amazon リソースネーム (ARN) を指定します。

1. フックが評価する特定のターゲットタイプを選択します。
   + CloudFormation リソース (`RESOURCE`)
   + スタックテンプレート全体 (`STACK`)
   + 変更セット (`CHANGE_SET`)
   + Cloud Control API リソース (`CLOUD_CONTROL`)

1. フックを呼び出すデプロイアクション (作成、更新、削除) を選択します。

1. 評価に失敗したときにフックがどのように応答するかを選択します。

1. オプションのフィルターを設定して、フックが評価するリソースタイプを指定する

1. スタック名またはスタックロールでスタックを含めるか除外するようにオプションのフィルターを設定します。

1. 設定が完了したら、フックをアクティブ化して適用を開始します。

------
#### [ Custom Hook ]

カスタムフックは、CloudFormation コマンドラインインターフェイス (CFN-CLI) を使用して CloudFormation レジストリに登録する拡張機能です。

カスタムフックを作成するには、以下の主要なステップに従います。

1. **プロジェクトを開始する – **カスタムフックの開発に必要なファイルを生成します。

1. **フックのモデル**化 – フックを定義するスキーマと、フックを呼び出すことができるオペレーションを指定するハンドラーを記述します。

1. **フックを登録してアクティブ化する** – フックを作成したら、フックを使用するアカウントとリージョンに登録する必要があります。これによりフックがアクティブ化されます。

------

以下のトピックでは、フックの作成と管理について詳しく説明します。

**Topics**
+ [概念](hooks-concepts.md)
+ [フックとしてのプロアクティブコントロール](proactive-controls-hooks.md)
+ [Guardフック](guard-hooks.md)
+ [Lambda フック](lambda-hooks.md)
+ [カスタムフック](hooks-develop.md)