

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

# カスタムアクション Lambda 実行ブロック
<a name="custom-action-lambda-block"></a>

カスタムアクションの Lambda 実行ブロックを使用すると、Lambda 関数を使用してカスタマイズされたステップをプランに追加できます。

## 設定
<a name="custom-action-lambda-block-config"></a>

Lambda 実行ブロックを設定するには、次の値を入力します。

**重要**  
実行ブロックを設定する前に、正しい IAM ポリシーが設定されていることを確認してください。詳細については、「[カスタムアクション Lambda 実行ブロックのサンプルポリシー](security_iam_region_switch_lambda.md)」を参照してください。

1. **ステップ名: **名前を入力します。

1. **ステップの説明 (オプション):** ステップの説明を入力します。

1. ***リージョン*をアクティブ化または非アクティブ化するときに呼び出される Lambda 関数 ARN**: このステップで実行する Lambda 関数の ARN を指定します。

1. **Lambda 関数を実行するリージョン: **ドロップダウンメニューで、Lambda 関数を実行するリージョンを選択します。

1. **タイムアウト: **タイムアウト値を入力します。

1. **再試行間隔: **再試行間隔を入力して、この間隔内に成功しなかった場合に Lambda 関数を再実行します。

次に、**[ステップを保存]** を選択します。

## 仕組み
<a name="custom-action-lambda-block-how"></a>
+ カスタムアクション Lambda 実行ブロックを作成する場合、実行するステップに 2 つの Lambda 関数を指定する必要があります。1 つはプランのリージョンごとに指定します。
+ Lambda を実行するリージョンを設定できます。例えば、アクティブ化するリージョンや非アクティブ化するリージョンなどです。ただし、非アクティブ化されたリージョンで を実行する場合は、そのリージョンに依存します。非アクティブ化するリージョンに依存することはお勧めしません。

このブロックは、正常な実行モードと不正な実行モードの両方をサポートします。不正な実行モードでは、リージョン切り替えは Lambda 実行ブロックステップをスキップします。

## プラン評価の一環として評価されるもの
<a name="custom-action-lambda-block-eval"></a>

リージョン切り替えがプランを評価すると、リージョン切り替えは Lambda 実行ブロックの設定とアクセス許可に対していくつかのチェックを実行します。リージョン切り替えは、以下が正しいことを確認します。
+ 設定で指定された Lambda 関数が存在します。
+ Lambda 関数の同時実行設定は、以下を検証することを含め、スロットリングされません。
  + 同時実行が 0 に設定されない。
  + 少なくとも 1 つの同時実行が使用可能であるか、予約されていない同時実行が存在する。

リージョン切り替えは、Lambda 関数のドライランを実行して、実際の関数ロジックを実行せずに、指定されたパラメータとアクセス許可を検証します。ドライランを実行すると、標準の Lambda コストが発生します。

リージョン切り替えは、プランの IAM ロールに Lambda 実行に必要なアクセス許可があることも検証します。リージョン切り替え実行ブロックに必要なアクセス許可の詳細については、「[ARC でのリージョン切り替えのアイデンティティベースのポリシーの例](security_iam_id-based-policy-examples-region-switch.md)」を参照してください。

Lambda 実行ブロックを適切に機能させるには、正しい IAM アクセス許可が不可欠です。これらの検証のいずれかが失敗した場合、リージョン切り替えは問題があることを示す警告を返し、アクセス許可または設定の問題を解決するのに役立つ特定のエラーメッセージを提供します。これにより、プランの実行中にこのステップが実行されている間に、Lambda を管理および操作するために必要なアクセス権がプランに付与されます。