Azure Key Vault Managed HSM を使用した SQL TDE のリージョン間の回復性

Azure SQL Managed Instance
Azure Key Vault

ソリューションのアイデア

この記事ではソリューションのアイデアについて説明します。 クラウド アーキテクトはこのガイダンスを使用すると、このアーキテクチャの一般的な実装の主要コンポーネントを視覚化しやすくなります。 ワークロードの特定の要件に適合する、適切に設計されたソリューションを設計するための出発点として、この記事を使用してください。

このソリューションでは、Azure SQL Managed Instance のセキュリティで保護された回復性のあるデプロイ パターンについて説明します。 Azure Key Vault Managed HSM を使用して、カスタマー マネージド Transparent Data Encryption (TDE) 保護機能キーを格納する方法について説明します。

アーキテクチャ

セキュリティで保護された回復性のある SQL Managed Instance アーキテクチャを示す図。

図には、プライマリ リージョン、セカンダリ リージョン、グローバル リソース セクションの 3 つのセクションがあります。 各リージョンには 2 つのサブネットが含まれており、リージョンは同じです。 各リージョンの各サブネットは、仮想ネットワークに囲まれています。 各サブネットの上部には、リソース グループ アイコンがあります。 各サブネットにはネットワーク セキュリティ グループがあります。 各リージョン内の 1 つのサブネットには、可用性ゾーン間でデプロイSQL Managed Instanceが含まれており、サブネットの境界にAzure Policy。 各リージョンのもう 1 つのサブネットには、Managed HSM プライベート エンドポイント、2 つ目のプライベート エンドポイント、ロード バランサー、およびサブネットの外部にある Managed HSM プールが含まれています。 各リージョンの左側には、Managed HSM のプライベート DNS ゾーンのアイコンがあります。 グローバル リソース セクションには、Traffic Manager が含まれています。 Log Analytics ワークスペースは、2 つのリージョン間にあります。 矢印は、各リージョンの Managed HSM プールからこのワークスペースを指します。 5 つの番号付きステップによってワークフローが識別されます。 手順 1 では、リージョン間のデータ レプリケーションを表す矢印が、プライマリ リージョンのSQL Managed Instanceをセカンダリ リージョンのSQL Managed Instanceに接続します。 手順 2 では、リージョン間レプリケーションを表す矢印が、プライマリ リージョンの Managed HSM プールをセカンダリ リージョンの Managed HSM プールに接続します。 手順 3 では、データ プレーンにラベルが付けられます。 この手順では、各リージョンで、SQL Managed Instanceから Managed HSM プライベート エンドポイントを経由して Traffic Manager に流れるトラフィックを示す矢印が表示されます。 手順 4 では、Traffic Manager は最も近い Managed HSM にリダイレクトします。Traffic Manager からの矢印は、各リージョンの Managed HSM プールを指しています。 手順 5 では、管理プレーンにラベルが付けられます。 この手順では、各リージョンで、管理プレーン要求を Traffic Manager に直接送信SQL Managed Instance矢印が表示されます。

このアーキテクチャの Visio ファイルをダウンロードします。

Workflow

次のワークフローは、上記のダイアグラムに対応しています。

  1. プライマリ SQL マネージド インスタンスのフェールオーバー グループは、ディザスター リカバリーのために、すべてのユーザー データベースを別のリージョンのセカンダリ SQL マネージド インスタンスにレプリケートします。

  2. Managed HSM は、リージョン間プールを使用して構成されます。 このプールは、キー マテリアルとアクセス許可をセカンダリ リージョンのコンテナーに自動的にレプリケートします。

  3. SQL Managed Instance からのデータ プレーン トラフィックは、Managed HSM のプライベート エンドポイントを経由します。

  4. Managed HSM は、Microsoftマネージド Azure Traffic Manager インスタンスを使用して、最も近い運用コンテナーにトラフィックをルーティングします。

  5. マネージド インスタンスは、キーに対するアクセス許可を確認する必要がある場合、Azure バックボーン ネットワーク経由で管理プレーン要求を送信します。

コンポーネント

  • SQL Managed Instanceは、最新のSQL Server Enterprise Edition データベース エンジンとほぼ完全に互換性のあるサービスとしてのプラットフォーム (PaaS) オファリングです。 これは、セキュリティを向上させ、既存の SQL Server のお客様に有益なビジネス モデルを提供するネイティブ仮想ネットワークの実装を提供します。 SQL Managed Instance を使用すると、アプリケーションとデータベースに最小限の変更を加えて、オンプレミスのアプリケーションをクラウドに移行できます。

    SQL Managed Instanceには、自動修正プログラムの適用とバージョンの更新、自動バックアップ、ビジネス継続性の機能など、包括的な PaaS 機能も用意されています。 これらの機能により、管理オーバーヘッドと総保有コストが大幅に削減されます。 このアーキテクチャでは、SQL Managed Instance は TDE 保護機能キーを使用するデータベースです。

  • Managed HSM は、高可用性、シングルテナント、業界標準への準拠を提供するフル マネージド クラウド サービスです。 Managed HSM は、クラウド アプリケーションの暗号化キーを保護するように設計されています。 Federal Information Processing Standards 140-3 Level 3 検証済み HSM を使用します。 Managed HSM は、Azureのいくつかのキー管理ソリューションの 1 つです。 このアーキテクチャでは、Managed HSM は TDE 保護機能キーを安全に格納し、リージョン間の回復性を提供します。

  • Azureプライベート エンドポイントは、仮想ネットワークからAzure Storage、Azure SQL Database、Key Vaultなどのサービスへのプライベート IP パスを提供します。 このアーキテクチャでは、Managed HSM でパブリック ネットワーク アクセスを無効にし、両方のリージョンでプライベート エンドポイントを使用して、データ プレーン トラフィックが Microsoft バックボーン ネットワークに残るようにします。

  • Azure プライベート DNSは、プライベート エンドポイントの名前解決を提供します。これにより、仮想ネットワーク内のリソースがAzureサービスにプライベートにアクセスできるようになります。 プライベート エンドポイントが作成されると、対応するドメイン ネーム システム (DNS) レコードがリンクされたプライベート DNS ゾーンに自動的に登録されます。 プライベート DNS ゾーンを使用すると、サービスへのトラフィックが Azure バックボーン ネットワーク内に残ります。 このアプローチでは、パブリック インターネットへの露出を回避することで、セキュリティ、パフォーマンス、コンプライアンスが向上します。 リージョンサービスの停止が発生した場合、Azure プライベート DNS はマネージド HSM に対してネイティブのリージョン間の名前解決の回復性を提供します。 このアーキテクチャでは、サービスは Azure プライベート DNS を使用して、プライベート ネットワーク アドレスを介して相互に通信します。

  • Azure Policyは、これらのリソースのプロパティをビジネス ルールと比較することで、Azureのリソースとアクションを評価します。 JSON 形式で記述されるこれらのビジネス ルールは、ポリシー定義と呼ばれます。 このソリューションでは、Azure Policyを使用して、Azure SQL データベースまたはマネージド インスタンスの作成または更新中に、文書化されたガイダンスに従って、カスタマー マネージド TDE Azure SQL適用します。

  • Log Analytics ワークスペースは、すべてのAzureおよびAzure以外のリソースとアプリケーションから任意の種類のログ データを収集できるデータ ストアです。 ワークスペース構成オプションを使用すると、組織内のさまざまなペルソナの操作、分析、監査のニーズを満たすために、1 つのワークスペース内のすべてのログ データを管理できます。 このソリューションでは、Log Analytics ワークスペースは Managed HSM から包括的なログとテレメトリを受け取ります。

シナリオの詳細

このソリューションでは、ワークロード チームは、ミッション クリティカルなシステムの厳密なサービス レベル目標 (SLO) しきい値を満たし、必要なサービスの完全な機能を確保したいと考えています。 この目標を達成するために、顧客が管理する TDE 保護機能キーを持つ SQL Managed Instance を使用します。 キーは、使用するリージョンをサポートし、すべてのコンプライアンスとセキュリティ要件を満たす Managed HSM プールに格納されます。 プライベート エンドポイント アクセスも適用され、ネットワークの公開を制限します。

リージョン間のディザスター リカバリーでは、通常、お客様がフェールオーバーのタイミングを制御できるように、カスタマー マネージド フェールオーバー ポリシーを持つフェールオーバー グループが推奨されます。 フェールオーバー グループはユーザー データベースを 1 つのユニットとしてレプリケートするため、関連するインスタンス レベルのオブジェクトと設定を個別に同期する必要があります。

考えられるユース ケース

  • 1 つの組織で、ペアになっているリージョンまたはペアになっていないリージョンが 2 つ使用されます。 プライマリ SQL マネージド インスタンスは 1 つのリージョンに配置され、フェールオーバー グループはセカンダリ リージョンの SQL マネージド インスタンスに接続するように構成されます。

    この設計では、フェールオーバー グループ リスナー エンドポイントが使用されるため、アプリケーションはフェールオーバー中に安定した接続文字列を保持できます。 フェールオーバー グループは、geo フェールオーバー後にリスナー DNS レコードを自動的に更新します。 ただし、クライアントでの再接続の時間は、クライアントの DNS キャッシュ TTL とアプリケーションの再試行ロジックによって異なります。

  • 組織は、セカンダリ リージョンにリージョン間レプリカがあるプライマリ リージョンの Managed HSM インスタンスを使用します。 リージョン間レプリカが有効になると、Traffic Manager インスタンスが作成されます。 Traffic Manager インスタンスは、両方のコンテナーが操作可能な場合はローカル コンテナーへのトラフィックのルーティングを処理し、1 つのコンテナーが使用できない場合はオペレーション コンテナーへのトラフィックのルーティングを処理します。

    キー マテリアルとアクセス許可のレプリケーションは非同期であり、 数分かかる場合があります。 セカンダリ リージョンへの初期拡張機能には、追加のプロビジョニング時間がかかります。 回復性の設計を終了する前に、目的のリージョンで Managed HSM の可用性と容量を検証します。

  • 組織は、2 つのカスタム DNS ゾーンを使用して、各リージョンの Managed HSM インスタンスのプライベート エンドポイントをサポートします。

    マルチリージョンデプロイでは、各リージョンのプライベート エンドポイントとプライベート DNS 統合によって、名前解決とデータ プレーン トラフィックを各リージョン内で維持できます。

  • 組織では、カスタマー マネージド キーを使用してユーザー データベースで TDE を有効にし、保護キーを Managed HSM に格納します。

貢献者達

Microsoft では、この記事を保持しています。 次の共同作成者がこの記事を書きました。

主要な著者:

公開されていない LinkedIn プロフィールを見るには、LinkedIn にサインインしてください。

次のステップ