AWSには「プライベートIP」「パブリックIP」「Elastic IP」と、IPが何種類も出てきます。混乱しやすいので、それぞれの役割を整理します。
プライベートIP
VPC/サブネットのCIDRから、EC2に割り当てられる内部用のIPです。
- VPC内の通信で使う
- インスタンスを停止・起動しても変わらない(固定)
- 例: 10.0.1.20
VPC内のサーバ同士は、このプライベートIPでやり取りします。
パブリックIP(自動割り当て)
インターネットと通信するための、外向けのIPです。パブリックサブネットのEC2に自動で付けられます。
- インターネットからアクセスできる
- ただし、インスタンスを停止・起動すると変わってしまう
- 例: 停止→起動で 54.x.x.x が別の値に
「固定したいのに、再起動でIPが変わって困る」——これがパブリックIPの弱点です。
Elastic IP(EIP)
固定のパブリックIPです。AWSから確保して、インスタンスに付け替えて使います。
- 停止・起動しても変わらない固定グローバルIP
- 別のインスタンスに付け替えられる(障害時の切り替えに便利)
- DNSに登録する外向けサービスや、相手にIPを固定で伝える必要がある場合に使う
使い分け
- プライベートIP: VPC内部の通信(常に使う)
- パブリックIP(自動): 一時的に外に出られればいい検証用など
- Elastic IP: 外部に固定IPで公開したい本番サーバ
コストの注意
Elastic IPは、使っていない(インスタンスに紐づいていない)状態だと課金されます。確保したまま放置すると無駄なコストになるので、使わないEIPは解放します。
実務での設計
最近は、サーバに直接EIPを付けるより、ロードバランサ(ALB/NLB)を前段に置いて、そのDNS名で公開する構成が主流です。サーバのIPを固定する必要がなくなり、冗長化もしやすくなります。
まとめ
- プライベートIP … VPC内部用・固定
- パブリックIP(自動)… 外向け・再起動で変わる
- Elastic IP … 外向け・固定(ただし遊ばせると課金)
「固定の外部IPが要る=EIP、でも今はLB前段が主流」と覚えておくと、設計で迷いません。