Techfirm Cloud Architect Blog

テックファーム株式会社クラウドインフラグループのブログ

インスタンスメタデータV1とV2の違いについて

インスタンスメタデータとは?

インスタンスメタデータとは、データそのものではなく、データに関する情報を指します。たとえば、写真のインスタンスメタデータには撮影日時やカメラの設定などが含まれます。Amazon EC2インスタンス(仮想サーバー)でもインスタンスメタデータが使用されており、インスタンスの設定や状態に関する情報を取得するために利用されます。 以下例文として挙げられるURLはAmazon EC2の公式ドキュメントに記載のあるエンドポイントです。
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html

インスタンスメタデータV1

インスタンスメタデータV1は、Amazon EC2インスタンスで使用されるインスタンスメタデータの初期バージョンです。以下の特徴があります:

  • アクセス方法: URLに直接アクセスすることでインスタンスメタデータを取得できます。 以下例文です。
curl http://169.254.169.254/latest/meta-data/
  • セキュリティ: セッション管理がなく、誰でも簡単にインスタンスメタデータにアクセスできるため、セキュリティリスクが高いです。

インスタンスメタデータV2

  • インスタンスメタデータV2は、インスタンスメタデータV1のセキュリティを強化した新しいバージョンです。以下の特徴があります:
  • アクセス方法: インスタンスメタデータにアクセスする前に、セッショントークンを生成し、そのトークンを使用してアクセスします。
    以下例文です。
TOKEN=$(curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600")
  • セキュリティ: セッショントークンを使用することで、外部からの不正アクセスを防ぎ、セキュリティが強化されています。トークンの有効期限が設定されているため、定期的に更新が必要です。

セッション管理とセッショントークン

セッション管理とは、特定の期間中にユーザーがウェブサイトやアプリケーションとやり取りするための一時的な状態を管理することです。セッションは通常、サーバー上に保存され、ユーザーが再訪問した際にその情報を継続して保持します。 セッショントークンは、特定の操作やデータにアクセスするための認証情報です。トークンは通常、ユーザーの認証情報や許可されたアクションの情報を持っており、サーバー上に保存されず、ユーザーの端末に保存されます。これにより、セキュリティが強化され、外部からの不正アクセスを防ぐことができます。

インスタンスメタデータV1とV2の違い

インスタンスメタデータV1とV2の主な違いは、セキュリティとアクセス方法にあります。インスタンスメタデータV1はアクセスが簡単ですがセキュリティが弱く、インスタンスメタデータV2はアクセスが少し複雑ですがセキュリティが強化されています。

インスタンスメタデータV2への移行

Amazon EC2では、インスタンスメタデータV2への移行を推奨しています。移行には以下のツールと手順が役立ちます:

  • AWS CLIおよびSDK: 最新バージョンのAWS CLIおよびSDKはIMDSv2をサポートしています。
  • IMDSパケットアナライザー: インスタンスのブートフェーズからのIMDSv1呼び出しを特定して記録するツールです。
  • CloudWatchメトリクス: IMDSv1呼び出しの数を追跡し、IMDSv2への移行状況を確認できます。
  • EC2 APIおよびCLI: 新しいインスタンスの起動や既存インスタンスの設定変更に使用できます。

まとめ

インスタンスメタデータV1とV2は、それぞれ異なる特徴と利点を持っています。セキュリティが重要な場合は、インスタンスメタデータV2を使用することをオススメします。これにより、インスタンスの情報をより安全に管理できます。