Blog

Azure のサブネット分割CIDRの最小値について考察する

この記事は、ニフティグループ Advent Calendar 2024 3日目の記事です!
2日続けての投稿になります。

はじめに

Azure も AWS と同じく仮想ネットワークのサブネットをつくることができます。
今回は、いつもどれくらいのCIDRで作成すればいいのかわからなくなるので、少し考察してみたときの記録をご紹介します。

システム的な最小値


サブネット

サポートされる最小の IPv4 サブネットは /29、最大は /2 です。

Azure Virtual Network に関する FAQ

サブネット自体の制限として、上記のルールがあります。
AWSのサブネットは/28 までなので、かなり細かく分割できますね。

その他のサービス

Azureにはサブネットの委任という仕組みがあります。

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を作成して管理してきたいですね。

ニフティでは、
さまざまなプロダクトへ挑戦する
エンジニアを絶賛募集中です!
ご興味のある方は以下の採用サイトより
お気軽にご連絡ください!

ニフティに興味をお持ちの方は
キャリア登録をぜひお願いいたします!

connpassでニフティグループに
参加いただくと
イベントの
お知らせが届きます!