【AWS】同じパブリックIPアドレスを継続して利用できるようにする

## はじめに
作成したポートフォリオを、デプロイしたときに毎回毎回IPアドレスが変わってしまうのは面倒ですので、IPアドレスを固定する方法を忘れないように残しておきます。

## まずは概要など
EC2インスタンスでは、サービス停止後に再起動すると、パブリックIPアドレスが変わってしまいます。EIPを使うことで、同じパブリックIPアドレスを継続して利用できるようになります。
<details><summary>「EIP」とは</summary>

「EIP（イーアイピー）」は「Elastic IP」の略称で、AWSで固定IPアドレスを利用したいときに便利なサービスです。一度発行されたIPアドレスは、削除しない限り、消えることはありません。このため、サーバー停止後に再起動しても同じパブリックIPを利用できます。
</details>

#### 課金について

次の条件がすべて満たされている限り、**EIPに料金は発生しない**です。
- Elastic IP アドレスが EC2 インスタンスに関連付けられている。
- Elastic IP アドレスに関連付けられているインスタンスが実行中である。
- インスタンスには、1 つの Elastic IP アドレスしかアタッチされていない。
- Elastic IP アドレスが、アタッチされているネットワークインターフェイスに関連付けられている。

そのため、上記の条件を満たしていない Elastic IP アドレスについては、１時間単位で請求されます。例えば、以下のようなケースです。

- EIPを関連付けているEC2インスタンスが停止している場合
- EC2に関連付いていない（= 昔は使っていたが、EC2を停止してしまって忘れられている）EIP
- 関連付いているEC2は起動しているけれども、ふたつ目以降のEIP
- EIPの「リマップ(remap)」を、1ヶ月に100回以上行った場合（101回目以降について $0.1）

以上のことから、EC2にEIPを紐付けてもインスタンスを停止していると課金が発生するということ。つまり、インスタンスを起動すればEC2側で課金対象になり、停止していればEIP側で課金対象になるということ。非常にうまく作られてますね笑
課金額は[公式](https://aws.amazon.com/jp/ec2/pricing/on-demand/#Elastic_IP_Addresses)から確認ができます。

## 手順
#### 新しいアドレスを発行する(Elastic IP アドレスを割り当てる)
EC2のサービスから下記の手順でEIPを作成していきます。
![Elastic_IP_アドレス___EC2_Management_Console.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3338070/0ca3dd9a-1b85-2691-cff2-dbc498585ecd.jpeg)
割り当てるボタンを押すと、次のような画面が出てきますので特に変更することなく下部の「割り当てる」をクリックすると、作成が完了します。
![Cursor_と_Elastic_IP_アドレスを割り当てる___EC2_Management_Console.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3338070/e6917927-7a13-ec59-8f96-959c7af7cb65.jpeg)

#### EIPを関連付ける
発行されたIPアドレスを、どのEC2インスタンスで使用するのか、アドレスを関連付けます。
作成後に表示されるメッセージにある[このElastic IPアドレスを関連づける]か、対象のIPアドレスを選択し[アクション]メニューの[Elastic IPアドレスの関連付け]をクリックします。
![EC2_Management_Console.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3338070/184ce9ad-dd07-7bb7-3c48-fbb13162fabe.jpeg)
クリック後に、「Elastic IP アドレスの関連付け」画面が表示されます。
まず、「リソースタイプ」で「インスタンス」を選択します。
「インスタンス」メニューをクリックすると、候補が表示されるので、アドレスを割り当てたいEC2インスタンスを選択します。最後に、「関連付ける」ボタンをクリックします。
![Elastic_IP_アドレスの関連付け___EC2_Management_Console.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3338070/e4299eb6-6339-6c00-2975-92b866dbba54.jpeg)
以上これで、指定のインスタンスにEIPが関連付けられました。
また、はじめでも説明しましたが、EIPアドレスは関連付けられてない場合や関連付けたEC2インスタンスが停止状態の場合に料金が発生するので使用してしてない場合は、「関連付けの解除」をしてEIPアドレスを解放する必要があります。

#### インスタンスとの関連付けを解除する
EIPの解放を行う為に、まずEC2との関連付けを解除します。対象のEC2インスタンスを選択し、[Elastic IPアドレス]にあるIPアドレスをクリックします。
![インスタンス___EC2_Management_Console.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3338070/592e0d98-ddea-f137-9a26-12c744dad80f.jpeg)![Elastic_IP_アドレス___EC2_Management_Console.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3338070/914ee4a9-22ad-f8eb-39b8-f58294bf5049.jpeg)
EIPアドレスの画面が表示されるので、「アクション」メニューの[Elastic IPアドレスの関連付けの解除]をクリックします。クリック後に、EIPの課金についての注意書きが出てきますが、そのまま[関連付け解除]をクリックしましょう。
これで、EC2インスタンスとElastic IPアドレスの関連付けが解除されました。

#### Elastic IPアドレスを解放する
EC2インスタンスとElastic IPアドレスの関連付けが解除され、IPアドレスの解放が出来るようになりました。先ほどを同じ流れで「アクション」メニューを選択して、先ほどの[Elastic IPアドレスの関連付けの解除]の上にある[Elastic IPアドレスの解放]をクリックしIPアドレスを解放します。
これで、Elastic IPアドレスが解放されました。

## 参考にさせてもらった記事
https://qiita.com/miyuki_samitani/items/d9aa05ca8f72a013ce57

https://www.sunnycloud.jp/column/20220809-01/#:~:text=Elastic%20IP%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9(%E4%BB%A5%E4%B8%8B%E3%80%81EIP%EF%BC%89%E3%81%A8%E3%81%AFAWS%E3%81%A7,%E3%82%88%E3%81%86%E3%81%AA%E3%81%93%E3%81%A8%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82

## 終わりに
忘れがちなEIPアドレスの関連付けに伴う、パブリックIPアドレスの固定化を記事にしました。記事の内容に誤りなどがあれば、コメントいただけると幸いです。
最後まで閲覧いただきありがとうございました。