みなさん、こんにちは。クラウドアーキテクトの椎熊です。
先日、東日本リージョンでも Azure 可用性ゾーン(以下、可用性ゾーン)の一般提供が開始されましたね。
従来の可用性セットよりも、さらに高い可用性が提供されるということで、日本での一般提供開始を待ちわびていた方も少なくはないのではないでしょうか?
Azure における可用性設計の選択肢が一つ増えました。本ブログでは可用性ゾーンについての概要と使うならこんな構成をご紹介したいと思います。
まずは、可用性ゾーンについて簡単にご紹介します。
可用性ゾーンは、Azure リージョン内でのデータセンターレベルの障害に対して高可用性を提供するサービスです。
1リージョンに可用性ゾーンは3つ以上存在し、1つの可用性ゾーンには、独立した電源、冷却手段、ネットワークを備えたデータセンターが1つ以上存在します。可用性ゾーンに渡ってサービスを展開することによって、冗長構成とすることができます。
イメージは以下のような感じです。データセンターをまるごと冗長化することが可能となります。
以下のような特徴があります。
最新情報は以下の URL からご確認ください。
「可用性ゾーンとは」
https://docs.microsoft.com/ja-jp/azure/availability-zones/az-overview
「ブロック BLOB の料金」
https://azure.microsoft.com/ja-jp/pricing/details/storage/blobs/
本ブログ執筆時点において、可用性ゾーンをフルに活用するのであれば以下のような構成が考えられます。
複数仮想マシンへトラフィックを振り分けるため、ゾーン冗長のロードバランサーを配置します。ゾーン冗長のロードバランサーですので、全ゾーンに渡って構成されます。
Web 層は、Web Apps ではなく、仮想マシンにしました。本記事の執筆時点では Web Apps は可用性ゾーンに対応していないためです。仮想マシンで可用性ゾーンを構成することにより、99.99% の SLA が保証されます。
また、仮想マシンスケールセットと合わせて利用することにより、各ゾーンの仮想マシン数を自動で均一にしてくれますので、仮想マシンが同じゾーンに配置されるといったことを防ぐことができます。
また、3台構成にすることによって、すべてのゾーンに仮想マシンを配置することができます。これはロードバランサーと仮想マシン間の距離を小さくすることでレイテンシーを低くすることができ、パフォーマンス向上が見込めるため、このような構成としました。ただし、3台以上にしても SLA がさらに向上するということはありません。ですので、コストを優先するのであれば2台構成とするのがよいでしょう。
DB 層は、SQL Database にしました。ゾーン冗長を利用するためには、DTU ベースの購入モデルにおいては Premium、仮想コアベースの購入モデルにおいては Business Critical かつ第5世代を選択する必要があります。
本構成においての月間の可用性は、ロードバランサー99.99% x 仮想マシン99.99% x SQL Database 99.995% = 約99.975% となります。従いまして、月間(24時間x30日で計算)のダウンタイムは、(1-0.99975)x 720時間 = 0.18時間となりますので、分に変換すると、0.18時間 x 60分 = 10.8分です。
仮想マシンを可用性セットとした場合の月間の可用性は、ロードバランサー99.99% x 仮想マシン99.95% x SQL Database 99.995% = 約99.935% となります。従いまして、月間(24時間 x 30日で計算)のダウンタイムは、(1-0.99935)x 720時間 = 0.46時間となりますので、分に変換すると、0.46時間 x 60分 = 28分です。
可用性セットでは、約30分となっていた月間のダウンタイムが、可用性ゾーンでは約10分に短縮されました。とても高可用性と言えるのではないでしょうか。
可用性ゾーンによって、ダウンタイムを大幅に短縮することができるようになりました。可用性ゾーンも可用性セットも仮想マシンでの利用においては無料ですので、より高可用性となる可用性ゾーンを選択することがよいかと思います。
ミッションクリティカルなシステムがクラウドで稼動することが当たり前になるのもそう遠くないのかもしれません。今回の構成では、可用性を最大限に考えて構成しましたが、逆に特定のゾーンのみにリソースを配置してシステム間のレイテンシーを低減されるなどと言った使い方もできそうですね。
ぜひ利用してみてください。
関連ページ
Microsoft Azure 導入・運用支援サービス 詳細 |