Azureの障害への耐性と可用性

はじめに

Windows Azure(以下Azure)は、手軽に利用でき、運用をサービス提供者に任せることができます。またサービスやシステム提供を開始するまでの時間を短縮することもできます。可用性向上に繋がる様々な仕組みがあるなど、多くのメリットがあることから、個人や法人に開発手段として現在浸透してきています。この記事では、そのメリットの一つでもある可用性向上の仕組みに着目して紹介していきます。一体Azureは障害に対してどのような耐性や可用性をもっているのでしょうか。最後までお付き合い頂けると幸いです。

Azureとは

Azureは、マイクロソフトが提供するパブリッククラウドであり、IaaSとPaaSに分類される多数のサービスを提供しています。

IaaSとは、仮想サーバーを使用して、コンピューティング、ストレージ、ネットワークなどの基本的なリソースを提供します。AzureではVirtual Machine(仮想マシン)がIaaSに該当します。

PaaSとは、利用者のアプリケーションを動かすためのプラットフォームを、ランタイムやツールを合わせて提供します。AzureではAzure App ServiceがPaasに該当します。

このようなサービスを提供するAzureは、マイクロソフトが管理するデータセンター内に設置されたサーバーマシンに、ユーザーがインターネット経由で接続し、サービスを利用する形態になります。Azureは、Windows Server環境をパブリッククラウドで提供するPaaS型のクラウドとして2008年10月に最初に発表され、プレビュー期間を経て2010年2月に正式サービスとして開始されました。

Azureの障害への耐性

Azureは、耐障害性と冗長性を備えるように設計されています。それにより、耐障害性を備えたアプリケーションやサービスの設計や配置ができます。ただし、Azure上でアプリケーションを稼働するだけで完全に耐障害性が保証されるわけではありません。ですので、Azureの機能や特性を理解した上で適切に設計する必要があります。

サービスの冗長性

Azureのインフラストラクチャは、障害発生時にも運用を継続できるように設計されています。各層でネットワークデバイスの冗長化を行い、各データセンターで2社のインターネットサービスプロバイダーを利用しています。フェールオーバー(プライマリとして通常メインで稼働しているシステムに障害が発生したときに、代替となるシステムに切り替えが行われる処理)はほとんどの場合、運用担当者の介入なしに自動で実行されます。ネットワーク異常やネットワークの潜在的な問題を検出するために、ネットワーク運用センターで24時間365日、常時監視されています。

Azureの可用性ゾーンと可用性セットとは

次にAzureno可用性ゾーンと可用性セットの解説ですが、そもそも可用性とは何なのかと言うと、システムが継続して稼働できる能力のことです。Azureでは、リージョンの構成を活用して、可用性を高められます。具体的には、「可用性ゾーン」や「可用性セット」の仕組みを利用します。

可用性ゾーンとは、Azureリージョン内にある物理的に離れたたデータセンターのことです。物理的に離れた可用性ゾーンは、電源やネットワークが独立しているため、1つのデータセンターがシステム障害でダウンしても同じgeo内の他のゾーンが機能するようになっています。

一つのリージョン内に、最低3つのゾーン(データセンター)が存在します。ユーザーが仮想マシンを作成する際に、可用性ゾーンを利用したい場合、仮想マシンの作成画面で任意の可用性ゾーンを一つ選択します。ユーザー側が、リージョン内にあるどのゾーンに配置するか決めることができます。複数の仮想マシンが動作するゾーンを分散すれば、1つのスケールユニットが停止したとしても、他のゾーンのスケールユニットで動作する仮想マシンは動き続け、一つのデータセンターが完全に停止したとしても、他のゾーンの仮想マシンは影響を受けることなく動き続けます。

可用性セットは、可用性ゾーンよりも小さな範囲で、一つのゾーン内で仮想マシンの可用性を上げる方法です。可用性セットを構成することで、データセンターのハードウェア障害の際に、サービス全体の停止を抑えることができます。可用性セットはデータセンター内の異なるラックで構成され、1つのラックがダウンしても別のいずれかのラックが動作している状態を維持できます。

まとめ

本記事で、Azureは非常に障害に強く継続してシステムを運用することに長けていることが分かりました。要約すると、下記の2点のご紹介をさせて頂きました。
1.Azureは、ネットワークの冗長化により障害発生時にも運用を継続できるサービスの冗長性を持っている。
2.可用性ゾーンや可用性セットの仕組みを利用してシステムを継続して稼働できるようにしている。
●可用性ゾーンとは、Azureリージョン内にある物理的に離れたたデータセンターのことで、1つのデータセンターがシステム障害でダウンしても同じgeo内の他のゾーンが機能するようになっている。
●可用性セットとは、可用性ゾーンよりも小さな範囲で、一つのゾーン内で仮想マシンの可用性を上げる方法で、可用性セットを構成することで、データセンターのハードウェア障害の際に、サービス全体の停止を抑えることができる。

いかがでしたでしょうか。本記事があなたの一助となれば嬉しいです。最後までご覧頂き、ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です