地理的冗長化

circle-exclamation

このリファレンス アーキテクチャは、可用性を高めるために Azure App Service アプリケーションを複数のリージョンで実行する方法を示します。

circle-info

ジオ冗長性/高可用性は現在、(メイン) SCEPman App Service のみで利用可能です。理由:Certificate Master の利用者は通常、時間に厳しくない証明書のワークロードと、このようなシナリオを扱う手順に関する知識を持った管理者であるためです。

アーキテクチャ

上図のように、ジオ冗長デプロイメントは Azure Traffic Manager プロファイルを活用し、SCEPman CA への (DNS ベースの) リクエストを異なる地理的ロケーションにデプロイされた 2 台の SCEPman インスタンスのペアにルーティングします。個々の SCEPman インスタンスは同じ KeyVault、Storage Account、AAD と通信し、同じルート CA を共有します。Traffic Manager は選択可能なルーティングアルゴリズムに基づいてトラフィックを負荷分散するだけでなく、両方の SCEPman インスタンスを継続的にプローブします。インスタンスが利用不可になった場合、すべてのトラフィックは自動的に利用可能なインスタンスにルーティングされます。

Microsoft は次で説明しています この記事arrow-up-right で、この種のアーキテクチャを管理するために使用できる 3 つの異なるジオ冗長化戦略について説明しています。しかし本件では、私たちは アクティブ/アクティブ アプローチを使用します。これは両方のリージョンがアクティブであり、リクエストがそれらの間で負荷分散されることを意味します。いずれかのリージョンが利用不可になったり何らかの理由で遅延が発生した場合、Traffic Manager はトラフィックを第二の App Service にルーティングします。

circle-info

以下も確認してください Microsoft の利用可能なリージョン一覧arrow-up-right とそれぞれのペアリングされたリージョン。ペアになっていないリージョンを使用すると、この冗長構成のセットアップ時に問題が発生する可能性があります。

ワークフロー

  • まず、SCEPman App Service を別の地理的ロケーションにクローンします。

  • 次に、Traffic Manager を構成し、そのエンドポイントを追加して両方の SCEPman App Service に接続します。

  • その後、両方の App Service のカスタム ドメインを構成します。

  • 最後に、DNS の CNAME レコードを構成し、カスタム ドメインが Traffic Manager を指すようにします。

アプリのクローン作成

App Service をクローンするには、まず新しい App Service プラン を別の地理的ロケーションに作成する必要があります。ここにクローンされたアプリがデプロイされます。既存の SCEPman リソース グループと同じグループに作成することも、新しいグループに作成することもできます。スクリーンショットは以下を参照してください:

Windows を使用した新しい App Service プランの作成
circle-info

App Service クローンの要件 (via SCEPman PowerShell モジュール):

  • SCEPman 2.2 または上記

  • SCEPman PowerShell モジュール 1.6.3.0 または上記

  • グローバル管理者権限

次の CMDlet コマンドは、SCEPman App Service をクローンし、必要な権限をすべて構成します:

  • SourceAppServiceName: 既存の SCEPman App Service の名前。

  • TargetAppServiceName: 新しくクローンされた SCEPman App Service の名前。

  • TargetAppServicePlan: クローンされた SCEPman インスタンス用の App Service プランの名前。App Service プランはターゲットのリソース グループに既に存在している必要があります。

  • SourceResourceGroup: (オプション) 既存の SCEPman App Service をホストしている Azure リソース グループ。自動検出する場合は空のままにします。

  • TargetResourceGroup: (オプション) 新しい SCEPman App Service をホストする Azure リソース グループ。App Service プランのリソース グループを自動検出する場合は空のままにします。

  • SourceSubscriptionId: (オプション) SCEPman がインストールされているサブスクリプションの ID。az で事前に選択されている場合は省略できます。または SearchAllSubscriptions フラグを使用してアクセス可能なすべてのサブスクリプションを検索できます。

  • TargetSubscriptionId: (オプション) SCEPman をインストールするサブスクリプションの ID。SourceSubscriptionId と同じであれば省略できます。

  • SearchAllSubscriptions: (オプション) このフラグを設定すると、SCEPman App Service を検索するためにすべてのサブスクリプションを検索します。そうでない場合は、az で適切なサブスクリプションを事前選択するか、正しい SubscriptionId を渡してください。

の URL をコピーしてください

既存の SCEPman App Service "as-scepman-nrg5reuov63vk" をクローンします

デプロイが正常に完了したら、クローンされた App Service に移動し、SCEPman のホームページを確認してすべての権限が正しく設定され、すべてが緑色で接続されていることを確認してください(デプロイ完了後に最大 3 分かかることがあります)。

circle-info

単一障害点を避けるために、クローンされた App Service の WEBSITE_RUN_FROM_PACKAGE を Azure の第二の独立したアーティファクト ホストに設定することを推奨します。

プロダクション チャネル:

https://install.scepman.com/dist/Artifacts.zip

元の App Service はデフォルトで最初のアーティファクト ホストを持ち、これは GitHub リポジトリを指します。詳細については次を確認してください アプリケーションアーティファクト.

circle-exclamation

Traffic Manager のセットアップ

以下の手順に従って Traffic Manager を作成および構成し、両方の SCEPman インスタンス間でトラフィックを負荷分散します:

  1. マーケットプレイスで次を検索します Traffic Manager プロファイル をクリックし 作成.

  2. フィールドに入力し、SCEPman のリソース グループを選択します

  1. 次にクリックします 作成.

  2. Traffic Manager がデプロイされたら、それを開き、次をクリックします 構成

  3. 設定を次のように変更して保存します

Traffic Manager の構成

エンドポイントの追加

最初のエンドポイント

  1. 次に、 設定 を選択します エンドポイント

  2. 「Azure エンドポイント」をとして選択し、 タイプ最初のエンドポイントの名前を指定し、「App Service」をとして設定します ターゲット リソースの種類

  3. プライマリの SCEPman App Service をとして選択します ターゲット リソース

Traffic Manager、エンドポイント構成

2 番目のエンドポイント

同じ手順を 2 番目のエンドポイントについて繰り返し、2 番目(クローンされた)SCEPman App Service をとして選択します ターゲット リソース

カスタム ドメインの構成

Traffic Manager のエンドポイントのデプロイと構成が正常に完了したら、次の設定を行う必要があります: 同じ カスタム ドメインを 両方の SCEPman インスタンスに対して、記載のとおり設定します こちら.

設定の値を変更することを忘れないでください AppConfig:BaseUrl 対象: 両方の カスタムドメインが作成された後の SCEPman App Services。

DNS の構成

Traffic Manager の 概要で、 DNS 名が見つかります。これはあなたの DNS に追加する必要があります

Traffic Manager の概要
  • DNS 管理サービス(例: Azure DNS ゾーン)

  • 既存で誤った CNAME エントリが Azure App Service インスタンスのいずれかを指している場合はそれを削除し、作成した SCEPman カスタム ドメインを Traffic Manager の DNS 名にマップする CNAME を追加します。以下の例では CNAME は次を指すべきです: gk-blueprint-scepman.trafficmanager.net.

circle-info

において、 Azure DNS ゾーンレコードを変更するには、まず次に移動して DNS ロックを解除する必要があります: ロック.

circle-info

構成が完了したら、Intune の SCEP プロファイル内の SCEP サーバー URL を更新してください。新しい URL は作成したカスタム ドメインで、末尾に "/certsrv/mscep/mscep.dll" を付けた形式にしてください。

例: arrow-up-right

ストレージ アカウントのジオ冗長化

SCEPman に使用するストレージ アカウントも冗長化の設定を行う必要があります。デフォルトの SCEPman 設定ではローカル冗長ストレージ (LRS) を使用しており、単一リージョンのみを使用します。例えば、Geo 冗長ストレージ (GRS) を構成してください。

Azure ポータルのストレージ アカウント冗長化ダイアログ

最終更新

役に立ちましたか?