次の方法で共有


Azure ワークロードのゾーン回復性を有効にする

ゾーン回復性に対応するように Azure ワークロードを設計すると、ハードウェア障害、ネットワークの中断、自然災害からアプリケーションを保護するのに役立ちます。 ゾーン回復性を確保するためにリージョン内の複数の可用性ゾーンにリソースを分散することで、1 つのゾーンの停止が重要なサービスに影響を及ぼすリスクを軽減できます。

ゾーン回復性に対応するには、ワークロードの初期計画とデプロイ時が最も効果的です。 ただし、既存のワークロードの多くは、まだこのレベルの保護をサポートするように構成されていない可能性があります。 ほとんどの場合、デプロイ済みワークロードに対してゾーン回復性を有効にするのは簡単であり、Microsoft はこのプロセスをさらに簡単にする改善に継続的に取り組んでいます。 ただし、ワークロードを変更するとリスクが生じる可能性があるため、慎重に計画を立てる必要があります。 どのワークロードと、そのワークロード内のどのサービスがビジネスにとって最も重要かを評価し、優先順位を付けます。 次に、最も影響の大きいリソースに最初にゾーン回復性を適用します。

この記事では、Azure ワークロードでゾーン回復性を有効にするための重要な考慮事項について説明します。 また、より回復性の高いアーキテクチャへの移行を計画し、実装するためにも役立ちます。

ヒント

現在、ワークロードを設計している場合、または現在のワークロードの設計レビューを行う予定の場合は、Azure Well-Architected フレームワークの冗長設計に関する推奨事項に従うことが重要です。 リンク先の記事は、重要なワークフローに焦点を当て、複数のレベルでワークロードの冗長性を設計する方法を説明しています。 可用性ゾーンのデプロイを支援するために、Well-Architected フレームワークの冗長性に関する推奨事項ガイドでは、マルチリージョン デプロイやデプロイ スタンプなどの戦略についても説明しています。

ゾーン回復性とは

次の 2 つの主な方法で、可用性ゾーンの停止に対する回復性を Azure サービスに持たせることができます。

  • ゾーン冗長サービス: 多くの Azure サービスは "ゾーン冗長" をサポートしています。 これらのサービスは、自動的に可用性ゾーン間でデータをレプリケートし、着信要求を分散し、ゾーン障害時に別のゾーンにフェールオーバーします。 各サービスは、個々のサービスに適した方法でこれらの機能をサポートします。 一部のサービスは既定でゾーン冗長ですが、ゾーン冗長を構成する必要のあるサービスもあります。

  • ゾーン サービス: 一部の Azure サービスは "ゾーン単位" であるため、特定の可用性ゾーンに固定できます。 ゾーン サービスを使用してゾーン回復性を確保するには、複数の可用性ゾーンにサービスの個別のインスタンスをデプロイする必要があります。 トラフィックの分散、データのレプリケーション、インスタンス間のフェールオーバーの管理も必要になる場合があります。

一部のサービスは、ゾーン冗長構成またはゾーン構成のいずれかでデプロイできます。 ほとんどの場合、可能であればゾーン冗長サービスをデプロイすることをお勧めします。

詳細については、「可用性ゾーンのサポートの種類」を参照してください。

ゾーン有効化手順

以下の手順に従って、Azure ワークロードを体系的に確認し、ゾーン回復性に基づいて優先順位を付け、各コンポーネントでゾーン回復性を有効にします。

[前提条件]

始める前に、次の操作を行う必要があります。

  • 各ワークロードを識別します。 ワークロードとは、定義されたビジネス成果を達成するために連携して機能するアプリケーション リソース、データ、サポート インフラストラクチャのコレクションを指します。 ワークロードとその定義方法の詳細については、Well-Architected フレームワークのワークロードに関する記事を参照してください。

  • 各ワークロードのユーザー フローとシステム フローに優先順位を付けます。 ワークロードのクリティカル パスと依存関係を理解することは、最初にどのコンポーネントにゾーン回復性を持たせるかを見極めるうえで重要です。 クリティカル フロー分析を使用してワークフローに優先順位を付ける方法の詳細については、「ゾーン回復性に基づいてワークロードに優先順位を付ける」を参照してください。

  • 各ワークロードとフローに重要度評価を割り当てます。 この評価は、潜在的な停止がビジネスに及ぼす影響を理解し、ゾーン回復性に基づいてどのワークロードを優先するかを決定するのに役立ちます。 また、ワークロードを再構成する際に許容できるダウンタイムの量も考慮する必要があります。

    単純な分類法を使用して、ワークロードの重要度に基づいて分類できます。 このアプローチにより、最も重要なサービスに注力することができます。

    ワークロードを分類するには、次の例の分類法を検討してください。

    ワークロードの種類 Description 中断の影響
    ミッション クリティカル 高い信頼性、常時可用性、障害回復性、高い運用性が求められるクリティカル フローとクリティカル ワークロード 重要な機能が中断されると、即座に致命的なビジネス上の損害が発生したり、人命がリスクにさらされたりします。
    ビジネスクリティカル 重要なビジネス機能を運用する必要不可欠なフローとワークロード 中断は金銭的損失やブランドの毀損をもたらすリスクがあります。
    ビジネス運用 ビジネス運用の効率化に貢献しますが、顧客への直接サービスには関与しません ある程度の中断は許容できます。
    管理 ビジネス運用に直結しない社内の業務フローとワークロード 中断は許容できます。

    重要度評価に従ってワークロードを分類する方法の詳細については、「各フローに重要度評価を割り当てる」を参照してください。

  • Azure リソースが配置されているリージョンが可用性ゾーンをサポートしていることを確認します。Azure リージョンの一覧」を参照してください。 リージョンが可用性ゾーンをサポートしていない場合は、可用性ゾーンをサポートしているリージョンにリソースを移行し直すことを検討してください。 詳細について、「リソース グループ、サブスクリプションまたはリージョン間で Azure リソースを移動する」をご覧ください。

手順 1: ゾーン回復性に基づいて Azure サービスに優先順位を付ける

どのワークロード フローがビジネスにとって最も重要かを決定したら、それらのフローが依存する Azure サービスに重点を置くことができます。 一部の Azure サービスは、他のサービスよりもアプリケーションにとって重要です。 このようなサービスを優先することで、ゾーン障害が発生した場合でもアプリケーションの可用性と回復性を維持できます。

次のガイダンスを参考にして、ワークロードに対する重要度に基づいて Azure サービス グループの優先順位を決定します。 ゾーン回復性に基づいてサービスの優先順位を決定する際は、お客様自身のアプリケーション アーキテクチャとビジネス要件を考慮することが重要です。

  1. ネットワーク サービスから始めます。 ワークロードはネットワーク サービスを共有する傾向があるため、ワークロードの回復性が向上すると、複数のワークロードの回復性も同時に向上させることができます。

    多くのコア ネットワーク サービスは自動的にゾーン冗長になりますが、Azure ExpressRoute Gateway、Azure VPN Gateway、Azure Application Gateway、Azure Load Balancer、Azure Firewall などのコンポーネントに重点を置く必要があります。

  2. 運用データ ストレージには、複数のワークロードでよく使用される貴重なデータが含まれています。つまり、このようなデータ ストアの可用性を向上させることは、多くのワークロードにも役立ちます。

    運用データ ストレージの回復性については、Azure SQL Database、Azure SQL Managed Instance、Azure Storage、Azure Data Lake Storage、Azure Cosmos DB、Azure PostgreSQL フレキシブル サーバー、Azure MySQL フレキシブル サーバー、Azure Cache for Redis などのサービスに重点を置きます。

  3. 多くの場合、次に優先されるのはコンピューティング サービスです。 コンピューティング サービスはステートレスであるため、ゾーン間でのレプリケートや分散は多くの場合簡単です。

    コンピューティング サービスには、Azure Virtual Machines、Azure Virtual Machine Scale Sets、Azure Kubernetes Service (AKS)、Azure App Service、App Service Environment、Azure Functions、Azure Container Apps が含まれます。

  4. 重要なフローで使用されている残りのビジネスクリティカルなリソースをすべて確認します。 このようなリソースは、上記のリソースほど重要ではないかもしれませんが、アプリケーションの機能において一定の役割を果たしているため、ゾーン回復性を確保するうえで考慮する必要があります。

  5. 残りのビジネス運用リソースを確認し、ゾーン回復性を持たせるかどうかについて十分な情報に基づいて判断します。 このレビューには、重要なワークロードに直接関連付けられていないものの、全体的なアプリケーションのパフォーマンスと信頼性に寄与するサービスも含まれます。

手順 2: ゾーン構成アプローチを評価する

ワークロードと Azure サービスに優先順位を付けたら、各サービスで可用性ゾーン サポートを有効にするために使用できるアプローチと、ゾーン回復性のある構成を実現する方法を理解することが重要です。

各 Azure 信頼性サービス ガイドには、そのサービスのゾーン回復性を有効にする方法を説明するセクションが用意されています。 このセクションでは、各サービスにゾーン回復性を持たせるために必要な作業を理解し、それに応じて戦略を計画できるようにします。 特定のサービスの詳細については、Azure 信頼性サービス ガイドを参照してください。

一般的な Azure サービスに使用できるアプローチを簡単に理解するには、ゾーン構成表を参照してください。

Important

ゾーン (または単一ゾーン) 構成でデプロイされているコンポーネントがワークロードに含まれている場合は、それらのコンポーネントにゾーンの停止に対する回復性を持たせるように計画する必要があります。 一般的なアプローチとしては、別の可用性ゾーンに個別のインスタンスをデプロイし、必要に応じてそれらを切り替える方法があります。

手順 3: 待機時間をテストする

ワークロードにゾーン回復性を持たせる場合は、可用性ゾーン間の待機時間を考慮することが重要です。 特にデータ層内で同期レプリケーションが有効になっている場合、一部のレガシ システムでは、ゾーン間トラフィックによって発生するわずかな追加の待機時間も許容できない場合があります。 ゾーン間の待機時間がワークロードに影響をする可能性があると思われる場合は、ゾーン回復性を有効にする前と後の両方で必ずテストを実行してください。

Azure サービスのゾーン構成アプローチ

各 Azure サービスは、サービスの使用目的と内部アーキテクチャに基づいて、特定の種類の可用性ゾーン サポートを提供します。 現在、可用性ゾーンを使用するように構成されていないリソース (つまり "非ゾーン" リソース) がある場合は、可用性ゾーン サポートを使用してそのリソースを再構成することをお勧めします。 各サービスの信頼性ガイドには、可用性ゾーンの構成手順に関するガイダンスまたはリンクが記載されています。

このセクションでは、さまざまな種類のゾーン構成アプローチと、各サービスがサポートするアプローチの概要を簡単に説明します。

Important

リソースで ゾーン冗長 を有効にすると、そのリソースはゾーン障害に対して自動的に回復性を持つ状態になります。 ゾーン構成を使用してリソースを特定の可用性ゾーンにピン留めする場合、リソースは自動的にゾーン冗長ではなく、ゾーンの障害に対する回復性を確保する責任があります。 ゾーン サービスの場合、このドキュメントの情報には、ゾーンへのピン留めの複雑さとコストが反映されています。 リソース ゾーンの回復性を確保するためにさらに作業が必要な場合があるため、詳細 については、サービスの信頼性ガイドを参照 してください。

次の表では、可用性ゾーンを有効にするために必要な作業レベルを含む、各ゾーン構成アプローチについて説明します。 この表には、有効化プロセス中にダウンタイムが必要かどうかも示されています。

ゾーン構成表には、多くの Azure サービスでサポートされているゾーン構成アプローチが一覧にまとめられ、各サービスの信頼性ガイドへのリンクも掲載されています。 信頼性ガイドでは、非ゾーン サービス リソースを可用性ゾーンのサポートを有効にするように構成する方法について説明しています。

方法 Description 一般的な作業レベル ダウンタイムが必要になる場合があります
常にゾーン回復性あり 可用性ゾーンをサポートするリージョンでは、サービスに既定でゾーン回復性があります。 アクションは必要ありません。 None いいえ
有効化 設定でゾーン冗長性を有効にするなど、最小限の構成変更が必要です。 プロセス中に可用性は影響を受けませんが、コストやパフォーマンスへの影響に注意してください。 Low いいえ
変更 依存リソースの再デプロイやネットワーク設定の変更など、いくつかの構成変更が必要になる可能性があります。 ミディアム イエス
再デプロイ リソース、アプリケーションまたはサービス全体の再デプロイ、新しいサービスへのデータの移行など、大幅な変更が必要になります。 High イエス

また、サービスの可用性ゾーンのサポートを有効にした場合のコストへの影響を理解することも重要です。 多くのサービスでは、可用性ゾーンを有効にしてもコストに影響はありません。 ただし、一部のサービスでは、サービスの特定のレベルをデプロイするか、サービスに対して一定数の容量ユニットをデプロイするか、またはその両方をデプロイする必要があります。 可用性ゾーンを使用する場合、他のサービスは異なる料金を請求します。 次の表に、各サービスの一般的なコストへの影響を示します。

この記事の情報は、可用性ゾーンのサポートと一般的なコストへの影響を有効にするために使用できる一般的なアプローチの概要です。 ただし、特定のソリューションでの動作に影響を及ぼす要因が存在する可能性があります。 たとえば、一部のサービスは "常にゾーン回復性あり" と記載されていても、この指定は特定のリージョンまたはサービスの特定のレベルにのみ適用されます。 これらの表は出発点として使用できますが、具体的な詳細を理解するには、リンクされたドキュメントを確認することが重要です。

ゾーン構成アプローチ別の Azure サービス

次の表は、多くの Azure サービスの可用性ゾーンのサポートをまとめたものです。また、コストへの影響を含め、そのサービスの可用性ゾーンのサポートを有効にするために使用できるアプローチを示します。

サービス ゾーン冗長に対応 ゾーン指定に対応 一般的なゾーン構成アプローチ 一般的なコストへの影響
Azure AI 検索 はい 常にゾーン回復性あり N/A
Azure API Management はい はい 変更 必要な最小レベル
Azure App Configuration はい 常にゾーン回復性あり N/A
Azure App Service はい 有効化 必要な最小レベルとインスタンス数
Azure App Service - App Service Environment はい 有効化 必要な最小インスタンス数
Azure Application Gateway はい はい 常にゾーン回復性あり N/A
Azure Backup はい 再デプロイ 中程度のコスト増加
Azure Bastion はい はい 再デプロイ コストへの影響なし
Azure Batch はい 再デプロイ 同じ数の VM に対するコストへの影響なし
Azure Blob Storage はい 有効化 中程度のコスト増加
Azure Cache for Redis - Enterprise はい 再デプロイ コストへの影響なし
Azure Cache for Redis - Standard と Premium はい 有効化 必要な最小レベル
Azure Container Apps はい 再デプロイ 必要な最小レプリカ数
Azure Container Instances はい 再デプロイ コストへの影響なし
Azure Container Registry はい 常にゾーン回復性あり N/A
Azure Cosmos DB (NoSQL) はい 変更 自動スケーリングまたは複数リージョンの書き込みを使用する場合はなし
Azureデータファクトリー はい 常にゾーン回復性あり N/A
Azure Data Lake Storage はい 有効化 中程度のコスト増加
Azure Database for MySQL - フレキシブル サーバー はい 再デプロイ プライマリ インスタンスと HA インスタンスが必要
Azure Database for PostgreSQL - フレキシブル サーバー はい 有効化 プライマリ インスタンスと HA インスタンスが必要
Azure Disk Storage (マネージド ディスク) はい はい 有効化 中程度のコスト増加
Azure Elastic SAN はい 再デプロイ 中程度のコスト増加
Azure Event Hubs: 専用レベル はい 常にゾーン回復性あり 最小限必要な CU
Azure Event Hubs: その他すべてのレベル はい 常にゾーン回復性あり N/A
Azure ExpressRoute はい はい 変更 レベルによって異なります
Azure Files はい 有効化 中程度のコスト増加
Azure ファイアウォール はい はい 変更 コストへの影響なし
Azure Functions はい 再デプロイ 必要な最小レベルとインスタンス数
Azure HDInsight はい 再デプロイ 同じ数のノードに対するコストへの影響なし
Azure IoT Hub はい 常にゾーン回復性あり N/A
Azure Key Vault はい 常にゾーン回復性あり N/A
Azure Kubernetes Service (AKS) はい 再デプロイ コストへの影響なし
Azure Load Balancer はい はい 変更 コストへの影響なし
Azure Logic Apps - 従量課金レベル はい 常にゾーン回復性あり N/A
Azure Logic Apps - Standard レベル はい 再デプロイ 必要な最小レベルとインスタンス数
Azure Managed Grafana はい Redeploy 中程度のコスト増加
Azure Monitor: Log Analytics はい 常にゾーン回復性あり
Azure NetApp Files はい 再デプロイ レプリケーションの構成に依存
Azure Queue Storage はい 有効化 中程度のコスト増加
Azure Service Bus はい 常にゾーン回復性あり N/A
Azure Service Fabric はい はい 再デプロイ 同じ数の VM に対するコストへの影響なし
Azure Site Recovery はい 再デプロイ Site Recovery のコストへの影響なし、レプリカ ストレージのコストの中程度の増加
Azure SQL データベース: Business Critical レベル はい 有効化 コストへの影響なし
Azure SQL Database: 汎用層 はい 有効化 中程度のコスト増加
Azure SQL Database: ハイパースケール レベル はい 再デプロイ 必要な最小レプリカ数
Azure SQL Database: Premium レベル はい 有効化 コストへの影響なし
Azure SQL Managed Instance はい 有効化 中程度のコスト増加
Azure Table Storage はい 有効化 中程度のコスト増加
Azure 仮想マシンのスケールセット はい はい 再デプロイ 同じ数の VM に対するコストへの影響なし
Azure Virtual Machines はい 再デプロイ 同じ数の VM に対するコストへの影響なし
Azure Virtual Network はい 常にゾーン回復性あり N/A
パブリック IP アドレス はい はい 常にゾーン回復性あり N/A