IPAMでAWS Organizationで利用しているIPv4アドレスを確認する

# はじめに
先日、[AWS におけるパブリック IPv4 アドレスの使用状況の特定と最適化](https://aws.amazon.com/jp/blogs/news/identify-and-optimize-public-ipv4-address-usage-on-aws/)にてAWSで利用しているパブリックIPv4アドレスの料金体系の変更がアナウンスされました。

このブログ内でも紹介されている Amazon VPC IPAMを利用してOrganization上で使用しているIPアドレスの件数を確認してみました。
備忘のためにも、作業の記録を記事に残します。

恥ずかしながらIPAMの存在を、今回初めて知りました。。。

# 2023/11 補足
[Amazon VPC IP Address Manager に AWS Organization 全体の Public IP Insights を含む機能の無料利用枠が追加](https://aws.amazon.com/jp/about-aws/whats-new/2023/11/amazon-vpc-address-manager-free-features-tier/)にもあるように、IPAMとPublic IP Insightsまわりで変更があり、無料枠が追加され、利用しやすくなりました。

これにあわせて、本記事でも内容をアップデートしています。

## この記事では触れないこと
今回の料金体系の変更による対策や、ベストプラクティスは上記ブログやほか記事で言及されているため、触れません。

# VPC IPAM
正式名称は **Amazon VPC IP Address Manager**です。

IPAMの主な用途は、大規模なネットワークでのCIDRの自動割当や使用状況のモニタリングです。
IPアドレスを厳密に管理する要件がある大規模なネットワークを持つシステムなどで有効です。
IPアドレスを割り振るためにスプレッドシートなどで管理簿を作って管理していたり、CIDR重複などの運用負荷、といった課題を解決するサービスです。

AWS Organizationsなどと連携して各メンバーアカウント上でのIPアドレスの使用状況をモニタニングすることもできます。
IPAMの管理アカウントで管理しているCIDRからアカウントAにxxのCIDR範囲、アカウントBにyyのCIDR範囲を割り当て、といったことができます。

## Tier
今回のアップデートで、Free Tierと、Advanced Tierという２つの料金体系に分かれました。
上述のようなIPアドレスの管理はAdvanced Tierである必要がありますが、パブリックIPアドレスを確認したいだけのような場合は、FreeTierで十分なようです。

# Organizations連携
IPAMでOrganizations上に存在するパブリックIPv4アドレスを確認したい場合の手順です。
委任アカウントを用意する必要があるため、専用のメンバーアカウントを用意します。

> AWS Organizations アカウントおよび 1 つ以上のメンバーアカウントで設定された管理アカウントが必要です。
> IPAM アカウントは AWS Organizations のメンバーアカウントである必要があります。AWS Organizations 管理アカウントを IPAM アカウントとして使用することはできません。

[IPAM を AWS Organizations 内のアカウントと統合する](https://docs.aws.amazon.com/ja_jp/vpc/latest/ipam/enable-integ-ipam.html)

## 構築手順
### 管理アカウント
1. Organizationsの管理アカウントにサインインします
1. マネジメントコンソールで**VPC**を開きます
1. VPCのコンソール画面から、**VPC IP アドレスマネージャー**を開きます![スクリーンショット 2023-08-01 14.42.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3328969/7c3d6cb7-15b5-ad81-ffda-d9260d84850b.png)
1. **組織設定**を開きます![スクリーンショット 2023-08-01 14.43.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3328969/a23c35e9-ef04-2889-4df3-7ca07eb2b38c.png)

1. **委任**をクリックします![スクリーンショット 2023-08-01 14.43.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3328969/3ed1d828-6b6a-c961-472e-9f7197850441.png)

1. 委任するアカウントのIDを入力し、**変更を保存**をクリックします![スクリーンショット 2023-08-01 14.45.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3328969/5a79baa0-6722-ca63-5bf4-4d6d7e6639ff.png)

1. 委任したアカウントの情報が表示されます![スクリーンショット 2023-08-01 14.45.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3328969/c855d6a5-47b0-f54f-30d2-df9df18923ad.png)

### 委任アカウント
1. 委任アカウントにサインインします
1. マネジメントコンソールで**VPC**を開きます
1. VPCのコンソール画面から、**VPC IP アドレスマネージャー**を開きます![スクリーンショット 2023-08-01 14.42.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3328969/7c3d6cb7-15b5-ad81-ffda-d9260d84850b.png)
1. **IPAMを作成**をクリックします![スクリーンショット 2023-08-01 14.47.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3328969/e3f4111c-5c9f-d307-2e52-c5df1a148244.png)
1. 以下のように設定します。![スクリーンショット 2023-11-29 16.46.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3328969/3c386521-4e00-3d81-73e1-3534d821ccd6.png)
1. 運用リージョンを選択し、**IPAMを作成**をクリックします。
1. **パブリックIPに関するインサイト**をクリックします。作成直後はデータがないのでしばらく待ちます。![スクリーンショット 2023-11-29 16.50.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3328969/91d28d0d-fec1-a6f8-bbfc-05294341315a.png)
1. データが反映され、パブリックIPを確認することができました。![スクリーンショット 2023-11-29 16.53.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3328969/952f62e4-e890-3eb8-0385-cff6309cb50b.png)

### メンバーアカウント上での確認について
アカウント利用者が独自に自アカウントのパブリックIPを確認したいような場合、該当します。
基本的には委任アカウントでの設定と同じように、IPAMを作成する必要があります。
以前は Public IP Insightsが直接使えたのですが、今回のアップデートでIPAMを作成してからでないと確認できなさそうです。


# 費用見積もり
上記ブログに記載されている **パブリック IPv4 アドレス料金の見積もり** に書いてあるように、CURを利用することで見積もりを出すことが可能です。
今後、CURを使用した見積もりをしてみたいと思いますが、現在確認できる情報で費用感を見積もってみようと思います。

上記ブログによると、追加される料金設定は以下です。

> 使用中の Elastic IPv4 アドレスの合計使用量に対する新しいコスト: ?つ の IP x 1 時間 x $0.005

これを元に、先程確認できたEIPがすべて使用している（アイドル状態のものはなし）と仮定して、費用感を見積もります。

```
Organizationで使用されているIPv4アドレス 318個の IP x 1 時間 x $0.005 = $1.59

$1.59/h * 24h = $38.16
$38.16/日 * 30/day = $1,144.8
```

直近の為替レートだと、約¥160,000前後となりそうでした。
つまり、Organization全体で１ヶ月あたり約¥160,000前後、料金が増額すると見積もれました。

# おわりに
最初にEIPの料金変更は驚きましたが、世間的にIPv4の枯渇が随分以前から言われていたのが、目に見える形で影響してきたということなのかと感じました。
今回はIPAMは限定的な使い方しかできませんでしたが、要件によっては非常に強力なサービスになると思いました。

# Appendix
[IPAM とは](https://docs.aws.amazon.com/ja_jp/vpc/latest/ipam/what-it-is-ipam.html)
[Amazon VPC IP Address Manager とは？](https://qiita.com/miyuki_samitani/items/1e754adac213f2ac319c)
[Black Belt - Amazon VPC IP Address Manager (IPAM)](https://pages.awscloud.com/rs/112-TZM-766/images/202205_AWS_Black_Belt_Amazon_VPC_IPAM.pdf)