Featured image of post 独自VPCのEC2は再起動してもIPが変わらないか検証【ElasticIP】

独自VPCのEC2は再起動してもIPが変わらないか検証【ElasticIP】

独自VPC上のEC2インスタンスは再起動してもパブリックIPが変わらないという話を検証しました。デフォルトVPCと独自VPCそれぞれで、作成直後・再起動・停止→起動のIPアドレスを比較。ElasticIPの説明も♪

1832文字

EC2のIPアドレス

再起動のたびにIPが動的に変わる説

EC2を利用する際、EC2のパブリックIPアドレスEC2インスタンスが再起動されるたびに変わるという、という話はよく聞きます。

パブリックIPアドレスが変わってしまうと接続時の情報が変わってしまい、システムが動かなくなってしまう恐れがあります。

AWSには、この問題を防ぐためにElasticIPというものが良いされています。

ElasticIPとは?

ElasticIPとは、EC2インスタンスに割り当てることの出来る不変なGIPとなっています。

このIPをあらかじめEC2インスタンスに割り当てておけば、再起動によりEC2インスタンス自体のパブリックIPアドレスが変わっても、外部からは不変のElasticIPを参照しているので、システムが動かなくなるという事が起きない、という事になります。

独自VPCを利用するとパブリックIPアドレスが変わらない?

ある時、独自VPCを用いて構築したEC2インスタンスについては、再起動をかけてもパブリックIPアドレスが変わらない、という話を聞きました。

果たして本当なのでしょうか?実際に検証してみました。

検証

参考

AWSへのVPC作成については以下の記事をご参考にしていただければなと思います。

関連記事 【仮想ネットワーク】AWS上に独自VPCを作ってみよう【AWSの土台】 2018/06/07 2545文字 約6分で読めます IT AWS Mac Windows カスタマイズ 関連記事 【AWS】public/privateサブネット上にEC2インスタンスを乗せてSSH通信をしてみよう【VPC】 2018/06/11 3870文字 約8分で読めます IT AWS Mac Windows カスタマイズ

IPアドレスについて

IPアドレスをここで公開すると、いろいろとセキュリティ的に怖いので、ダミー値を使った記事とさせて頂いてますのでご了承ください。

デフォルトVPC

まずは、デフォルトVPCにEC2インスタンスを作成し、確認してみます。

各種IPアドレス(作成直後)

作成直後のIPアドレスは以下の通りとなっています。

IPv4 パブリック IP111.222.333.444
プライベート IP999.888.777.666

各種IPアドレス(再起動)

では、EC2インスタンスを再起動してみましょう。
再起動後の各IPアドレスは以下のようになりました。

IPv4 パブリック IP111.222.333.444
プライベート IP999.888.777.666

どうやら再起動ではパブリック/プライベートともにIPアドレスは変わらないようですね。
2,3回行いましたが変わりませんでした。

各種IPアドレス(停止→起動)

では、次はEC2インスタンスを一度停止してから起動してみました。
停止→起動後のIPアドレスは以下のようになりました。

IPv4 パブリック IP111.222.333.555
プライベート IP999.888.777.666

一度停止すると、その時点でパブリックIPアドレスが解放されてしまい、そのタイミングで変わってしまうようですね。

ただ、プライベートIPアドレスは変わらなかったので、同ネットワーク内であれば気にする必要は無いのかもしれません。

独自VPC

では、次に独自VPCで作業を行ってみましょう。

各種IPアドレス(作成直後)

起動直後のIPアドレスは以下の通りとなっています。

IPv4 パブリック IP222.222.333.444
プライベート IP888.888.777.666

各種IPアドレス(再起動)

では、EC2インスタンスを再起動してみましょう。
再起動後のIPアドレスは以下のようになりました。

IPv4 パブリック IP222.222.333.444
プライベート IP888.888.777.666

こちらも同様に再起動ではパブリック/プライベートともにIPアドレスは変わらないようですね。

各種IPアドレス(停止→起動)

では、次はEC2インスタンスを一度停止してから起動してみました。
停止→起動後のIPアドレスは以下のようになりました。

IPv4 パブリック IP222.222.333.444
プライベート IP888.888.777.666

独自VPCの方のEC2は一度停止してから再起動してもパブリックIPアドレス/プライベートIPアドレスともに変わりませんでした。

停止した時点でもデフォルトVPCとは違い、設定されたままとなっていました。

結論

結論
  • 独自VPCでは停止→再起動をしてもパブリックIPアドレスは変わらない
  • デフォルトVPCでも、再起動ではパブリックIPアドレスは変わらない

※今回はたまたま変わらなかっただけで、とある設定や条件下では変わる可能性がありますので、くれぐれも1参考例として捉えていただければなと思います。いずれにせよ、ElasticIPを使う/使わないの判断は要件によって合わせるようにお願いします。

終わりに

てっきり、自分はEC2インスタンスの再起動だけでもパブリックIPは変わってしまうのだと思っていました。

AWSのネットワーク周りはまだまだ知識不足でわからない部分が多々ありますので、少しずつ理解を深めていければなと思っております