Azure Firewall は、Azure Virtual Network リソースを保護するクラウドベースのマネージド ネットワーク セキュリティ サービスです。 これは、組み込みの高可用性と無制限のクラウド スケーラビリティを含む、完全にステートフルなファイアウォール サービスです。
Azure を使用する場合、 信頼性は共有責任です。 Microsoft では、回復性と回復性をサポートするさまざまな機能を提供しています。 使用するすべてのサービスでこれらの機能がどのように機能するかを理解し、ビジネス目標とアップタイムの目標を達成するために必要な機能を選択する必要があります。
この記事では、一時的な障害、可用性ゾーンの停止、リージョンの停止など、さまざまな障害や問題に対する Azure Firewall の回復性を確保する方法について説明します。 また、サービス メンテナンス中の回復性についても説明し、ファイアウォール サービス レベル アグリーメント (SLA) に関するいくつかの重要な情報を強調します。
運用環境のデプロイに関する推奨事項
ソリューションの信頼性要件をサポートするために Azure Firewall を展開する方法と、信頼性がアーキテクチャの他の側面にどのように影響するかについては、Azure Well-Architected フレームワークでの Azure Firewall のアーキテクチャのベスト プラクティスに関する記事を参照してください。
信頼性アーキテクチャの概要
"インスタンス" は、ファイアウォールの仮想マシン (VM) レベルのユニットを参照します。 各インスタンスは、トラフィックを処理し、ファイアウォール チェックを実行するインフラストラクチャを表します。
ファイアウォールの高可用性を実現するために、Azure Firewall は、介入や構成を必要とせずに、少なくとも 2 つのインスタンスを自動的に提供します。 ファイアウォールは、平均スループット、CPU 消費量、接続使用率が定義済みのしきい値に達すると、自動的にスケールアウトします。 詳細については、「Azure Firewall のパフォーマンス」を参照してください。 プラットフォームは、インスタンスの作成、正常性の監視、および異常なインスタンスの置換を自動的に管理します。
サーバーとサーバーのラックの障害から保護するために、Azure Firewall はリージョン内の複数の障害ドメインにインスタンスを自動的に分散します。
次の図は、2 つのインスタンスを含むファイアウォールを示しています。
データセンターの障害発生時に冗長性と可用性を向上させるために、Azure Firewall では、複数の可用性ゾーンをサポートするリージョンでゾーンの冗長性が自動的に有効になり、少なくとも 2 つの可用性ゾーンにインスタンスが分散されます。
一時的な障害に対する回復性
一時的な障害は、コンポーネントにおける短い断続的な障害です。 これらはクラウドのような分散環境で頻繁に発生し、運用の通常の範囲であり、 一時的な障害は、短時間の経過後に自分自身を修正します。 アプリケーションで一時的な障害を処理できることは重要です。通常は、影響を受ける要求を再試行します。
クラウドでホストされるすべてのアプリケーションは、クラウドでホストされている API、データベース、およびその他のコンポーネントと通信する際に、Azure の一時的な障害処理のガイダンスに従う必要があります。 詳細については、「一時的な障害を処理するための推奨事項」を参照してください。
Azure Firewall 経由で接続するアプリケーションの場合は、発生する可能性がある一時的な接続の問題を処理するために、エクスポネンシャル バックオフを使用する再試行ロジックを実装します。 Azure Firewall のステートフルな性質により、短時間のネットワーク中断中も正当な接続がアクティブな状態を維持できます。
スケーリング操作 (5 ~ 7 分) の間、ファイアウォールは既存の接続を保持し、負荷の増加に対処するために新しいファイアウォール インスタンスを追加します。
可用性ゾーンの障害に対する回復性
可用性ゾーン は、Azure リージョン内のデータセンターの物理的に分離されたグループです。 1 つのゾーンで障害が発生した際には、サービスを残りのゾーンのいずれかにフェールオーバーできます。
Azure Firewall は、複数の可用性ゾーンをサポートするリージョンでゾーン冗長として自動的にデプロイされます。 ファイアウォールは、少なくとも 2 つの可用性ゾーンにデプロイするとゾーン冗長になります。
Azure Firewall は、ゾーン冗長とゾーンの両方の展開モデルをサポートします。
ゾーン冗長: 可用性ゾーンをサポートするリージョンでは、Azure は複数の可用性ゾーン (少なくとも 2 つ) にファイアウォール インスタンスを自動的に分散します。 Azure は、ゾーン間の負荷分散とフェールオーバーを自動的に管理します。 このデプロイ モデルは、すべての新しいファイアウォールの既定値です。
ゾーン冗長ファイアウォールは、最高のアップタイム サービス レベル アグリーメント (SLA) を実現します。 最大限の可用性を必要とする運用環境のワークロードに使用します。
次の図は、3 つの可用性ゾーンに分散された 3 つのインスタンスを持つゾーン冗長ファイアウォールを示しています。
注
複数の可用性ゾーンを持つリージョン内のすべてのファイアウォールデプロイは、自動的にゾーン冗長になります。 この規則は、Azure portal と API ベースのデプロイ (Azure CLI、PowerShell、Bicep、ARM テンプレート、Terraform) を介したデプロイに適用されます。
帯状: 容量の制約や待機時間の要件が重要な特定のシナリオでは、API ベースのツール (Azure CLI、PowerShell、Bicep、ARM テンプレート、Terraform) を使用して、Azure Firewall を特定の可用性ゾーンにデプロイできます。 ゾーン ファイアウォールのすべてのインスタンスをそのゾーン内にデプロイします。
次の図は、同じ可用性ゾーンにデプロイされた 3 つのインスタンスを含むゾーン ファイアウォールを示しています。
Important
ゾーンデプロイは、API ベースのツールを使用してのみ作成できます。 Azure portal を使用して構成することはできません。 既存のゾーン ファイアウォールのデプロイは、将来的にゾーン冗長デプロイに移行される予定です。 可能な限りゾーン冗長デプロイを使用して、最高の可用性 SLA を実現します。 ゾーン ファイアウォールだけでは、可用性ゾーンの停止に対する回復性は提供されません。
既存のデプロイの移行
以前は、ゾーン冗長性またはゾーンに構成されていない Azure Firewall のデプロイは、ノンゾーン または リージョナルです。 2026 年を通じて、Azure では、複数の可用性ゾーンをサポートするリージョン内のゾーン冗長デプロイに、既存のすべての非ゾーン ファイアウォール デプロイを移行しています。
リージョンのサポート
Azure Firewall は、可用性ゾーンをサポートするすべてのリージョンで可用性ゾーンをサポートします。ここでは、Azure Firewall サービスを利用できます。
Requirements
- Azure Firewall のすべてのレベルが、可用性ゾーンをサポートします。
- ゾーン冗長ファイアウォールでは、ゾーン冗長として構成された標準のパブリック IP アドレスが必要です。
- ゾーン ファイアウォール (API ベースのツールを使用してデプロイ) では、標準のパブリック IP アドレスが必要であり、ファイアウォールと同じゾーン内でゾーン冗長またはゾーンベースのいずれかに構成できます。
費用
ゾーン冗長ファイアウォールのデプロイには追加コストはかからなくなります。
可用性ゾーンのサポートを設定する
このセクションでは、ファイアウォールの可用性ゾーンの構成について説明します。
新しいファイアウォールを作成します。 複数の可用性ゾーンを持つリージョンのすべての新しい Azure Firewall デプロイは、既定で自動的にゾーン冗長になります。 この規則は、ポータル ベースと API ベースの両方のデプロイに適用されます。
ゾーン冗長 (既定): 複数の可用性ゾーンを持つリージョンに新しいファイアウォールをデプロイすると、Azure は少なくとも 2 つの可用性ゾーンにインスタンスを自動的に分散します。 追加の構成は必要ありません。 詳細については、Azure portal を使用した Azure Firewall の展開に関する記事を参照してください。
- Azure portal: ゾーン冗長ファイアウォールを自動的にデプロイします。 ポータルを使用して特定の可用性ゾーンを選択することはできません。
- API ベースのツール (Azure CLI、PowerShell、Bicep、ARM テンプレート、Terraform): 既定では、ゾーン冗長ファイアウォールをデプロイします。 必要に応じて、デプロイのゾーンを指定できます。
ゾーン冗長ファイアウォールのデプロイの詳細については、「可用性ゾーンを 使用した Azure Firewall のデプロイ」を参照してください。
ゾーン (API ベースのツールのみ): 特定の可用性ゾーン (リージョンの容量の制約など) にファイアウォールをデプロイするには、Azure CLI、PowerShell、Bicep、ARM テンプレート、Terraform などの API ベースのツールを使用します。 デプロイ構成で 1 つのゾーンを指定します。 このオプションは、Azure portal では使用できません。
注
使用する可用性ゾーンを選択した場合、実際には "論理可用性ゾーン" を選択していることになります。 別の Azure サブスクリプションの他のワークロード コンポーネントをデプロイした場合、別の "論理可用性ゾーン" 番号を使用して、同じ物理可用性ゾーンにアクセスできる場合があります。 詳細については、「物理ゾーンと可用性ゾーン」を参照してください。
既存のファイアウォール: 既存のすべての非ゾーン (リージョン) ファイアウォールデプロイは、複数の可用性ゾーンをサポートするリージョンのゾーン冗長デプロイに自動的に移行されます。 既存のゾーン ファイアウォールのデプロイ (特定のゾーンに固定) は、将来ゾーン冗長デプロイに移行されます。
容量の制約: リージョンにゾーン冗長デプロイの容量がない場合 (少なくとも 2 つの可用性ゾーンが必要)、デプロイは失敗します。 このシナリオでは、API ベースのツールを使用して、ゾーン ファイアウォールを特定の可用性ゾーンにデプロイできます。
すべてのゾーンが正常な場合の動作
このセクションでは、Azure Firewall が可用性ゾーン サポートを指定して構成され、すべての可用性ゾーンが動作しているときに想定される内容について説明します。
ゾーン間のトラフィック ルーティング: トラフィック ルーティングの動作は、ファイアウォールで使用される可用性ゾーンの構成によって異なります。
"ゾーン冗長:" Azure Firewall は、ファイアウォールが使用するすべてのゾーン内のインスタンス間に着信要求を自動的に分散します。 このアクティブ/アクティブ構成により、通常の動作条件下での最適なパフォーマンスと負荷分散が保証されます。
"ゾーン:" 異なるゾーンにまたがって複数のゾーン インスタンスを展開する場合は、Azure Load Balancer や Azure Traffic Manager などの外部負荷分散ソリューションを使用してトラフィック ルーティングを構成する必要があります。
インスタンス管理: プラットフォームは、ファイアウォールが使用するゾーン間のインスタンスの配置を自動的に管理します。 障害が発生したインスタンスを置き換え、設定されたインスタンス数を維持します。 稼働状況の監視により、正常なインスタンスのみがトラフィックを受信します。
ゾーン間のデータ レプリケーション: Azure Firewall では、可用性ゾーン間で接続状態を同期する必要はありません。 要求を処理するインスタンスが、各接続の状態を保守します。
ゾーン障害時の動作
このセクションでは、Azure Firewall が可用性ゾーン サポートを指定して構成されていて、1 つ以上の可用性ゾーンが使用できないときに想定される内容について説明します。
検出と応答: 検出と応答の担当は、ファイアウォールが使用する可用性ゾーンの構成によって異なります。
"ゾーン冗長:" ゾーン冗長を使用するように構成されたインスタンスの場合、Azure Firewall プラットフォームが可用性ゾーンの障害を検出して対応します。 ゾーンのフェールオーバーを開始する必要はありません。
"ゾーン:" ゾーンに構成されたファイアウォールの場合は、ユーザーが可用性ゾーンの損失を検出し、別の可用性ゾーンに作成したセカンダリ ファイアウォールへのフェールオーバーを開始する必要があります。
- 通知: ゾーンがダウンしても、Microsoft から自動的に通知されることはありません。 ただし、 Azure Service Health を使用して、ゾーンの障害を含むサービスの全体的な正常性を把握し、 Service Health アラート を設定して問題を通知することができます。
アクティブな接続: 可用性ゾーンが使用できない場合、障害のある可用性ゾーン内のファイアウォール インスタンスに接続する進行中の要求が終了し、再試行が必要になる場合があります。
予想されるデータ損失: Azure Firewall は永続的な顧客データを保存しないため、ゾーンのフェールオーバー中にデータ損失は発生しません。
予想されるダウンタイム: ダウンタイムは、ファイアウォールが使用する可用性ゾーンの構成によって異なります。
"ゾーン冗長:" 可用性ゾーンの停止中に最小限のダウンタイム (通常は数秒) が予想されます。 クライアント アプリケーションは、エクスポネンシャル バックオフを使用した再試行ポリシーの実装などの、一時的な障害処理のプラクティスに従う必要があります。
"ゾーン:" ゾーンが使用できないとき、ファイアウォールは可用性ゾーンが復旧するまで使用できなくなります。
トラフィックの再ルーティング: トラフィックの再ルーティング動作は、ファイアウォールが使用する可用性ゾーンの構成によって異なります。
"ゾーン冗長:" トラフィックは、正常な可用性ゾーンに自動的に再ルーティングされます。 必要に応じて、プラットフォームは正常なゾーンに新しいファイアウォール インスタンスを作成します。
"ゾーン:" ゾーンが使用できないとき、ゾーン ファイアウォールも使用できません。 別の可用性ゾーンにセカンダリ ファイアウォールがある場合は、ユーザーがそのファイアウォールにトラフィックを再ルーティングする必要があります。
フェールバック
フェールバックの動作は、ファイアウォールが使用する可用性ゾーンの構成によって異なります。
"ゾーン冗長:" 可用性ゾーンが復旧すると、Azure Firewall が、ファイアウォールが使用するすべてのゾーンにインスタンスを自動的に再配布し、ゾーン間で通常の負荷分散を復元します。
"ゾーン:" 可用性ゾーンが復旧したら、ユーザーが元の可用性ゾーンのファイアウォールにトラフィックを再ルーティングする必要があります。
ゾーンエラーのテスト
ゾーン障害テストのオプションは、ファイアウォールの可用性ゾーンの構成によって異なります。
"ゾーン冗長:" Azure Firewall プラットフォームが、ゾーン冗長ファイアウォール リソースのトラフィック ルーティング、フェールオーバー、フェールバックを管理します。 この機能はフル マネージドであるため、可用性ゾーンの障害プロセスを開始または検証する必要はありません。
"ゾーン:" ファイアウォールを停止することで、可用性ゾーンの障害の側面をシミュレートできます。 このアプローチを使用して、他のシステムとロード バランサーがファイアウォールの停止をどのように処理するかをテストします。 詳細については、Azure Firewall の停止と開始に関する記事を参照してください。
リージョン全体の障害に対する回復性
Azure Firewall は、単一リージョンのサービスです。 リージョンが使用できない場合は、ファイアウォール リソースも使用できません。
回復性のためのカスタム マルチリージョン ソリューション
マルチリージョン アーキテクチャを実装するには、別個のファイアウォールを使用します。 この方法では、各リージョンに独立したファイアウォールをデプロイし、トラフィックを適切なリージョンファイアウォールにルーティングし、カスタム フェールオーバー ロジックを実装する必要があります。 次の点を考慮してください。
複数のファイアウォールにわたる一元化されたポリシー管理には、Azure Firewall Manager を使用します。 複数のファイアウォール インスタンスにわたる一元化されたルール管理には、ファイアウォール ポリシーの方法を使用します。
Traffic Manager または Azure Front Door を使用してトラフィック ルーティングを実装します。
複数リージョンのネットワーク セキュリティ アーキテクチャを示すアーキテクチャの例については、Traffic Manager、Azure Firewall、Application Gateway を使用した複数リージョンの負荷分散に関する記事を参照してください。
サービス メンテナンスに対する回復性
Azure Firewall では、サービスのアップグレードやその他の形式のメンテナンスが定期的に実行されます。
アップグレード スケジュールが運用上のニーズに合うように、毎日のメンテナンス期間を構成できます。 詳細については、「Azure Firewall の顧客が管理するメンテナンスを構成する」を参照してください。
サービス水準合意書
Azure サービスのサービス レベル アグリーメント (SLA) には、各サービスの期待される可用性と、その可用性の期待を達成するためにソリューションが満たす必要がある条件について記載されています。 詳細については、 オンライン サービスの SLA を参照してください。
Azure Firewall は、2 つ以上の可用性ゾーンにデプロイされたゾーン冗長ファイアウォールの高可用性 SLA を提供します。