0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Amazon EC2】パブリックIPの仕組みについて

0
Last updated at Posted at 2026-08-04

はじめに

EC2に接続中、パブリックIPを確認したくなり、ipコマンドを実行するも、パブリックIPが表示されず「?」となったので調査する。

調査

IP設定に関連するコマンドをいくつか実行してみる。
※EC2のパブリックIPの第一オクテットは"52"

ipコマンド

# ip a | grep "52\."
#

IMDS問い合わせ

# TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 600"`
# curl -s -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/public-ipv4
52.*.*.*#

ifconfig.me問い合わせ

# curl ifconfig.me
52.*.*.*# 

ipコマンドでパブリックIPが表示されないので、割り当てられていないのか…と思いきや、
IMDS、ifconfig.meでは表示されるからやっぱり割り当てられているのか…???

答えはこれか。

インスタンスにパブリック IPv4 アドレスが自動的に割り当てられるように VPC を設定するか、インスタンスに Elastic IP アドレスを割り当てることができます。インスタンスは、VPC とサブネット内で定義されたプライベート(内部)IP アドレス空間のみを認識します。インターネットゲートウェイはインスタンスに代わって 1 対 1 の NAT を論理的に行います。

(出典:インターネットゲートウェイを使用して VPC のインターネットアクセスを有効にする | AWS)

パブリックIPの割り当ての実態がNATで、OS側ではわからないからipコマンドでは見えなかったという次第。
※IMDSはメタデータ上のパブリックIP、ifconfig.meは外部通信時のクライアントIPを返している

最後に

今回の体験を踏まえて、EC2内部からパブリックIPを確認する場合は
IMDSかifconfig.meに問い合わせることとしたい。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?