この記事は、ニフティグループ Advent Calendar 2024 3日目の記事です!
2日続けての投稿になります。
はじめに
Azure も AWS と同じく仮想ネットワークのサブネットをつくることができます。
今回は、いつもどれくらいのCIDRで作成すればいいのかわからなくなるので、少し考察してみたときの記録をご紹介します。
システム的な最小値
サブネット
サポートされる最小の IPv4 サブネットは /29、最大は /2 です。
Azure Virtual Network に関する FAQ
サブネット自体の制限として、上記のルールがあります。
AWSのサブネットは/28
までなので、かなり細かく分割できますね。
その他のサービス
Azureにはサブネットの委任という仕組みがあります。
これは、特定のAzure PaaSサービスでサブネットを占有する仕組みであり、Azure Database for MySQL などをプライベートなネットワーク上に構築したいときなどに使用します。
察しが良い方は気づいたかもしれませんが、実はPaaSサービスごとに委任されるサブネットの大きさに制限がかかっています。
サービス名 | 最小 | 最大 | 備考 | 参考 |
---|---|---|---|---|
Azure App Service | /28 | /26(1つのマルチテナントの最大スケール数) | MPSJ を利用する場合は /26 が最小 | https://learn.microsoft.com/ja-jp/azure/app-service/overview-vnet-integration |
Azure Database for MySQL | /29 | 不明 | https://learn.microsoft.com/ja-jp/azure/mysql/flexible-server/concepts-networking-vnet |
システムに予約されるIP
サブネットを作成した時、サブネットに割り当てたIPがすべて使えるわけではありません。先頭と末尾のアドレスはそれぞれネットワークアドレスとブロードキャストアドレスとして予約されます。また、Azureは1つのサブネットにつき3つのアドレスをシステム的に予約します。
そのため、最終的に利用可能なIPは、サブネットのIPCIDRから5アドレス除いたIPになります。
Azure Virtual Network に関する FAQ
運用に沿った最小値を考察
IP制限するということは、それだけスケーリングの幅を狭めることとなります。また、仮想ネットワークを分割しすぎると管理することも大変です。そのためAzureではVNetは大きく、Subnetは小さく作ることが推奨されています。
Azure Virtual Network に関する FAQ
しかしながら、弊社のネットワーク構成の制約上、VNetは大きく作成することができません。
では、どれくらいのCIDRが現実的な設定値なのでしょうか?
1つのVNetを占有するアプリケーションの場合
おそらく1つのVNetを1つのアプリケーションで占有することになると思います。
利用するサービスにもよりますが、最低でも/26
のVNetを用意して、4つ以上(/28
)に分割して使いたいです。
より大規模な場合は、/24
で払い出したうえで8つ以上(/27
)に分割して使えると安定して運用ができそうです。
1つのVNetに複数のアプリケーションがあいのりする場合
こちらはあいのりするアプリケーションの数によります。
4つほどなら、最低でも/26
のVNetを用意して、4つ以上(/28
)に分割で足りると思います。
それ以上は、4つほどなら、最低でも/25
のVNetを用意して、8つ以上(/28
)に分割で足りると思います。
小さいアプリケーションだと思うので、1つのサブネットは/28
で十分賄えると思います。
まとめ
本記事では、サブネットの設定をしたときの考察を書きました。
IP制限されている環境と通信したい場合は適切にsubnetを作成して管理してきたいですね。