AWSの「IPアドレス」の正体を知る:パブリックIPとElastic IP、どっちを使えばいいの?
こんにちは!SREとして日々クラウドの裏側と格闘しているエンジニアです。
AWSを触り始めて最初にぶつかる壁のひとつが「IPアドレス」の仕組みです。特に、EC2インスタンスを立ち上げるときに目にする「パブリックIP」と、後から登場する「Elastic IP(EIP)」の違い、最初は誰だって混乱しますよね。
今回は、この「インターネットの住所」の仕組みを、身近な郵便配達に例えながら、現場で役立つ知識として噛み砕いていきましょう。
—
インターネット上の「住所」を理解する
まず、私たちが普段ネットを見るとき、サーバーには必ず「IPアドレス」という住所が割り振られています。AWSのVPC(Virtual Private Cloud)という仮想的なネットワーク空間においても、それは同じです。
1. パブリックIP:使い捨ての「レンタルポスト」
インスタンスを起動したときに自動で付与されるパブリックIPは、言わば「一時的に割り当てられた郵便物受け取り用の一時的な住所」です。
- 特徴: インスタンスを停止(ストップ)して再起動すると、住所が変わってしまうことがあります。
- なぜ?: AWSという巨大な集合住宅の中で、「使われていない住所」を他の人に貸し出すために、インスタンスが止まると一旦回収されてしまうからです。
2. Elastic IP(EIP):あなた専用の「マイホームの表札」
一方で、Elastic IP(EIP)は「自分専用に予約した固定の住所」です。
- 特徴: インスタンスを停止しても、その住所はあなたのもとに残り続けます。
- なぜ?: あらかじめAWSから「この住所は〇〇さんのもの」と予約してキープしているからです。
—
なぜ「Elastic IP」が必要なのか?
「別に住所が変わってもいいじゃない?」と思うかもしれません。しかし、もしあなたがEC2をWebサーバーとして使い、ドメイン(example.com など)を紐付けていたとしたらどうでしょう。
サーバーを再起動するたびに、DNS(電話帳のようなもの)を書き換えるのは現実的ではありませんよね? サーバーが再起動しても、「昨日と同じ場所」で待機し続けるためにEIPが必要になるのです。
注意点:課金について
ここで一つ、SREからのアドバイスです。EIPは「予約しているだけで料金がかかる」場合があります。
- 使っている場合: インスタンスに紐付いていれば無料です。
- 使っていない場合: インスタンスを止めたままEIPだけを確保し続けると、「住所の空き家賃」として時間単位の料金が発生します。使わなくなったEIPは、すぐに解放する癖をつけておきましょう!
—
現場で役立つ!EIPの設定方法
実際にAWS CLIを使ってEIPを割り当てる手順を見てみましょう。黒い画面(ターミナル)での作業ですが、怖がることはありませんよ。
1. EIPを取得する
まずは、AWSから空いている住所を確保します。
# AWSからElastic IPを取得するコマンド
aws ec2 allocate-address --domain vpc
# 実行すると "AllocationId" が返ってきます。これが住所の管理番号です。
2. インスタンスに紐付ける
取得した住所を、あなたのEC2インスタンスに割り当てます。
# インスタンスIDと取得したAllocationIdを指定して関連付け
aws ec2 associate-address \
--instance-id i-0123456789abcdef0 \
--allocation-id eipalloc-0abcdef1234567890
# これで、このEC2は再起動しても同じ住所で居続けられます!
—
まとめ:初心者が守るべき「住所」のルール
最後に、実務で現場のメンバーによく伝えるポイントをまとめました。
1. 基本は「パブリックIP」でOK: インスタンス起動時に自動で付くもので、試験環境や開発環境なら十分です。
2. 本番環境には「Elastic IP」: ドメインを紐付ける本番環境なら、再起動でIPが変わらないEIPが必須です。
3. 「使わないなら捨てる」: EIPの解放を忘れると、月末のコストレポートを見て驚くことになります。不要になったら aws ec2 release-address コマンドでしっかり返却しましょう。
最初は複雑に見えるネットワークも、一つひとつ紐解いていけば、単なる「郵便配達の仕組み」と同じです。ぜひ、怖がらずにAWSのコンソールやCLIを触ってみてくださいね。
また次の記事で、より深いVPCの深淵を覗いていきましょう!それでは!
コメント