地理冗長

circle-exclamation

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

circle-info

ジオ冗長性 / 高可用性は、現在のところ(メインの)SCEPman App Service でのみ利用できます。理由: Certificate Master の利用者は通常、時間的に критical ではない証明書ワークロードを扱う管理者であり、このような状況に対処する手順の知識を持っているためです。

アーキテクチャ

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

Microsoft は この記事arrow-up-right で、この種のアーキテクチャを管理するために使用できる 3 つの異なるジオ冗長化戦略について説明しています。ただし、今回のケースでは Active/Active アプローチを使用します。つまり、両方のリージョンがアクティブであり、要求はそれらの間で負荷分散されます。いずれかのリージョンが利用できなくなった場合、または何らかの理由でレイテンシが発生した場合、Traffic Manager はトラフィックを 2 つ目の App Service にルーティングします。

circle-info

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

ワークフロー

  • 最初に、SCEPman App Service を別の地理的場所へクローンします。

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

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

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

App のクローン作成

App Service をクローンするには、まず新しい App Service Plan を 2 番目の地理的場所に作成する必要があります。ここにクローンされた App がデプロイされます。これは同じ SCEPman Resource group に作成することも、新しいグループに作成することもできます。以下のスクリーンショットを参照してください。

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

App Service クローンの要件(経由) SCEPman PowerShell Module):

  • SCEPman 2.2 以上

  • SCEPman PowerShell Module 1.6.3.0 以上

  • Global Admin 権限

次の CMDlet コマンドにより、SCEPman App Service がクローンされ、必要なすべての権限が構成されます。

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

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

  • TargetAppServicePlan: クローンされた SCEPman インスタンス用の App Service Plan の名前。App Service Plan は TargetResourceGroup にすでに存在している必要があります。

  • SourceResourceGroup: (省略可)既存の SCEPman App Service をホストしている Azure リソース グループ。自動検出する場合は空のままにしてください。

  • TargetResourceGroup: (省略可)新しい SCEPman App Service をホストする Azure リソース グループ。App Service Plan のリソース グループを自動検出するには空のままにしてください。

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

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

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

既存の SCEPman App Service「as-scepman-nrg5reuov63vk」をクローンする

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

circle-info

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

本番チャネル:

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

元の App Service には既定で最初のアーティファクト ホストが設定されており、これは GitHub リポジトリを指しています。詳細は アプリケーション アーティファクト.

circle-exclamation

Traffic Manager のセットアップ

以下の手順に従って Traffic Manager を作成・構成し、2 つの SCEPman インスタンス間でトラフィックを分散します。

  1. Marketplace で次を検索します Traffic Manager profile をクリックし、 作成.

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

  1. 次に、 作成.

  2. Traffic Manager がデプロイされたら、それを開いて Configuration

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

Traffic Manager Configuration

エンドポイントの追加

最初のエンドポイント

  1. その後、 SettingsEndpoints

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

  3. として選択します ターゲット リソース

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

2 番目のエンドポイント

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

カスタム ドメインの構成

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

設定値を必ず変更してください AppConfig:BaseUrl 対象 両方の カスタム ドメインの作成後に、SCEPman App Service の値を更新してください。

DNS の構成

Traffic Manager の 概要 には、DNS に追加する必要がある DNS 名が表示されます

Traffic Manager の概要
  • DNS 管理サービスに移動します(例: Azure DNS Zones)

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

circle-info

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

circle-info

構成が完了したら、Intune の SCEP プロファイル内の SCEP Server URL を更新してください。新しい URL は、末尾に「/certsrv/mscep/mscep.dll」を付けた、作成したカスタム ドメインにする必要があります。

例: https://scepman.contoso.com/certsrv/mscep/mscep.dllarrow-up-right

Storage Account のジオ冗長性

SCEPman で使用される Storage Account も冗長構成にする必要があります。既定の SCEPman セットアップでは、単一リージョンのみを使用する Locally Redundant Storage (LRS) を使用します。たとえば、Geo-redundant storage (GRS) を構成します。

Azure Portal の Storage account redundancy ダイアログ

最終更新

役に立ちましたか?