

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

# `AWSSupport-ConfigureEC2Metadata`
<a name="automation-awssupport-configureec2metadata"></a>

 **説明** 

このランブックは、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスのインスタンスメタデータサービス (IMDS) オプションの設定に役立ちます。このランブックを使用して以下を設定できます。
+ インスタンスメタデータに IMDSv2 の使用を強制します。
+ `HttpPutResponseHopLimit` 値を設定します。
+ インスタンスメタデータへのアクセスを許可または拒否します。

インスタンスメタデータの詳細については、*Amazon EC2 ユーザーガイド*[」の「インスタンスメタデータサービスの設定](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html)」を参照してください。

[このオートメーションを実行する (コンソール)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-ConfigureEC2Metadata)

**ドキュメントタイプ**

Automation

**[所有者]**

Amazon

**[Platforms]** (プラットフォーム)

Linux、macOS、Windows

**パラメータ**
+ AutomationAssumeRole

  タイプ: 文字列

  説明: (オプション) Systems Manager Automation がユーザーに代わってアクションを実行できるようにする AWS Identity and Access Management (IAM) ロールの Amazon リソースネーム (ARN)。ロールを指定しない場合、Systems Manager Automation はこのランブックを開始するユーザーのアクセス許可を使用します。
+ EnforceIMDSv2

  タイプ: 文字列

  有効な値: 必須 \$1 オプション

  デフォルト: オプション

  説明: (オプション) IMDSv2 を強制します。`required` を選択した場合、Amazon EC2 インスタンスは IMDSv2 のみを使用します。`optional` を選択した場合、メタデータへのアクセスに IMDSv1 と IMDSv2 のどちらかを選択できます。
**重要**  
IMDSv2 を強制すると、IMDSv1 を使用するアプリケーションが正しく機能しなくなる可能性があります。IMDSv2 を強制する前に、IMDS を使用するアプリケーションが IMDSv2 をサポートするバージョンにアップグレードされていることを確認してください。インスタンスメタデータサービスバージョン 2 (IMDSv2) の詳細については、*Amazon EC2 ユーザーガイド*[」の「インスタンスメタデータサービスの設定](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html)」を参照してください。
+ HttpPutResponseHopLimit

  タイプ: 整数

  有効な値: 0 ～ 64

  デフォルト: 0

  説明: (オプション) インスタンスメタデータリクエストで必要な HTTP PUT レスポンスのホップ制限値 (1 ～ 64)。この値は PUT レスポンスが通過できるホップ数を制御します。レスポンスがインスタンスの外部に伝わらないようにするには、パラメータ値を `1` に指定します。
+ InstanceId

  タイプ: 文字列

  説明: (必須) メタデータの設定を変更する Amazon EC2 インスタンスの ID。
+ MetadataAccess

  タイプ: 文字列

  有効な値: 有効 \$1 無効

  デフォルト: 有効

  説明: (オプション) Amazon EC2 インスタンスでのインスタンスメタデータアクセスを許可または拒否します。`disabled` を指定すると、他のすべてのパラメータは無視され、インスタンスのメタデータアクセスは拒否されます。

**必要な IAM アクセス許可**

`AutomationAssumeRole` パラメータでは、ランブックを正常に使用するために、次のアクションが必要です。
+ `ec2:DescribeInstances`
+ `ec2:ModifyInstanceMetadataOptions`
+ `ssm:GetAutomationExecution`
+ `ssm:StartAutomationExecution`

 **ドキュメントステップ** 

1. branchOnMetadataAccess - `MetadataAccess` パラメータの値に基づいて自動化を分岐します。

1. disableMetadataAccess - ModifyInstanceMetadataOptions API アクションを呼び出して、メタデータエンドポイントへのアクセスを無効にします。

1. branchOnHttpPutResponseHopLimit - `HttpPutResponseHopLimit` パラメータの値に基づいて自動化を分岐します。

1. maintainHopLimitAndConfigureImdsVersion - `HttpPutResponseHopLimit` が 0 の場合、現在のホップ制限を維持し、その他のメタデータオプションを変更します。

1. waitBeforeAssertingIMDSv2State - IMDSv2 のステータスをアサートする前に 30 秒待ちます。

1. setHopLimitAndConfigureImdsVersion - `HttpPutResponseHopLimit` が 0 より大きい場合、指定された入力パラメータを使用してメタデータオプションを設定します。

1. waitBeforeAssertingHopLimit - メタデータオプションをアサートする前に 30 秒待ちます。

1. assertHopLimit - `HttpPutResponseHopLimit` プロパティが指定した値に設定されていることをアサートします。

1. branchVerificationOnIMDSv2Option - `EnforceIMDSv2` パラメータの値に基づいて検証を分岐させます。

1. assertIMDSv2IsOptional - `HttpTokens` 値が `optional` に設定されていることをアサートします。

1. assertIMDSv2IsEnforced - `HttpTokens` 値が　`required` に設定されていることをアサートします。

1. waitBeforeAssertingMetadataState - メタデータの状態が無効になったことをアサートするまで 30 秒待ちます。

1. assertMetadataIsDisabled - メタデータが `disabled` であることをアサートします。

1. describeMetadataOptions - 指定した変更が適用された後にメタデータオプションを取得します。

 **出力** 

describeMetadataOptions.State

describeMetadataOptions.MetadataAccess

describeMetadataOptions.IMDSv2

describeMetadataOptions.HttpPutResponseHopLimit