

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

# アカウントで Lambda フックをアクティブ化する
<a name="lambda-hooks-activate-hooks"></a>

次のトピックでは、アカウントで Lambda フックをアクティブ化する方法を示します。これにより、アクティブ化されたアカウントとリージョンで使用できます。

**Topics**
+ [Lambda フックをアクティブ化する (コンソール)](#lambda-hooks-activate-hook-console)
+ [Lambda フックをアクティブ化する (AWS CLI)](#lambda-hooks-activate-hooks-cli)
+ [関連リソース](#related-resources-lambda-hooks)

## Lambda フックをアクティブ化する (コンソール)
<a name="lambda-hooks-activate-hook-console"></a>

**アカウントで使用する Lambda フックをアクティブ化するには**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/) で CloudFormation コンソールを開きます。

1. 画面上部のナビゲーションバーで、フックを作成する AWS リージョン を選択します。

1. フックの Lambda 関数を作成*していない場合*は、次の操作を行います。
   + Lambda コンソールで [[Functions (関数)] ページ](https://console.aws.amazon.com/lambda/home#/functions)を開きます。
   + このフックで使用する Lambda 関数を作成し、この手順に戻ります。詳細については、「[Lambda フックのリソースを評価する Lambda 関数を作成する](lambda-hooks-create-lambda-function.md)」を参照してください。

   Lambda 関数を既に作成している場合は、次のステップに進みます。

1. 左側のナビゲーションペインで、**フック**を選択します。

1. **フック**ページで、**フックの作成**を選択し、**Lambda **で を選択します。

1. **フック名**で、次のいずれかのオプションを選択します。
   + の後に追加される短いわかりやすい名前を指定します`Private::Lambda::`。たとえば、 と入力すると*`MyTestHook`*、完全なフック名は になります`Private::Lambda::MyTestHook`。
   + 次の形式を使用して、完全なフック名 (エイリアスとも呼ばれます) を指定します。 `Provider::ServiceName::HookName`

1. **Lambda 関数**の場合は、このフックで使用する Lambda 関数を指定します。次を使用できます。
   + サフィックスのない完全な Amazon リソースネーム (ARN)。
   + バージョンまたはエイリアスのサフィックスを持つ修飾 ARN。

1. **フックターゲット**で、評価対象を選択します。
   + **スタック** — ユーザーがスタックを作成、更新、または削除するときにスタックテンプレートを評価します。
   + **リソース** — ユーザーがスタックを更新するときに、個々のリソースの変更を評価します。
   + **変更セット** — ユーザーが変更セットを作成するときに、計画された更新を評価します。
   + **Cloud Control API** — [Cloud Control API](https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/what-is-cloudcontrolapi.html) によって開始された作成、更新、または削除オペレーションを評価します。

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

1. **フックモードでは**、フックによって呼び出された Lambda 関数がレスポンスを返したときにフックが`FAILED`応答する方法を選択します。
   + **警告** — ユーザーに警告を発行しますが、アクションを続行できます。これは、重要でない検証や情報チェックに役立ちます。
   + **失敗** — アクションが続行されないようにします。これは、厳格なコンプライアンスまたはセキュリティポリシーを適用するのに役立ちます。

1. **実行ロール**で、フックが Lambda 関数を呼び出すために引き受ける IAM ロールを選択します。CloudFormation が実行ロールを自動的に作成できるようにするか、作成したロールを指定できます。

1. [**次へ**] を選択します。

1. (オプション) **フックフィルター**の場合は、次の操作を行います。

   1. **リソースフィルター**で、フックを呼び出すことができるリソースタイプを指定します。これにより、フックは関連するリソースに対してのみ呼び出されます。

   1. **フィルタリング条件**で、スタック名とスタックロールフィルターを適用するロジックを選択します。
      + **すべてのスタック名とスタックロール** – フックは、指定されたすべてのフィルターが一致する場合にのみ呼び出されます。
      + **スタック名とスタックロール** – 指定されたフィルターの少なくとも 1 つが一致すると、フックが呼び出されます。
**注記**  
Cloud Control API オペレーションでは、すべての**スタック名**と**スタックロール**フィルターは無視されます。

   1. **スタック名**には、フック呼び出しに特定のスタックを含めるか除外します。
      + **含める** には、含めるスタック名を指定します。これは、ターゲットにする特定のスタックの小さなセットがある場合に使用します。このリストで指定されたスタックのみがフックを呼び出します。
      + **Exclude** には、除外するスタック名を指定します。これは、ほとんどのスタックでフックを呼び出すが、いくつかの特定のスタックを除外する場合に使用します。ここにリストされているスタックを除くすべてのスタックは、 フックを呼び出します。

   1. **スタックロール**の場合、関連付けられた IAM ロールに基づいてフック呼び出しに特定のスタックを含めるか除外します。
      + **Include** には、これらのロールに関連付けられたスタックをターゲットにする 1 つ以上の IAM ロール ARNs を指定します。これらのロールによって開始されたスタックオペレーションのみがフックを呼び出します。
      + **Exclude** には、除外するスタックの 1 つ以上の IAM ロール ARNs を指定します。フックは、指定されたロールによって開始されたスタックを除くすべてのスタックで呼び出されます。

1. [**次へ**] を選択します。

1. **レビューとアクティブ化**ページで、選択内容を確認します。変更するには、関連セクションで [**編集**] をクリックします。

1. 続行する準備ができたら、**Activate Hook** を選択します。

## Lambda フックをアクティブ化する (AWS CLI)
<a name="lambda-hooks-activate-hooks-cli"></a>

続行する前に、Lambda 関数と、このフックで使用する実行ロールが作成されていることを確認します。詳細については、「[Lambda フックのリソースを評価する Lambda 関数を作成する](lambda-hooks-create-lambda-function.md)」および「[Lambda フックの実行ロールを作成する](lambda-hooks-prepare-to-create-hook.md#lambda-hooks-create-execution-role)」を参照してください。

**アカウントで使用する Lambda フックをアクティブ化するには (AWS CLI)**

1. フックのアクティブ化を開始するには、次の[https://docs.aws.amazon.com/cli/latest/reference/cloudformation/activate-type.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/activate-type.html)コマンドを使用して、プレースホルダーを特定の値に置き換えます。このコマンドは、フックが から指定された実行ロールを使用することを許可します AWS アカウント。

   ```
   aws cloudformation activate-type --type HOOK \
     --type-name AWS::Hooks::LambdaHook \
     --publisher-id aws-hooks \
     --execution-role-arn arn:aws:iam::123456789012:role/my-execution-role \
     --type-name-alias Private::Lambda::MyTestHook \
     --region us-west-2
   ```

1. フックのアクティブ化を完了するには、JSON 設定ファイルを使用してフックを設定する必要があります。

   **cat** コマンドを使用して、次の構造で JSON ファイルを作成します。詳細については、「[フック設定スキーマ構文リファレンス](hook-configuration-schema.md)」を参照してください。

   ```
   $ cat > config.json
   {
     "CloudFormationConfiguration": {
       "HookConfiguration": {
         "HookInvocationStatus": "ENABLED",
         "TargetOperations": [
           "CLOUD_CONTROL"
         ],
         "FailureMode": "WARN",
         "Properties": {
           "LambdaFunction": "arn:aws:lambda:us-west-2:123456789012:function:MyFunction"
         },
         "TargetFilters": {
           "Actions": [
             "CREATE",
             "UPDATE",
             "DELETE"
           ]
         }
       }
     }
   }
   ```
   + `HookInvocationStatus`: フックを有効にする`ENABLED`には、 に設定します。
   + `TargetOperations`: フックが評価するオペレーションを指定します。
   + `FailureMode`: `FAIL` または `WARN` に設定します。
   + `LambdaFunction`: Lambda 関数の ARN を指定します。
   + `TargetFilters`: フックを呼び出すアクションのタイプを指定します。

1. 次の[https://docs.aws.amazon.com/cli/latest/reference/cloudformation/set-type-configuration.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/set-type-configuration.html)コマンドと作成した JSON ファイルを使用して、設定を適用します。プレースホルダーを特定の値に置き換えます。

   ```
   aws cloudformation set-type-configuration \
     --configuration file://config.json \
     --type-arn "arn:aws:cloudformation:us-west-2:123456789012:type/hook/MyTestHook" \
     --region us-west-2
   ```

## 関連リソース
<a name="related-resources-lambda-hooks"></a>

CloudFormation スタックテンプレートで Lambda フックを宣言する方法を理解するために使用できるテンプレートの例を示します。詳細については、AWS CloudFormation  ユーザーガイドの [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-cloudformation-lambdahook.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-cloudformation-lambdahook.html)を参照してください。