スキップしてコンテンツを表示

EC2 インスタンスでインスタンスメタデータを設定し、タグを有効化する方法を教えてください。

所要時間2分
0

Amazon Elastic Compute Cloud (Amazon EC2) インスタンスに、インスタンスメタデータサービス (IMDS) を設定しようとしています。

簡単な説明

すべての AWS リージョンにわたり、AWS アカウントの新しいインスタンスにデフォルトの IMDS 機能を設定できます。デフォルトでは、最新のインスタンスタイプは Instance Metadata Service バージョン 2 (IMDSv2) を使用します。これらのインスタンスタイプで Instance Metadata Service バージョン 1 (IMDSv1) を使用するには、インスタンスで IMDSv1 を手動でアクティブ化する必要があります。IMDSv1 を使用する必要がない限り、セキュリティの観点から、IMDSv2 の使用をおすすめします。

重要: インスタンスで IMDSv2 を設定した場合、IMDSv1 は動作しなくなり、IMDSv1 を使用するアプリケーションが正しく機能しなくなる可能性があります。IMDSv2 を適用する前に、Amazon EC2 メタデータを使用するアプリケーションを IMDSv2 をサポートするバージョンにアップグレードしてください。IMDSv1 と IMDSv2 の違いに関する詳細については、「Instance Metadata Service を使用してインスタンスメタデータにアクセスする」を参照してください。

デフォルトでは、Amazon EC2 はインスタンスメタデータ内のインスタンスタグへのアクセスを付与しません。インスタンスの起動時、あるいは実行中または停止中のインスタンスが起動した後に、アクセスを許可する必要があります。

解決策

注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI で発生したエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。

インスタンスメタデータの設定には、次の方法を組み合わせることができます。ただし、メタデータオプションの優先順位は、インスタンスの起動時に階層的に設定されます

AMI レベルでのインスタンスメタデータを設定する

既存または新規の Amazon マシンイメージ (AMI) は、IMDSv2 を使用するように設定できます。設定を行った AMI を使用してインスタンスを起動すると、Amazon EC2 はインスタンスメタデータのバージョンを IMDSv2 に、ホップ制限を 2 に自動的に設定します。

重要: AMI ソフトウェアが IMDSv2 をサポートしていることを確認してください。imds-support の値を v2.0 に設定した後に、元に戻すことはできません。基盤スナップショットを使用して新しい AMI を作成する以外の方法では、その AMI はリセットできません。

新しい AMI が IMDSv2 を使用するように設定するには、次の AWS CLI コマンド register-image を実行します。

aws ec2 register-image \
    --name my-image \
    --root-device-name /dev/xvda \
    --block-device-mappings DeviceName=/dev/xvda,Ebs={SnapshotId=snap-0123456789example} \
    --architecture x86_64 \
    --imds-support v2.0

注: 実際のものでそれぞれ、my-image を AMI 名に、/dev/xvdaルートボリュームのデバイス名に、snap-0123456789example をスナップショット ID に、x86_64 をアーキテクチャに置き換えます。

既存の AMI が IMDSv2 を使用するように設定するには、次の modify-image-attribute コマンドを実行します。

aws ec2 modify-image-attribute \
    --image-id ami-0123456789example \
    --imds-support v2.0

注: ami-0123456789example を既存の AMI ID に置き換えてください。

起動テンプレートのメタデータでタグを許可する

AMI のタグへのアクセスは、直接設定することはできません。Amazon EC2 起動テンプレートを作成する必要があります。[詳細設定] で、[メタデータのタグを許可]- に設定します。この起動テンプレートから起動するインスタンスでは、そのインスタンスのメタデータ内のすべてのタグにアクセスできます。

アカウントレベルでインスタンスメタデータを設定する

アカウント内のすべてのインスタンスにIMDSv2を設定します。または、IMDSv1 を許可するには、[メタデータバージョン][V1とV2 (トークン省略可能)] を選択します。アカウントレベルでインスタンスメタデータのタグにアクセスできるようにするには、[IMDSのデフォルト][メタデータのタグへのアクセス][有効] に設定します。

重要: インスタンスメタデータは、アカウント内のリージョンごとに 1 回設定する必要があります。

インスタンスレベルでインスタンスメタデータを設定する

注: AWS Identity and Access Management (IAM) ポリシーまたはサービスコントロールポリシーにより、インスタンス設定で行える変更が制限される場合があります。

新しいインスタンスにおいて、IMDS とメタデータ内のタグへのアクセスを設定するには、インスタンスの起動時に [高度な詳細] を展開します。次に、以下の設定を行います。

  • [メタデータにアクセス可能][有効] を選択します。
  • [メタデータバージョン][V2 のみ (トークン必須)] または [V1 と V2 (トークン省略可能)] を選択します。
    注: Amazon Elastic Container Service (Amazon ECS) や Amazon Elastic Kubernetes サービス (Amazon EKS) などのコンテナ環境を使用する場合は、[メタデータの応答ホップ制限]2 を選択します。
  • [メタデータのタグへのアクセス][有効] を選択します。

既存のインスタンスを変更する場合は、設定を変更します。IMDSv1 または IMDSv2 を使用する場合は、[IMDSv2][オプション] を選択してください。IMDSv2 を必須にする場合は、[必須] を選択します。次に、[インスタンス設定][インスタンスメタデータのタグを許可] を選択します。

関連情報

デフォルトの Amazon EC2 Instance Metadata Service IMDSv2

IMDSv2 の利点を最大限に活用し、AWS インフラストラクチャ全体で IMDSv1 を無効化する

AWS公式更新しました 5ヶ月前
コメントはありません

関連するコンテンツ