Azure SQL Managed Instance に必要なサブネット サイズおよび範囲を決める
適用対象: Azure SQL Managed Instance
この記事は、Azure SQL Managed Instance の適切なサブネット サイズと IP アドレス範囲を決定するのに役立ちます。
概要
Azure SQL Managed Instance は、仮想クラスターによってホストされ、Azure 仮想ネットワーク内にデプロイされた 1 つ以上の仮想マシン グループ内に配置された、分離された仮想マシンの専用セットでホストされるサービス コンポーネントで構成されます。
仮想ネットワーク内の 1 つのサブネットに関連付けられた仮想クラスターは、1 つ以上の SQL マネージド インスタンスをホストできます。 サブネットにデプロイできるマネージド インスタンスの数は、サブネットのサイズ (サブネットの範囲) によって決まります。
SQL Managed Instance を作成する際、Azure は、選択されたサービス レベルに応じて、仮想マシンの数を割り当てます。 これらの仮想マシンはお使いのサブネットに関連付けられているため、IP アドレスが必要です。 通常の操作とサービス メンテナンス時の高可用性を確保するために、Azure は追加の仮想マシンを割り当てることがあります。 サブネット内の必要な IP アドレスの数は一般に、そのサブネット内の SQL マネージド インスタンスの数より大きくなります。
サブネットのサイズを決める
SQL マネージド インスタンスのデプロイでは、サブネットのサイズを慎重に計画してください。
仕様上、各 SQL マネージド インスタンスにはサブネット内で 32 個以上の IP アドレスが必要です。 サブネットの IP 範囲を定義するときに、最小で /27 サブネット マスクを使用することができます。
サブネットのサイズを決定する際の考慮事項の一覧を次に示します。
- インスタンスに関連する考慮事項:
- SQL マネージド インスタンスの数
- インスタンスのサービス レベル
- 仮想クラスターに関連する考慮事項:
- ハードウェア構成
- メンテナンス期間の構成
- 管理操作に関連する考慮事項:
- サービス レベル、ハードウェア構成、またはメンテナンス時間のスケールアップ/スケールダウンまたは変更の計画
次のパラメーターを使用すると、計算を簡単に行うことができます。
- Azure では、Azure 自体のためにサブネット内の IP アドレス 5 個を使用します。
- 各 仮想マシン グループ は、追加の 6 つのアドレスを割り当てます。
- 各 SQL マネージド インスタンスは、サービス レベルに依存する多数のアドレスを使用します。
- General Purpose SQL マネージド インスタンスは 3 つのアドレスを使用します
- Business Critical SQL マネージド インスタンスは 5 つのアドレスを使用します
- 各スケーリング要求は、スケーリングされるインスタンスに割り当てられたアドレスの数を一時的に 2 倍にします
重要
サブネットにリソースが存在する場合、サブネット アドレス範囲の変更はサポートされないため、将来の問題を防ぐために、小さいサブネットではなく、より大きなサブネットを使用することをお勧めします。
単一デプロイ インスタンス
次の表は、各サービス レベルにデプロイされたサブネット内の 1 つのインスタンスに必要な IP アドレスの数を示しています。
サービス レベル | Azure での使用 1 | VM グループでの使用 2 | インスタンスでの使用 | 合計3 |
---|---|---|---|---|
汎用 | 5 | 6 | 3 | 14 |
Business Critical | 5 | 6 | 5 | 16 |
1 Azure で使用されるアドレスは、サブネット内のすべてのインスタンスで共有されます
2 VM グループで使用されるアドレスは、同じグループ内に配置されたインスタンス間で共有されます
3 インスタンスによって使用されるアドレスの合計数
サブネットにインスタンスを追加すると、インスタンスで使用されるアドレスの数が増え、アドレスの合計数が増えます。
複数インスタンスのサブネット
このセクションの数式では、サブネット内の複数のインスタンスに必要なアドレスの数を計算します。これは、後続のインスタンスの作成または更新要求中に新しい仮想マシン グループを作成する可能性と、仮想クラスターのメンテナンス期間とハードウェア要件を考慮に入れて計算します。
インスタンスの数に基づいて IP アドレスの合計数を計算するには、次の式を使用します。
5 + (a * 6) + (b * 10) + (c * 6)
。それぞれ以下の内容を表します。
- a = GP インスタンスの数
- b = BC インスタンスの数
- c = 別々の仮想マシン グループの数
次の一覧では、数式で使用される数値について説明します。
- 5 は、Azure で予約されている IP アドレスの数です
- GP インスタンスあたり 6 個のアドレス (初期デプロイに 3、最終的なスケーリング操作に 3)
- BC インスタンスあたり 6 個のアドレス (初期デプロイに 5、最終的なスケーリング操作に 5)
- 仮想マシンごとに 6 つのアドレス
重要
グループに参加できる仮想マシンの数には制限があるため、既存のグループに領域がない場合、同じ仕様の仮想マシン グループが作成される可能性があります。 多数のインスタンスを持つサブネットに、同じ構成の複数のマシン グループがあり、仮想マシン グループが 9 を超える可能性があります。
例 1
General Purpose マネージド インスタンス 3 つおよび Business Critical マネージド インスタンス 2 つを同じサブネット内に展開するとします。 すべてのインスタンスに同じメンテナンス期間があり、同じハードウェア構成で実行されます。
これらの値を数式に代入すると: 5 + (3 * 6) + (2 * 10) + (1 * 6) = 49
IP 範囲は 2 の累乗で定義されるので、49 の IP アドレスをサポートするには、このデプロイには、サブネットに最小で 64 (2^6) の IP 範囲が必要です。 /26 のサブネット マスクを持つサブネットを予約します。
例 2
合計 7 つのインスタンスを同じサブネットにデプロイしようとしています (4 つの General Purpose インスタンス、3 つの Business Critical インスタンス)。 既定のメンテナンス期間で、Standard シリーズのハードウェアで実行されている Dev/Test インスタンス が 3 つあり (仮想マシン グループ 1)、残りの 4 つは、週末メンテナンス期間で、Premium シリーズのハードウェアで、本番環境で実行されています (仮想マシン グループ 2)。
これらの値を数式に代入すると: 5 + (4 * 6) + (3 * 10) + (2 * 6) = 71
IP 範囲は 2 の累乗で定義されるので、71 の IP アドレスをサポートするには、このデプロイには、サブネットに最小で 128 (2^7) の IP 範囲が必要です。 予約する必要があるサブネットは、/25 サブネット マスクのものになります。
注意事項
式が示すよりも少ない IP アドレスを持つサブネットに SQL マネージド インスタンスをデプロイすることは可能ですが、サブネット内に追加のインスタンスを作成できない、既存のインスタンスをスケーリングできないなど、IP アドレスの不足に起因する将来の問題を回避するために、より大きなサブネットを使用することを常に検討してください。
シナリオの更新
スケーリング操作時には、サービス レベルに応じて、インスタンスで一時的に追加の IP 容量が必要になります。
次の表は、新しい仮想マシン グループを作成する必要のないスケール操作に必要な追加 IP アドレスの一時的な数を示しています。
サービス レベル | シナリオ | 追加のアドレス数 |
---|---|---|
GP | 仮想コアのスケーリング | 3 |
GP | ストレージのスケーリング | 0 |
GP | BC への切り替え | 5 |
BC | 仮想コアのスケーリング | 5 |
BC | ストレージのスケーリング | 5 |
BC | GP への切り替え | 3 |
ハードウェアの生成やメンテナンス期間の変更など、新しい仮想マシン グループを作成する操作には、新しいグループに対してさらに 6 つの永続的なアドレスが必要です。
次のステップ
- 概要については、「Azure SQL Managed Instance とは」を参照してください。
- SQL Managed Instance の接続アーキテクチャの詳細を確認します。
- Azure SQL Managed Instance を ホストする仮想クラスター アーキテクチャを調べる
- SQL Managed Instance のデプロイ先となる仮想ネットワークの作成方法を確認します。
- DNS の問題については、Azure SQL Managed Instance でのプライベート DNS 名の解決に関する記事を参照してください。