Azureのクラスタ構成について

マイクロソフト社が提供するクラウドプラットフォーム「Azure」。
今回はAzureの機能やAzureをよりよく使うためのクラスタ構成についてご紹介いたします。

Azureとは?

Azureとはマイクロソフト社が提供する「クラウドプラットフォーム」のことです。
仮想マシンをクラウド上に作成・利用したり、仮想マシンのOS事態をマイクロソフト社が管理してもらうサービスなどを提供しています。
世界に55もの拠点があり、膨大なサーバが設置されています。また、強力なWANバックボーンを持っているため、国内外を問わず多くの方が利用されています。

Azureは主に2種類のサービスがあります。

Azure IaaS

「Azure IaaS」とは仮想マシンをクラウド上にインターネット経由で作成、利用するサービスです。
「IaaS」とは『Infrastructure as a Service 』の略称になります。
サービスの内容としては、仮想化レイヤーより下のサーバーやストレージ、ネットワークといったインフラストラクチャを
マイクロソフト社が管理する機能が含まれています。

Azure PaaS

「Azure PaaS」もAzure Iaasと同様に仮想マシンをクラウド上にインターネット経由で作成、利用するサービスです。
「PaaS」とは『Platform as a Service』の略称になります。
Azure Iaasと異なる点としては、Azure Iaasがインフラストラクチャをマイクロソフト社が管理するのに対し、
Azure PaaSはインフラストラクチャに加え、Webアプリケーション開発のライフサイクルに対応するように
ミドルウェアや開発ツールビジネスインテリジェンスサービス、データベース管理サービスなどがサービスに加わります。

クラスタ構成とは

業務上でサーバーに関する作業を行ったことのない方にはあまりなじみのない言葉だと思いますので、ここで軽くご説明いたします。
クラスタ構成とはクラスタという言葉が「群れを成す」という意味を持つように、複数のサーバーを連携し利用者やほかのサーバから全体で一台であるように動作させる技術のことを指します。
また、クラスタ構成を適用した環境を構築することを「クラスタリング」と呼称します

クラスタ構成を行う目的は大きく分けて、接続するサーバを増加させ負荷を分散させることによりシステム全体の性能の向上を目指す「拡張性(スケーラビティ)」と、
サーバーに障害が発生した際に一部が停止してもシステム全体は稼働しサービスを提供できるようにしシステムの信頼性の向上を目指す「高可用性(アベイラビリティ)」の2つが挙げられます。
また、高可用性を目的としたクラスタ構成は「HA(High Availability)クラスタ構成」や「冗長化構成」と呼ばれます。基本的に、アクティブサーバー1台+バックアップサーバー1台以上で構築され、
アクティブサーバーに障害が発生した際にそれを検知し即座にバックアップサーバーへメイン処理を移行させシステム全体のサービスを継続するようになっています。

Azureをクラスタ構成にするメリットと必要性

「Azureのクラスタ構成」についてなのですが、そもそも「なぜAzureのクラスタ構成が必要なのか」について解説しようと思います。
AzureのサポートサイトではSLA(Service Level Agreement(サービス水準合意書))として以下の記述があります。
『すべての仮想マシンに、同じ可用性セットにデプロイした2つ以上のインスタンスがある場合、マイクロソフトは、99.95%以上の時間において少なくとも1つのインスタンスに対する仮想マシン接続が確保されることを保証します。』
ポイントになるのは「可用性セット」という概念になります。
ここに記載されている「可用性セット」とは「冗長性を持たせるために、複数の仮想マシンをグループ化する」というものを指します。
つまりは、同じ可用性セット(冗長化構成)に複数のインスタンスを当てることでそれぞれ異なる障害ドメインにデプロイされます。
上記の記述を裏返せば、同じ可用性セットが用意されていなかった場合、仮想マシン接続が確保されることを保証できないということになります。
よって、Azureを利用する場合にはクラスタ構成が必要であるといえます。

また、Azureなどのサーバーを仮想化する技術は仮想マシンを使用することにより複数の物理サーバーを統合化することが可能であり、ハードウェアに対する保守費用の削減や運用負荷の面で多大なメリットがあります。
しかし、大きなメリットがある一方で導入することに対するデメリットも存在します。それは「物理マシンで障害が発生した場合の影響範囲が大きい」という点です。
仮想化をしていない物理マシンで障害が発生した場合は、サービスを停止するのみですむのですが、仮想マシンでは動作する物理マシンを停止した場合、繋がっている仮想マシンは全て停止します。よってサーバーの統合化を進めるほど
障害発生時のリスクは非常に大きなものになります。こうした場合のリスク削減対策としてクラスタ構成を行っていた場合、インパクトを縮小することができるため、クラスタ構成は必要であると言えるでしょう。

まとめ

今回はAzureとクラスタ構成についてメリットやその必要性をご紹介しましたが、いかがでしたでしょうか?
Azureはもちろんのこと様々な仮想化マシンやクラウドサービスで、その規模の大小を問わず可用性と信頼性を高めるためのクラスタ構成は必要不可欠言ってもいいのではないでしょうか。
クラスタ構成の構築方法は多種多様にありますので、システムの要件に合わせて組み上げることも大事です。
この記事を読んでくださった方に、クラウドサービスを利用するうえで障害対策としてクラスタ構成を構築しておくことが大切であることが伝われば幸いです。

コメントを残す

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