2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

最小のアドレス空間を持つ VNet 統合サブネットにデプロイできる Azure Database for PostgreSQL フレキシブルサーバーの数

Last updated at Posted at 2022-07-12

Azure Database for PostgreSQL フレキシブルサーバー は、リソースをデプロイする際に [ネットワーク] > [ネットワーク接続] > [接続方法]プライベート アクセス (VNET 統合) を選ぶことができます。

The-number-of-Azure-Database-for-PostgreSQL-Flexible-Servers-in-a-smallest-address-space-subnet-with-VNet-Integration_00001.png

プライベート アクセス (VNet 統合) を利用すると、フレキシブルサーバーはパブリックなエンドポイントを持たず、プライベートな仮想ネットワーク内に接続を限定することができ、データベースのネットワークをよりセキュアにすることができます。

このとき、サブネットは Microsoft.DBforPostgreSQL/flexibleServers に委任されることとなり、Azure Database for PostgreSQL フレキシブルサーバーのみがそのサブネットを使用できるよう管理されます。

ここで、委任されたサブネットについて、ネットワークの概要 - Azure Database for PostgreSQL - フレキシブル サーバー | Microsoft Docs > 仮想ネットワークの概念 には以下の様な説明があります。

サブネットに指定できる最小 CIDR 範囲は /28 で 14 個の IP アドレスが得られますが、ネットワークまたはサブネット内の最初と最後のアドレスは、個々のホストに割り当てることができません。 5 つの IP は、Azure ネットワークで内部的に利用するために予約されています。ホストに割り当てることのできない前述の 2 つの IP もそこに含まれます。 その結果、/28 の CIDR 範囲で使用可能な IP アドレスは 11 個残りますが、高可用性機能を備えた 1 つのフレキシブル サーバーでは 4 つのアドレスが使用されます。

すなわち、 VNet 統合 において、サブネットの CIDR 範囲が最小の /28 である場合、フレキシブルサーバーが使用できる IP アドレスは 11 個であり、ゾーン冗長構成のフレキシブルサーバー 1台が使用する IP アドレスは 4つであるということです。
単純計算で、この場合にサブネット内にデプロイできるゾーン冗長構成のフレキシブルサーバーの数は 2 ということになりますが、実際に検証して確認を行いました。

結論

3 (本記事執筆時点において)

検証環境構築

操作方法ガイド に従い、プライベート アクセス (VNet 統合) を構築します。
構築した VNet に対して、新規の委任サブネットを /28 で作成します。

The-number-of-Azure-Database-for-PostgreSQL-Flexible-Servers-in-a-smallest-address-space-subnet-with-VNet-Integration_00002.png

The-number-of-Azure-Database-for-PostgreSQL-Flexible-Servers-in-a-smallest-address-space-subnet-with-VNet-Integration_00003.png

検証

作成した委任サブネットに、ゾーン冗長構成のフレキシブルサーバーを新規デプロイしていきます。

The-number-of-Azure-Database-for-PostgreSQL-Flexible-Servers-in-a-smallest-address-space-subnet-with-VNet-Integration_00004.png

4台目をデプロイ中に、エラーが発生しました。

The-number-of-Azure-Database-for-PostgreSQL-Flexible-Servers-in-a-smallest-address-space-subnet-with-VNet-Integration_00005.png

プロビジョニングに失敗しています。

The-number-of-Azure-Database-for-PostgreSQL-Flexible-Servers-in-a-smallest-address-space-subnet-with-VNet-Integration_00006.png

{
    "status": "Failed",
    "error": {
        "code": "ServerGroupDropping",
        "message": "Operations on a server group in dropping state are not allowed."
    }
}

したがって、/28 の委任サブネットにデプロイできる Azure Database for PostgreSQL フレキシブルサーバーは、 3台ということになります。
時間が経ったらいずれかのサーバーに問題が発生する(委任サブネットとの紐付けが解除される等)というのも想定していたのですが、6時間以上経っても、午前0時(但しJST)をまたいでも、問題は起きていません。

まとめ

  • 最小のアドレス空間を持つ VNet 統合サブネットにデプロイできる Azure Database for PostgreSQL フレキシブルサーバーの数は 3 であることがわかりました。
  • 公式ドキュメントの説明からすると 3台目でデプロイ失敗することが予想されましたが、3台目のデプロイは成功し、4台目で失敗しました。
  • 3台デプロイできるものの、やはり公式ドキュメントの説明からすると委任サブネット内の IP アドレスが足りていないはずですので、おすすめはできません。
  • あるいは「高可用性機能を備えた 1 つのフレキシブル サーバーでは 4 つのアドレスが使用されます」という公式の説明が正しくない可能性も考えられますが、真相は不明です。
  • 公式ドキュメントの説明に反して 3台デプロイされる場合は、自己責任でお願いします。

See also

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?