インスタンスメタデータへの通信を行う際にセキュリティグループでの許可は必要ですか?

インスタンスメタデータへの通信を行う際にセキュリティグループでの許可は不要です。
2024.01.17

困っていること

セキュリティの要件が厳しいため、セキュリティグループのアウトバウンドルールで特定の IP アドレス以外の通信をしないような設計が必要です。

設計中における調査にて、EC2 からインスタンスメタデータを取得するために 169.254.169.254 への通信が必要との記載がありました。

インスタンスメタデータへの通信を行う際に、セキュリティグループのアウトバウンドルールでの許可は必要であるかを確認したいです。

どう解決すればいいの?

インスタンスメタデータへの通信を行う際にセキュリティグループでの許可は不要です。

その他、下記宛先のトラフィックはセキュリティグループではフィルターされません。

  • Amazon ドメインネームサービス (DNS)
    • VPC の CIDR に2をプラスした値(例:10.0.0.0/16 → 10.0.0.2, 172.31.0.0/16 → 172.31.0.2)
    • 169.254.169.253
  • Amazon Dynamic Host Configuration Protocol (DHCP)
    • サブネットの CIDR に 1 をプラスした値(例:172.31.32.0/20 → 172.31.32.1)
  • Amazon EC2 インスタンスメタデータ
    • 169.254.169.254
  • Amazon ECS タスクメタデータエンドポイント
    • 169.254.170.2
  • Windows インスタンスのライセンスアクティベーション
    • 169.254.169.250
  • Amazon Time Sync Service
    • 169.254.169.123

おまけ

CIDR 範囲 172.31.32.0/20 のサブネットに EC2(Amazon Linux 2) を起動した際の、dhclient--eth0.lease を調べてみました。 なお、172.31.44.38 は EC2 のプライベート IP です。

$ cat dhclient--eth0.lease
lease {
  interface "eth0";
  fixed-address 172.31.44.38;
  option subnet-mask 255.255.240.0;
  option routers 172.31.32.1;
  option dhcp-lease-time 3600;
  option dhcp-message-type 5;
  option domain-name-servers 172.31.0.2;
  option dhcp-server-identifier 172.31.32.1;
  option interface-mtu 9001;
  option broadcast-address 172.31.47.255;
  option host-name "ip-172-31-44-38";
  option domain-name "ap-northeast-1.compute.internal";
  renew 3 2024/01/17 03:07:35;
  rebind 3 2024/01/17 03:33:40;
  expire 3 2024/01/17 03:41:10;
}

option dhcp-server-identifier がサブネットの CIDR に 1 をプラスした値になっていました。

/var/log/messages にも、172.31.32.1 から DHCPACK が送られているログがありました。

/var/log/messages

Jan 17 02:41:10 ip-172-31-44-38 dhclient[1999]: DHCPACK from 172.31.32.1 (xid=0x6ebde855)

参考資料

セキュリティグループを使用して AWS リソースへのトラフィックを制御する - Amazon Virtual Private Cloud

VPCデフォルトのDNSサーバへの通信はSecurity GroupのOutboundルールで制御できないことを確認してみた | DevelopersIO

タスクメタデータエンドポイントバージョン 2 - Amazon Elastic Container Service

Amazon EC2 Windows インスタンスでの Windows アクティベーションの失敗を解決する | AWS re:Post

サブネット CIDR ブロック - Amazon Virtual Private Cloud