Azure Arc 対応 SQL Managed Instance のネットワーク接続

Azure Arc 対応データ サービスでは、2 つの異なる接続モードがサポートされています。 直接接続と間接接続の各モードでは、Azure Arc 対応 Kubernetes クラスターで実行されている Azure Arc 対応の SQL Managed Instance が Azure Arc コントロール プレーンと共にデプロイされます。

Arc 対応データ サービスのコンポーネントは次のとおりです。

  • Azure Arc データ コントローラー
  • Azure Arc Active Directory コネクタ
  • Azure Arc 対応 SQL Managed Instance

これらのコンポーネントは、オンプレミスやその他のクラウド環境で実行されている Azure Arc エンドポイント、Active Directory ドメイン コントローラー、ドメイン ネーム システム (DNS) サーバーと通信します。

この記事では、オンプレミスまたはその他のクラウド インフラストラクチャから Azure コントロール プレーンに接続するためのネットワーク アーキテクチャ、設計上の考慮事項、および設計に関する推奨事項について説明します。 Arc 対応データ サービスと、オンプレミスやその他のクラウド環境の Arc 対応 Kubernetes クラスターで実行されている Arc 対応 SQL Managed Instance を管理および操作する方法について説明します。

アーキテクチャ

次の図は、直接接続および間接接続のネットワーク モードをサポートする Arc 対応データ サービス ネットワーク アーキテクチャを示しています。

Azure Arc 対応データ サービスのネットワーク アーキテクチャを示す図。

次のシナリオ図は、Arc 対応 SQL Managed Instance に安全にアクセスするさまざまなコンシューマー サービスの例を示しています。

Azure Arc 対応データ サービスのセキュリティで保護されたアクセスのネットワーク アーキテクチャを示す図。

設計上の考慮事項

  • Azure ランディング ゾーンのネットワーク トポロジと接続設計の領域を確認して、Arc 対応データ サービスのネットワーク接続を組織で採用されたランディング ゾーン設計に合わせます。

  • Arc 対応 Kubernetes クラスターに Arc 対応データ サービスをデプロイして運用するための適切な設計上の決定を行うためのネットワーク アーキテクチャと推奨事項を理解するに、Azure Arc 対応 Kubernetes のネットワーク接続を確認します。 Arc 対応データ サービスでは、サービスのデプロイと操作に Azure Arc 対応 Kubernetes ネットワーク接続が使用されます。

  • Azure Arc 対応データ サービスの接続モード別の機能の可用性と Arc 対応データ サービスのネットワーク要件を確認します。 オンプレミス ネットワークまたはその他のクラウド プロバイダーの組織のネットワーク セキュリティ ポリシーに最適なのは、直接接続モードと間接接続モードのいずれかを決定します。

  • 直接接続モードでは、Azure への直接接続が必要であり、この接続の性質上、その他の利点が得られます。 組織のセキュリティとコンプライアンスの要件に基づいて、この直接接続を有効にするために必要なトレードオフを検討してください。

  • Arc 対応 Kubernetes クラスターの実行場所に応じて、Kubernetes LoadBalancer または NodePort の種類の使用を検討してください。 これらのサービスは、データ コントローラーや SQL Managed Instance などの Arc 対応データ サービスを公開します。 ロード バランサーは複数のインスタンスで同じポート番号を維持しますが、ノード ポートでは Arc 対応 SQL Managed Instance ごとに異なるポート番号が必要です。

  • Arc 対応 SQL Managed Instance サービスの場合は、オンプレミス環境では MetalLB などのソフトウェア ロード バランサーを、クラウドベースの環境では内部ロード バランサーをデプロイすることを検討してください。 ロード バランサーは、一貫性のある IP アドレスと SQL サーバー ポート (1433 やカスタム ポートなど) を提供し、Kubernetes クラスター内のノードの負荷分散を行います。 ノード IP は、自動スケール クラスターでは変化します。 ポッドがある Kubernetes ワーカー ノードから別の Kubernetes ワーカー ノードに移動した場合、高可用性は提供されません。 たとえば、Kubernetes クラスター、データ コントローラー、Arc 対応 SQL Managed Instance のフェールオーバー、アップグレード、メンテナンス中などです。

  • 非トランスポート層セキュリティ (TLS) ポート 389 および 3268 の代わりに TLS ポート (636、3269 など) を Active Directory Domain Services で使用することを検討してください。 TLS ポートにより、Azure Arc 対応 SQL Managed Instance で AD 認証を使用する際に、接続がセキュリティで保護されます。

  • Azure Key Vault を使用して AD 認証用の Arc 対応 SQL Managed Instance の Kubernetes シークレットを保護する場合は、Azure Key Vault プライベート エンドポイントを使用して接続をプライベートに保つことを検討してください。 Azure Arc 対応 Kubernetes クラスターにシークレットをフェッチする方法と、Arc 対応 Kubernetes クラスターで Azure Key Vault を使用する方法の詳細については、「Azure Key Vault シークレット プロバイダー拡張機能」を参照してください。

  • Azure ストレージ アカウント アーカイブ BLOB を使用して Arc 対応 SQL Managed Instance データベース バックアップ ファイルを長期保有する場合は、パブリック エンドポイントとプライベート エンドポイントを評価します。

設計の推奨事項

  • 既存の Arc 対応 Kubernetes クラスターにデプロイされる Arc 対応 SQL Managed Instance として、Azure Arc 対応 Kubernetes のネットワーク設計に関する推奨事項を確認します。

  • Arc 対応データ サービスと Arc 対応 SQL Managed Instance の間接接続モードのデプロイではなく、直接接続モードを使用することで、直接接続モードのデプロイの機能の利点を得ることができます。

  • データ コントローラー、ダッシュボード、Arc 対応 SQL Managed Instance などの Arc 対応データ サービスでは、NodePort サービスの種類よりも Kubernetes LoadBalancer サービスの種類を優先して選択します。 LoadBalancer の種類は、Kubernetes クラスターのアップグレードとメンテナンス中に、Kubernetes ノードの障害、ノードの再起動、およびノードの削除に対して回復性を提供します。

  • Arc 対応データ サービスのデプロイにパブリック クラウド インフラストラクチャを使用する場合は、外部ロード バランサーよりも内部ロード バランサーを使用します。 内部ロード バランサーは、仮想ネットワークからプライベート IP アドレスを割り当て、データベース トラフィックを内部ネットワークにプライベートに保ちます。

  • オンプレミスのデプロイの場合は、MetalLB などのコンテナー化されたロード バランサーを使用して、ロード バランサーのサービスの種類をサポートします。 コンテナー化されたロード バランサーでは、標準の SQL ポート 1433 を使用してファイアウォール規則が簡略化されます。 NodePort サービスの種類でランダム なポートを使用するよりも覚えやすいです。 Azure Arc 対応 Kubernetes クラスターにデプロイされた Arc 対応 SQL Managed Instance の数をサポートするために、サブネット CIDR サイズを割り当てるようにしてください。

  • Arc 対応 SQL Managed Instance の AD 認証をシステムマネージドおよびカスタマーマネージド キーの両方のタブ モードで使用する場合は、Arc 対応 SQL Managed Instance エンドポイントの DNS 登録を必ず自動化してください。 自動化は、オンプレミスまたはその他のクラウド DNS サーバーを使用してサービスを検出するのに役立ちます。 また、運用上のオーバーヘッドを排除し、変更時またはサービス インスタンスの削除時に IP アドレスが自動的に更新されます。

  • 信頼されていないソースからのアクセスを防ぐために、ファイアウォール規則を使用して、Arc 対応 SQL Managed Instance、データ コントローラー、ダッシュボード エンドポイントへのネットワーク アクセスを制限します。 ファイアウォール規則により、Arc 対応 SQL Managed Instance の攻撃対象領域が削減され、データ流出を防ぎます。

  • Microsoft アーティファクト レジストリ (Microsoft Container Registry (MCR) とも呼ばれます)、Azure Key Vault、Azure Log Analytics、ストレージ アカウントに Azure プライベート エンドポイントを使用する場合は、Azure の DNS フォワーダーに DNS クエリを転送するようにオンプレミスの DNS サーバーを構成します。 この方法により、DNS 名を使用してこれらのプライベート エンドポイントを自動検出でき、オンプレミスの DNS サーバーでホスト エントリまたは DNS エントリ登録を使用する必要がなくなります。

  • Arc 対応 SQL Managed Instance の AD 認証には、Active Directory Domain Services への接続が必要です。 高可用性のために、プライマリおよびディザスター リカバリー サイトのドメイン コントローラーへの接続を設定します。 多くの企業が複数の地域にサイト回復フォレストを展開するため、最も近いサイトを使用して、ドメイン コントローラーへのネットワーク待機時間を短縮します。 ガイダンスについては、「Azure Arc 対応 SQL Managed Instance の事業継続とディザスター リカバリー」を参照してください。

次の手順

ハイブリッド クラウドとマルチクラウドの導入過程の詳細については、次の記事を参照してください。