Azure マネージド HSM でマルチリージョン レプリケーションを有効にする
マルチリージョン レプリケーションを使用すると、マネージド HSM プールを (プライマリ リージョンと呼ばれる) 1 つの Azure リージョンから (拡張リージョンと呼ばれる) 別の Azure リージョンに拡張できます。 構成が完了すると、両方のリージョンがアクティブになり、要求を処理できるようになります。自動レプリケーションでは、同じキー マテリアル、ロール、およびアクセス許可を共有できます。 アプリケーションに最も近い使用可能なリージョンが、要求を受信して実行します。そのため、読み取りのスループットが最大化され、待機時間が短縮されます。 リージョン全体が停止することはまれですが、マルチリージョン レプリケーションを利用すると、1 つのリージョンが使用できなくなった場合にミッション クリティカルな暗号化キーの可用性が向上します。 SLA の詳細については、Azure Key Vault Managed HSM の SLA に関するページを参照してください。
Architecture
マネージド HSM でマルチリージョン レプリケーションが有効になっている場合、3 つの負荷分散 HSM パーティションを持つ 2 つ目のマネージド HSM プールが拡張リージョン内に作成されます。 Traffic Manager のグローバル DNS エンドポイント <hsm-name>.managedhsm.azure.net
に要求が発行されると、最も近い使用可能なリージョンが要求を受信して実行します。 各リージョンはリージョン全体への HSM の分散によってリージョンの高可用性を個別に維持しますが、Traffic Manager は、1 つのリージョン内のマネージド HSM のすべてのパーティションが大災害などが原因で利用できなくなった場合でも、拡張リージョン内のマネージド HSM プールによって要求の処理を続行できることを保証します。
レプリケーション潜在期間
キーの作成または更新、ロール定義の作成または更新、ロールの割り当ての作成または更新など、Managed HSM への書き込み操作は、両方のリージョンが完全にレプリケートされるまでに最大 6 分かかる場合があります。 この期間内は、書き込まれたマテリアルがリージョン間でレプリケートされることは保証されません。 そのため、キーの作成または更新からキーの使用まで 6 分間待機し、キー マテリアルがリージョン間で完全にレプリケートされていることを確認することをお勧めします。 ロールの割り当てとロール定義にも同じことが当てはまります。
フェールオーバーの動作
フェールオーバーは、マルチリージョンのマネージド HSM 内のいずれかのリージョンが障害のために使用できなくなったときに発生し、もう一方のリージョンですべての要求の処理が開始されます。 停止は、HSM プールのみに限定されることも、マネージド HSM サービス全体または Azure リージョン全体に及ぶこともあります。 フェールオーバー中に、影響を受けるリージョンに応じて動作が変化することがあります。
影響を受けるリージョン | 読み取り可能 | 書き込み可能 |
---|---|---|
拡張リージョン | はい | はい |
プライマリ リージョン | はい | 可能性あり |
拡張リージョンが利用できなくなった場合でも、プライマリ リージョンが有効である場合、読み取り操作 (キーの取得、キーの一覧表示、すべての暗号化操作、ロールの割り当ての一覧表示) は利用可能です。 書き込み操作 (キーの作成と更新、ロールの割り当ての作成と更新、ロール定義の作成と更新) も行えます。
プライマリ リージョンが使用できなくなった場合、読み取り操作は行えますが、障害の範囲によっては書き込み操作が行えない場合があります。
フェールオーバーまでの時間
内部では、DNS 解決によってプライマリまたは拡張リージョンのどちらかへの要求のリダイレクトが処理されています。
両方のリージョンがアクティブな場合、Traffic Manager は、受信要求を、要求の送信元に地理的に最も近い場所、またはネットワーク待機時間が最も短い場所に解決します。 DNS レコードは、既定の TTL が 5 秒で構成されます。
リージョンが Traffic Manager に異常な状態を報告した場合、その後の要求は、使用可能な場合は他のリージョンに解決されます。 DNS 参照をキャッシュしているクライアントは、フェールオーバー時間が長く発生する可能性があります。 ただし、クライアント側キャッシュの有効期限が切れると、その後の要求は使用可能なリージョンにルーティングされます。
Azure リージョンへの対応
次のリージョンはプライマリ リージョンとしてサポートされています (マネージド HSM プールをレプリケートできるリージョン)。
- 米国東部
- 米国東部 2
- 英国北部
- 西ヨーロッパ
- 米国西部
- カナダ東部
- カタール中部
- 東アジア
- 東南アジア
- 英国南部
- 米国中部
- 東日本
- スイス北部
- ブラジル南部
- オーストラリア中部
- インド中部
- 米国西部 3
- カナダ中部
- オーストラリア東部
- インド南部
- スウェーデン中部
- 南アフリカ北部
- 韓国中部
- 北ヨーロッパ
- フランス中部
- 西日本
- 米国中南部
- ポーランド中部
- スイス西部
- オーストラリア南東部
- インド西部
- アラブ首長国連邦中部
- アラブ首長国連邦北部
- 米国西部 2
- 米国中西部
Note
現時点では、米国中部、米国東部、米国中南部、米国西部 2、スイス北部、西ヨーロッパ、インド中部、カナダ中部、カナダ東部、西日本、カタール中部、ポーランド中部、米国中西部を拡張リージョンにすることはできません。 リージョン内での容量制限により、他のリージョンを拡張機能に使用できない場合があります。
請求
拡張リージョンへのマルチリージョン レプリケーションでは、拡張リージョン内で新しい HSM プールが消費されるため、追加の課金 (2 倍) が発生します。 詳細については、Azure マネージド HSM の価格に関するページを参照してください。
論理的な削除の動作
マネージド HSM の論理的な削除機能を使用すると、削除された HSM とキーを復旧できます。ただし、マルチリージョン レプリケーションが有効なシナリオでは、プライマリ HSM で論理的な削除を実行する前にセカンダリ HSM を削除する必要があるというわずかな違いがあります。 さらに、拡張リージョンがプライマリ HSM から削除されると、削除されたリージョン内の HSM は、論理的な削除状態にならずに消去され、消去された HSM の課金はすぐに終了します。 必要に応じていつでもプライマリから新しい拡張リージョンへの拡張を行うことができます。
マルチリージョン レプリケーションでのプライベート リンクの動作
Azure Private Link 機能を使用すると、仮想ネットワーク内のプライベート エンドポイント経由でマネージド HSM サービスにアクセスできます。 マルチリージョン レプリケーション機能を使用しない場合と同様に、プライマリ リージョンのマネージド HSM でプライベート エンドポイントを構成します。 拡張リージョン内のマネージド HSM に関しては、プライマリ リージョン内のマネージド HSM が拡張リージョン内のマネージド HSM にレプリケートされたら、別のプライベート エンドポイントとプライベート DNS ゾーンを作成することをお勧めします。 これにより、クライアントの場所に最も近いマネージド HSM にクライアント要求がリダイレクトされます。
以下に示すシナリオの例は、プライマリ リージョン (英国南部) 内のマネージド HSM と拡張リージョン (米国中西部) 内のもう 1 つのマネージド HSM に関するものです。
プライマリと拡張リージョン内のマネージド HSM が両方とも起動してプライベート エンドポイントが有効な状態で実行されている場合、クライアント要求は、クライアントの場所に最も近いマネージド HSM にリダイレクトされます。 クライアント要求は、最も近いリージョンのプライベート エンドポイントに移動し、Traffic Manager によって同じリージョンのマネージド HSM に送信されます。
マルチリージョン レプリケート シナリオのマネージド HSM (例として英国南部) の 1 つがプライベート エンドポイントを有効にしたまま使用できなくなった場合、クライアント要求は使用可能なマネージド HSM (米国中西部) にリダイレクトされます。 英国南部からのクライアント要求は、最初に英国南部のプライベート エンドポイントに送られ、Traffic Manager によって米国中西部のマネージド HSM に送信されます。
プライマリと拡張リージョン内にそれぞれマネージド HSM があるものの、プライベート エンドポイントはプライマリまたは拡張リージョン内に 1 つしか構成されていない場合。 別の VNET (VNET1) のクライアントが別の VNET (VNET2) のプライベート エンドポイントを介してマネージド HSM に接続するには、2 つの VNET 間の VNET ピアリングが必要です。 プライベート エンドポイントの作成時に作成されるプライベート DNS ゾーンの VNET リンクを追加できます。
次の図では、プライベート エンドポイントは英国南部リージョンにのみ作成されていますが、2 つのマネージド HSM が 1 つは英国南部で、もう 1 つは米国中西部でそれぞれ稼働しています。 要求はプライベート エンドポイントを介してルーティングされ、この場合のプライベート エンドポイントの場所は英国南部であるため、両方のクライアントからの要求は英国南部のマネージド HSM に送信されます。
次の図では、プライベート エンドポイントは英国南部リージョンにのみ作成されていて、さらに米国中西部のマネージド HSM のみが使用でき、英国南部のマネージド HSM は使用できません。 この場合、Traffic Manager によって英国南部のマネージド HSM が使用できないことが検出されると、要求は英国南部のプライベート エンドポイントを介して米国中西部マネージド HSM にリダイレクトされます。
Azure CLI コマンド
新しいマネージド HSM プールを作成してから拡張リージョンへの拡張を行う場合は、拡張の前にこちらの手順を参照してください。 既存のマネージド HSM プールから拡張を行う場合は、以下の手順を使用して HSM プールを拡張リージョンに拡張します。
Note
これらのコマンドには、Azure CLI バージョン 2.48.1 以降が必要です。 最新バージョンをインストールするには、「Azure CLI をインストールする方法」を参照してください。
プライマリ HSM を拡張リージョンに拡張する
マネージド HSM プールを別のリージョンに拡張するには、新しい HSM を拡張リージョン内に自動的に作成する次のコマンドを実行します。
az keyvault region add --hsm-name "ContosoMHSM" --region "australiaeast"
Note
この例の中の "ContosoMHSM" はプライマリ HSM プール名で、"australiaeast" はその拡張先の拡張リージョンです。
プライマリ HSM から拡張リージョンを削除する
拡張 HSM を削除すると、他のリージョン内の HSM パーティションは消去されます。 プライマリ マネージド HSM を論理的に削除または消去する前に、すべてのセカンダリを削除する必要があります。 このコマンドを使用して削除できるのはセカンダリだけです。 プライマリは、論理的な削除コマンドと消去コマンドを使用してのみ削除できます。
az keyvault region remove --hsm-name ContosoMHSM --region australiaeast
すべてのリージョンをリストする
az keyvault region list --hsm-name ContosoMHSM