Azure SQL Managed Instance のサービス支援サブネット構成を有効にする
適用対象: Azure SQL Managed Instance
この記事では、サービス支援サブネット構成の概要と、それが Azure SQL Managed Instance に委任されたサブネットとどのように相互作用するかについて説明します。 サービス支援サブネット構成は、マネージド インスタンスをホストするサブネットのネットワーク構成管理を自動化しますが、ユーザーはデータ (TDS トラフィック フロー) へのアクセスを完全に制御できます。一方、マネージド インスタンスは、サービス レベルアグリーメントを満たすために管理トラフィックの中断のないフローを確保する責任を負います。
概要
SQL Managed Instance は、ユーザーのサブネット内の特定の重要なネットワーク経路の管理を、サービスのセキュリティ、管理容易性、可用性を向上させるために自動化します。 これは、サブネット、関連付けられているネットワーク セキュリティ グループ、およびルート テーブルを構成して、必要なエントリのセットを含めることで実現されます。
これを実現するメカニズムは、ネットワーク インテント ポリシーと呼ばれます。 ネットワーク インテント ポリシーは、サブネットが Azure SQL Managed Instance のリソース プロバイダー Microsoft.Sql/managedInstances
に最初に委任されるときにサブネットに自動的に適用されます。 自動設定は、その時点で有効になります。 最後のマネージド インスタンスをサブネットから削除すると、ネットワーク インテント ポリシーもサブネットから削除されます。
委任サブネットに対するネットワーク インテント ポリシーの影響
サブネットに適用すると、ネットワーク意図ポリシーは、必須およびオプションのルールとルートを追加することで、サブネットに関連付けられたルート テーブルとネットワーク セキュリティ グループを拡張します。
サブネットに適用されている間、ネットワーク意図ポリシーによってサブネットの構成の大部分が更新されるのを防ぐことはできません。 サブネットのルート テーブルを変更したり、ネットワーク セキュリティ グループのルールを更新したりするたびに、有効なルートとセキュリティ規則が Azure SQL Managed Instance の要件に準拠しているかどうかが、ネットワーク インテント ポリシーによって確認されます。 要求に準拠していない場合は、ネットワーク インテント ポリシーによってエラーが発生し、構成を更新できなくなります。
この動作は、サブネットから最後の Managed Instance を削除し、ネットワーク インテント ポリシーがデタッチされると停止します。 管理対象インスタンスがサブネットに存在している間はオフにできません。
Note
- 委任されたサブネットごとに個別のルート テーブルと NSG を維持することをお勧めします。 自動構成ルールとルートは、別のサブネットに存在する可能性がある特定のサブネット範囲を参照します。 Azure SQL Managed Instance に委任された複数のサブネット間で RT と NSG を再利用すると、自動構成されたルールがスタックされ、関連のないトラフィックを制御するルールに干渉する可能性があります。
- サービスで管理されるルールとルートのいずれかに依存しないようにすることをお勧めします。 原則として、特定の目的に合わせて明示的なルートと NSG ルールを常に作成します。 必須およびオプションのルールの両方が変更される可能性があります。
- 同様に、サービスで管理されるルールを更新しないことをお勧めします。ネットワーク インテント ポリシーは有効なルールとルートのみを確認するため、自動構成されたルールの 1 つを拡張できます。たとえば、受信用に追加のポートを開いたり、より広範なプレフィックスにルーティングを拡張したりできます。 ただし、サービスで構成されたルールとルートは変更される可能性があります。 目的の結果を得るには、独自のルートとセキュリティ規則を作成することをお勧めします。
必須のセキュリティ規則とルート
SQL Managed Instance の管理接続を中断しないようにするために、一部のセキュリティ規則とルートは必須であり、削除または変更することはできません。
必須のルールとルートは常に Microsoft.Sql-managedInstances_UseOnly_mi-
で始まります。
次の表に、ユーザーのサブネットに適用され自動的にデプロイされる必須のルールとルートを示します。
種類 | 名前 | 説明 |
---|---|---|
NSG 受信 | Microsoft.Sql-managedInstances_UseOnly_mi-healthprobe-in | 関連付けられているロード バランサーから受信する正常性プローブがインスタンス ノードに到達できるようにします。 このメカニズムにより、フェールオーバー後にロード バランサーでアクティブなデータベース レプリカを追跡できます。 |
NSG 受信 | Microsoft.Sql-managedInstances_UseOnly_mi-internal-in | 管理操作に必要な内部ノード接続を確保します。 |
NSG 送信 | Microsoft.Sql-managedInstances_UseOnly_mi-internal-out | 管理操作に必要な内部ノード接続を確保します。 |
ルート | Microsoft.Sql-managedInstances_UseOnly_mi-subnet-<range>-to-vnetlocal | 内部ノードが相互に到達するためのルートが常に存在することを確実にします。 |
Note
一部のサブネットには、上記の 2 つのセクションのいずれにも記載されていない、その他の必須ネットワーク セキュリティ規則とルートが含まれている場合があります。 このようなルールは古いと見なされ、サブネットから削除されます。
オプションのセキュリティ規則とルート
一部のルールとルートはオプションであり、マネージド インスタンスの内部管理接続を損なうことなく、安全に削除できます。 これらのオプション ルールは、必須のルールとルートの完全な補完が引き続き適用されることを前提としてデプロイされたマネージド インスタンスの送信接続を維持するために使用されます。
重要
オプションのルールとルートは、今後非推奨となる予定です。 新しいサブネット内に Azure SQL Managed Instance をデプロイするたびに、オプションのルールとルートを明示的に削除したり、置き換えたりして、必要最小限のトラフィックのフローのみが可能になるように、デプロイとネットワーク構成の手順を更新することを強くお勧めします。
オプションのルールとルートを、必須のルールとルートと区別するために、オプションのルールとルートの名前は常に Microsoft.Sql-managedInstances_UseOnly_mi-optional-
で始まります。
次の表に、変更または削除できるオプションのルールとルートを示します。
種類 | 名前 | 説明 |
---|---|---|
NSG 送信 | Microsoft.Sql-managedInstances_UseOnly_mi-optional-azure-out | Azure への送信 HTTPS 接続を保持するためのオプションのセキュリティ規則。 |
ルート | Microsoft.Sql-managedInstances_UseOnly_mi-optional-AzureCloud.<region> | プライマリ リージョンの AzureCloud サービスへのオプションのルート。 |
ルート | Microsoft.Sql-managedInstances_UseOnly_mi-optional-AzureCloud.<geo-paired> | セカンダリ リージョンの AzureCloud サービスへのオプションのルート。 |
ネットワーク インテント ポリシーの削除
サブネットに対するネットワーク インテント ポリシーの効果は、内部に仮想クラスターがなくなり、委任が削除されると停止します。 仮想クラスターのライフサイクルの詳細については、「SQL Managed Instance を削除した後にサブネットを削除する方法」を参照してください。