Trace Id is missing

Microsoft Azure の可用性、災害対策と運用監視

Azure の可用性を向上させるポイントと Azure Monitor を使った監視サービスについて
画像:屋外の倉庫のイメージ

リージョンと可用性

本ドキュメントは、Microsoft Azure の可用性を向上させるうえで重要となる検討ポイントについて説明いたします。

リージョン

リージョンに関しましては、「6. Microsoft Azure の紹介 - Azure リージョンと可用性ゾーン」または「Azure の仮想マシンのリージョン」をご参照ください。

リージョン ペア

リージョン ペアに関しましては、「6. Microsoft Azure の紹介 - Azure リージョンと可用性ゾーン」または「リージョンのペア」をご参照ください。

可用性セット

仮想マシン (VM) の冗長化実現方法としては、可用性ゾーン、可用性セットという仕組みで実現できます。可用性ゾーンは仮想マシン (VM) 以外の PaaS などでも利用できる冗長化機能です。
可用性セットは Azure 仮想マシン専用の冗長化機能で、Azure 仮想マシンの論理グループのことを表します。同じ役割の Azure 仮想マシン を同じ可用性セットに所属させることで、サービスの可用性の向上が見込まれます。 可用性セット自体にはコストはかかりません。料金は、作成した各 Azure 仮想マシンに対してのみ発生します。
また、可用性セットは Azure 仮想マシンを作成する際にのみ作成可能となります。あとから追加することはできません。

詳細については「可用性セットとは」を参照ください。

可用性セット内の各 Azure 仮想マシンにはそれぞれ異なる更新ドメインと障害ドメインが割り当てられます。 各可用性セットは、最大 3 つの障害ドメインと 20 の更新ドメインで構成することが可能です。

画像:リージョンとクラスターの構成
  • 障害ドメイン
    障害ドメインとは電源装置やネットワークスイッチを共有する Azure 仮想マシンのグループを表します。物理サーバーのラックに相当するものであり、それぞれ電源装置やネットワーク スイッチが冗長化されているため、一つの障害ドメインの装置で障害が起こっても、他の障害ドメインには影響を及ぼさない構成になっています。

  • 更新ドメイン
    更新ドメインとは定期メンテナンス時に、同時に再起動される Azure 仮想マシンのグループを表します。アプリケーションのインスタンスをホストする OS は定期的に更新され、更新の適用には Azure 仮想マシンの再起動が必要となります。

障害ドメインおよび更新ドメインの詳細については「可用性セットのしくみ」を参照ください。
また、メンテナンスにつての詳細は「6. Microsoft Azure の紹介 - 更新プログラムとメンテナンスの考え方」を参照ください。

可用性ゾーン

可用性ゾーンに関しましては、「6. Microsoft Azure の紹介 - Azure リージョンと可用性ゾーン」または「リージョンと可用性ゾーン」をご参照ください。

Azure Storage の可用性

Azure Storage では、計画されたイベントや計画外のイベント (一時的なハードウェア障害、ネットワークの停止または停電、大規模な自然災害など) からデータを保護するため、標準で 3 重のデータのレプリケーション(データの複製)が作成されます。

冗長性オプションとしてはプライマリ リージョンでの冗長であるローカル冗長ストレージ(LRS)、ゾーン冗長ストレージ(ZRS)、セカンダリ リージョンでの冗長である geo 冗長ストレージ(GRS)/ geo 読み取りアクセス冗長ストレージ(RA-GRS)、geo ゾーン冗長ストレージ(GZRS)/ geo ゾーン読み取りアクセス冗長ストレージ(AR-GZRS)が存在します。各オプションの冗長手法イメージは下記の通りとなります。

画像:冗長性オプションの手法イメージ

ご自身のシナリオに最適な冗長性オプションを決定する際には、コストと可用性の費用対効果を検討してください。 どの冗長性オプションを選択するかの判断に役立つ要因は次の通りです。

  • プライマリ リージョンでのデータのレプリケート方法
  • 地域災害から保護するため、プライマリ リージョンから地理的に離れている セカンダリ リージョンにデータをレプリケートするかどうか
  • プライマリ リージョンが何らかの理由で使用できなくなった場合に、アプリケーションがセカンダリ リージョンのレプリケートされたデータへの読み取りアクセスを必要とするかどうか

また、各障害シナリオにおけるレプリケーション対応については下記表をご参照ください。

画像:障害のシナリオとレプリケーション対応表

Azure Storage の冗長性に関する詳細については「Azure Storage の冗長性」をご参照ください。

PaaS の可用性

PaaS の可用性は一般的にサービスごとに冗長化など対応されています。本章ではより可用性を高めるための対策について記載いたします。

Azure の負荷分散サービス

負荷分散とは、負荷(受信ネットワークトラフィック)をバックエンドリソースまたはサーバーのグループ全体に均等に分散することです。Azure の負荷分散サービスは下記 4 種類あります。

  1. Azure Load Balancer
  2. Azure Traffic Manager
  3. Azure Application Gateway
  4. Azure Front Door

ご利用中のシステムにおいてどのサービスが最適かの検討時には、下記フローチャートおよび「Azure の負荷分散を理解する」をご参照ください。

画像:どのサービスが最適かわかるフローチャート

1. Azure Load Balancer

Azure Load Balancer とはトランスポート層(L4)で動作し、Azure 仮想マシンへの着信トラフィックを分散するサービスです。Basic(無償)と Standard(有償)2 種類あり、Basic は規定ではインターネットに対して公開されています。
詳細については「Azure Load Balancer の概要」をご参照ください。

2. Azure Traffic Manager

Azure Traffic Manager とはトランスポート層(L4)で動作し、DNS ベースのトラフィックロードバランサーです。本サービスによりパブリックに公開されているアプリケーションへのトラフィックを世界各国の Azure リージョン全体に分散することができます。
詳細については「Traffic Manager について」をご参照ください。

3. Azure Application Gateway

Azure Application Gateway とはアプリケーション層(L7)で動作し、複数サイトのホスティングや URL ベースのルーティングをサポートしているサービスです。また、Azure Application Gateway をデプロイするためには、サブネットが空である必要があります。
詳細については「Azure Application Gateway とは」をご参照ください。

4. Azure Front Door

Azure Front Door とは世界中のエッジロケーションで動作している Web アプリケーション向けのグローバル負荷分散や Web Application Firewall (WAF) を提供するサービスです。 SSL オフロード、パスベースのルーティング、高速フェールオーバー、キャッシュなどの機能をアプリケーションに提供し、アプリケーションのパフォーマンスと可用性を向上させます。
詳細については「Azure Front Door とは」をご参照ください。

図:Azure Front Door の構成図

Azure を用いた Web / AP / DB システム (PaaS) の冗長化例

ここでは、PaaS の Web アプリ実行基盤と PaaS のデータベースを用いたシステムを例にとり、冗長化と災害対策の実現方式について説明します。

PaaS 自体には冗長化がされていますが、お客様が必要とする冗長化のレベルに応じて構成を組む必要があります。次のケース 1、ケース 2 にて Azure App Service *1 と Azure SQL Database *2 を使用する Web アプリケーションの構成例を基にご説明いたします。


*1 : Azure App Service とは、インフラ ストラクチャを管理することなく、Web アプリケーションを構築することができるフルマネージド プラットフォームです。
*2 : Azure SQL Database とは、アップグレード、修正プログラムの適用、バックアップ、監視などのほとんどのデータベース管理機能をユーザー介入なしで処理する、フルマネージドの PaaS データベースエンジンです。

ケース 1:シングル リージョンの場合

一つのリージョン内で構成を組む場合の構成例です。

Azure Front Door は標準で冗長化がされているため、お客様で冗長構成を組む必要はありません。
App Service (Web Apps) においては一部のプランではゾーン冗長をサポートしていますが、それ以外においては必要に応じてお客様で冗長構成を組む必要があります。また、Free などプランによって SLA が適用されないサービスもあるため、本番環境の運用時には注意が必要です。

Azure Database においては、サービスの中に冗長化が組み込まれており、コミットされたデータが障害によって失われないこと、メンテナンス操作がワークロードに影響を及ぼさないこと、またデータベースがソフトウェア アーキテクチャでの単一障害点にならないことを保証するように設計されています。

図:一つのリージョン内で構成を組む場合の構成例

詳細については「基本的な Web アプリケーション」を参照ください。

 

ケース 2:マルチ リージョンの場合

二つのリージョンで構成を組む場合の構成例です。

地域災害等でプライマリ リージョンが使用できなくなった場合、セカンダリ リージョンに切り替えることによりサービスを継続的に提供することができます。
App Service (Web Apps) は Azure Front Door を使って、プライマリ リージョンで災害や障害が発生した場合、セカンダリ リージョンにフェール オーバーすることで App Service (Web Apps) を継続的に利用することができます。
SQL Database においては、プライマリ データベースからセカンダリ データベース (読み取りデータベース) に継続的に同期する geo レプリケーション機能 *3 を使い、地域災害が発生した場合も、ビジネスを継続的に提供することができます。

図:二つのリージョンで構成を組む場合の構成例

*3 : geo レプリケーションを構成した場合、デプロイされた時間 100% に対し 5 秒間の目標復旧ポイント (RPO) を保証します。また、デプロイされた時間 100% に対して 30 秒間の目標回復時間 (PTO) を保証します。

RPO (Recovery Point Objective:目標復旧時点) とは、障害発生時に過去のどの時点までのデータを復旧させるかの目標値。
RTO (Recovery Time Objective:目標復旧時間) とは、障害発生時に復旧までにかかる時間の目標値。

詳細については「可用性の高い複数リージョンの Web アプリケーション」を参照ください。

Azure Backup

Azure Backup とはバックアップのシステム及びストレージを提供するサービスです。
仮想マシンが何らかの理由でOSが稼働不可能な状態になった場合や、データを誤って削除した場合などのケースで役立ちます。
また、Azure Backup は Azure 仮想マシンなどの Azure サービスだけでなく、オンプレミスの仮想マシンやファイルなどのバックアップも対象となり、統一され一貫した方法で、データ保護の監視、運用、管理、最適化をおこなうことができます。

詳細については「Azure Backup サービスとは」を参照ください。

Azure Site Recovery

Azure Site Recovery とは仮想マシンを他の Azure リージョンに複製し、災害等大規模な IT 停止状態の場合でも、お客様のビジネスを稼働し続けるためのディザスター リカバリー (災害復旧) を支援するサービスです。
例えば、通常は東日本リージョンでシステムを稼働させ、問題が発生した場合に西日本リージョンにレプリケート (複製) されたシステムやデータにアクセスし、システム利用を継続させることが可能です。
また、ダウンタイムを最小限にするために、Azure Traffic Manager (負荷分散サービス) との統合により、自動復旧を実現することも可能です。

詳細については「Azure Site Recovery について」を参照ください。

Azure Backup と Azure Site Recovery の早見表

要件によって Azure Backup と Azure Site Recovery を使い分けることや、併用して利用することが可能です。

早見表

Chart Azure Backup Azure Site Recovery
主な利用目的

  • データ保護
  • 仮想マシン(Azure、オンプレミス)保護

OS の障害やアプリケーション障害、データの破損などに対し、バックアップした時点の状態に復元する

  • サイト保護

データセンターの障害から保護し、継続的にシステムを稼働させる(ビジネスの継続性とディザスター リカバリー)

対象リソース

  • Azure
    Azure 仮想マシン、Azure ファイル共有、Azure 仮想マシンの SQL Server、Azure 仮想マシンの SAP HANA
     
  • オンプレミス
    ファイルとフォルダ、仮想マシン (Hyper-V、VMware) 、Microsoft SQL Server、Microsoft SharePoint、Microsoft Exchange、システム状態、ベアメタル回復
     
  • Azure Stack Hub / Azure Stack HCI
    ファイルとフォルダ、Microsoft SQL Server、Microsoft SharePoint、システム状態、Virtual Machine

  • Azure 仮想マシン
  • オンプレミスの仮想マシン (VMware)
  • オンプレミスの仮想マシン (Hyper-V)

データ転送費用

無し

※インバウンド データ、アウトバンド データに料金はかからない

有り

※送信データの転送量に応じて発生

復元単位

  • 仮想マシン (Azure、オンプレミス)
  • フォルダ
  • ファイル

※上記は仮想マシンの復元単位

  • 仮想マシン (Azure、オンプレミス)

復旧ポイント (RPO*4)

最短 24 時間

最短 1 時間

復旧時間 (PTO*5)

数時間 (データ量に依存する)

数分 (RTO SLA*6:2 時間)

*4 : RPO (Recovery Point Objective:目標復旧時点) とは、障害発生時に過去のどの時点までのデータを復旧させるかの目標値。
*5 : RTO (Recovery Time Objective:目標復旧時間) とは、障害発生時に復旧までにかかる時間の目標値。
*6 : SLA (Service Level Agreement:サービス品質保証) とは、サービスを提供する事業者 (ここでは日本マイクロソフト社) が契約者に対して、提供するサービスにおいてどの程度サービスの品質を保証するかを提示したもの。

Azure Monitor

Azure Monitor とはクラウドおよびオンプレミス環境の情報を収集、分析するサービスです。分析した情報を基に、アプリケーションの実行状態を把握し、アプリケーションやその依存リソースに影響を及ぼす問題を事前に突き止めることができます。

Azure Monitor で利用するデータはメトリックとログがあります。メトリックとは特定の時点におけるシステムの何かしらの側面を表す数値であり、データが軽量でリアルタイム監視をサポートします。ログはイベントやパフォーマンス データなど様々な種類のデータを組み合わせて複雑な分析をおこないます。

Azure Monitor の主な機能

機能 説明
アクティビティログ

Azure リソースに対する操作についての情報
「何を」、「誰が」、「いつ」行ったかが確認できます。
例)リソースの変更や仮想マシンの起動

詳細については「Azure アクティビティ ログ」を参照ください。

アラート

重大な状態を事前に通知
メトリックに基づくアラートルールにより、ほぼリアルタイムなアラートを提供します。通知方法はメール、SMS、Azure アプリのプッシュ通知、音声があります。

詳細については「Microsoft Azure のアラートの概要」を参照ください。

メトリック

Azure リソースのシステムに対する情報
リソースの状況や消費しているリソースが確認できます。
例)リソースの正常性やパフォーマンス、サーバー応答時間

詳細については「Azure Monitor メトリックの概要」を参照ください。

ログ (Log Analytics)

Azure Monitor ログからの分析情報を生成するために使用されるツール

詳細については「Azure Monitor の Log Analytics の概要」を参照ください。

Service Health (Azure リソースの正常性監視)

使用している Azure サービスの正常性を表示
サービスの問題や、定期的なメンテナンスなどの情報を確認できます。

詳細については「Service Health の概要」を参照ください。

ブック (Workbooks)

高度な視覚的レポートの作成機能
レポートの種類:テキスト、グラフ、グリッド、タイル、ツリー、複合棒グラフ、蜂の巣、Map

詳細については「Azure Monitor ブック」を参照ください。

分析 (Application Insights)

Webアプリケーションの可用性、パフォーマンス、使用状況を監視
例) 応答時間による人気のあるページの把握、ユーザー数値とセッション数によるパフォーマンス確認

詳細については「Application Insights」を参照ください。

ネットワーク ウォッチャー

Azure 仮想ネットワーク内のリソースの監視
IaaS に対するネットワークの正常性監視及び修復をサポートします。

詳細については「Azure Network Watcher とは」を参照ください。

Advisor

Azure リソースの費用対効果、パフォーマンス、信頼性、セキュリティの診断
例) 使用率が低い仮想マシンの特定、関連付けられていないパブリック IP アドレスの特定

詳細については「Azure Advisor の概要」を参照ください。

詳細については「Azure Monitor の概要」を参照ください。

Azure のステータス確認 (Azure Status)

Azure Status では Azure 全ての製品及びサービスのステータスをリージョン別で確認することができます。

画像:Azure アジア太平洋のステータス表

Azure Status については「Azure の状態 - Azure status」を参照ください。
お客様がご契約いただいている Azure サービスのステータス確認は Azure Monitor の Service Health で確認できます。

Log Analytics

Azure Monitor でログを扱う上で、Log Analytics は重要な役割を担うサービスであるため、ここでは主な役割についてご説明いたします。
Log Analytics は Azure Monitor のログデータを Log Analytics のワークスペースに格納し、分析をおこないます。さらに高度なクエリを作成して統計分析を実行し、結果をグラフで視覚化して特定の傾向を識別することもできます。

Log Analytics の主な役割

  • ログデータの保管
  • レコードの並べ替え、フィルター、分析
  • 統計分析、グラフ表示
画像:主な役割と構成イメージ(データの収集、データの保管・分析、データの視覚化)

詳細については「Azure Monitor の Log Analytics の概要」を参照ください。

本情報の内容 (添付文書、リンク先などを含む) は、作成日時点でのものであり、予告なく変更される場合があります。