Service Connector の高可用性

Service Connector では、Bus Critical ワークロードの回復性と信頼性を実現できるように、Azure 可用性ゾーンがサポートされています。 Service Connector での高可用性アーキテクチャのゴールは、サービス接続の稼働および実行の時間が 99.9% 以上になることを保証し、潜在的なメンテナンス操作や障害の影響について心配する必要がないようにすることです。 Service Connector は、Azure で実行しているすべての種類のアプリケーションに高可用性サポートを提供するように設計されています。

ユーザーは、多くのリージョンの可用性ゾーン間で Azure コンピューティング サービスを配布できます。 Service Connector は、これらのコンピューティング サービスの拡張リソース プロバイダーです。 可用性ゾーンが有効になっているコンピューティング サービスでサービス接続を作成すると、Azure によってサービス接続に対応するサービス接続の可用性ゾーンも自動的に設定されます。 Microsoft が、サービス接続の可用性ゾーンとディザスター リカバリーを設定する責任を負います。

Service Connector のゾーン冗長

Service Connector は、Azure 拡張リソース プロバイダーです。 Azure App Service、Azure Spring Apps、Azure Container Apps を拡張します。 Service Connector を使用してこれらのコンピューティング サービスのいずれかで新しいサービス接続を作成した場合、最上位の親コンピューティング サービスの一部として接続リソースがプロビジョニングされます。

接続のゾーン冗長を有効にするには、コンピューティング サービスのゾーン冗長を有効にする必要があります。 コンピューティング サービスがゾーン冗長で構成されると、サービス接続も自動的にゾーン冗長になります。 たとえば、ゾーン冗長を有効にしたアプリ サービスがある場合、プラットフォームでは、選択したリージョンの 3 つのゾーンにアプリ サービス インスタンスを自動的に分散させます。 Service Connector を使用してこのアプリ サービスでサービス接続を作成すると、サービス接続リソースも、選択したリージョンの 3 つの対応するゾーンに自動的に作成されます。 トラフィックは、使用可能なすべての接続リソースにルーティングされます。 ゾーンがダウンした場合は、プラットフォームによって、失われたインスタンスが検出され、新しい置換インスタンスの検索が自動的に試行され、必要に応じてトラフィックが拡散されます。

Note

サービス接続を作成、更新、検証、一覧表示するために、Service Connector ではコンピューティング サービスとターゲット サービスから API が呼び出されます。 Service Connector はコンピューティング サービスとターゲット サービスの両方からの応答に依存するため、ゾーンダウン シナリオでの Service Connector への要求は、ターゲット サービスに到達できない場合は成功しない可能性があります。 この制限は、App Service、Azure Container Apps、Azure Spring Apps に当てはまります。

Service Connector を使用してゾーン冗長サービス接続を作成する方法

Azure CLI または Azure portal を使用して App Service でゾーン冗長サービス接続を作成するには、次の手順に従います。 同じプロセスを使用して、Azure Spring Apps と Azure Container Apps コンピューティング サービスのゾーン冗長接続を作成できます。

Azure CLI を使用してサービス接続のゾーン冗長を有効にするには、まずゾーン冗長アプリ サービスを作成することから始めます。

  1. App Service プランを作成し、--zone-redundant パラメーターを含めます。 必要に応じて、--number-of-workers パラメーターを含めて容量を指定します。 詳細については、ゾーン冗長 App Service をデプロイする方法について示したページを参照してください。

    az appservice plan create --resource-group MyResourceGroup --name MyPlan --zone-redundant --number-of-workers 6
    
  2. App Service でアプリケーションを作成し、Blob Storage アカウントまたは任意の別のターゲット サービスへの接続を作成します。

    az webapp create --name MyApp --plan MyPlan resource-group MyResourceGroup
    az webapp connection create storage-blob 
    

App Service のゾーン冗長を有効にすると、サービス接続もゾーン冗長になります。

ヒント

ターゲット サービスのゾーン冗長を有効にすることをお勧めします。 ゾーンダウン シナリオでは、接続へのトラフィックは自動的に他のゾーンに分散されます。 ただし、接続の作成、検証、更新は、ターゲット サービスの管理 API に依存します。 ターゲット サービスでゾーン冗長がサポートされていない場合、またはゾーン冗長が有効になっていない場合、これらの操作は失敗します。

Service Connector のディザスター リカバリーと回復性を理解する

ディザスター リカバリーは、致命的な損失の発生後にアプリケーション機能を復元するプロセスです。

クラウドでは、障害が確かに発生することを事前に認識しています。 目標は、障害がまったく発生しないように努力することではなく、障害が発生した単一コンポーネントの影響を最小限に抑えることです。 障害が発生した場合、Service Connector ではペア リージョンにフェールオーバーされます。 Service Connector チームによって停止が決定または宣言された場合、お客様は何もする必要はありません。

RTO (回復時間の目標) という用語で、Service Connector に影響を与える停止の開始から完全な可用性への復旧までの時間を示します。 RPO (回復ポイントの目標) は、正常に復元された最後の操作から、Service Connector に影響を与える停止の開始時刻までの時間を示します。 予想される RPO と最大 RPO は 24 時間、RTO は 24 時間です。

フェールオーバーが発生する前に、障害発生時に Service Connector に対する操作が失敗する可能性があります。 フェールオーバーが完了すると、データが復元され、お客様は何も実行する必要はありません。

Service Connector では、ストレージとコンピューティングの事業継続とディザスター リカバリー (BCRD) が処理されます。 プラットフォームでは、ストレージまたはコンピューティングで問題が発生した場合に、どのリージョンでも影響を最小限に抑えるよう努めています。 データ レイヤーの設計では、障害発生時の待機時間よりも可用性が優先度付けされます。つまり、リージョンがダウンした場合、Service Connector ではペア リージョンからのエンド ユーザー要求の処理が試行されます。

フェールオーバーのアクション中に、Service Connector では使用可能なリージョンへの DNS 再マッピングが処理されます。 フェールオーバー後、顧客ビューのすべてのデータとアクションが通常どおりに機能します。 Service Connector では約 1 時間で DNS が変更されます。 手動フェールオーバーを実行する場合は、より多くの時間がかかります。 Service Connector は他の Azure サービスに基づいて構築されたリソース プロバイダーであるため、実際の時間は基になるサービスのフェールオーバー時間によって異なります。

ディザスター リカバリー リージョンのサポート

Service Connector では現在、次のリージョン ペアがサポートされています。 プライマリ リージョンで障害が発生すると、セカンダリ リージョンへのフェールオーバーが自動的に開始されます。

プライマリ セカンダリ
米国東部 2 EUAP 米国東部
米国中西部 米国中西部 2
西ヨーロッパ 北ヨーロッパ
北ヨーロッパ 西ヨーロッパ
米国東部 米国西部 2
米国西部 2 米国東部

リージョン間のフェールオーバー

Microsoft は、リージョン間のフェールオーバー処理を担います。 Service Connector では、10 分ごとに正常性チェックが実行され、リージョンのフェールオーバーが検出され、Service Connector のバックエンドで処理されます。 フェールオーバーのプロセスで、お客様のアプリケーションまたはコンピューティング サービスの構成を変更する必要はありません。 Service Connector では、自動フェールオーバーでアクティブ/パッシブ クラスター構成を使用します。 ディザスター リカバリー後、お客様は Service Connector で提供される完全な機能を使用できます。

10 分ごとに実行される正常性チェックでは、Service Connector でサポートされている各コンピューティング サービスのターゲット サービスへの接続を作成、検証、更新することで、ユーザーの動作をシミュレートしています。 次のいずれかの条件を満たしている場合、Microsoft は分析を開始し、Service Connector のフェールオーバーを起動します。

  • サービス正常性チェックが 3 回連続して失敗する
  • Service Connector の依存サービスで停止が宣言される
  • お客様がリージョンの停止をレポートする

サービス接続への要求は、フェールオーバー中の影響を受けます。 フェールオーバーが完了すると、サービス接続データは復元されます。 Azure の状態ページを確認して、すべての Azure サービスの状態を確認できます。

次のステップ

Service Connector の詳細については、概念に関する以下の記事を参照してください。