AWS Elastic Load Balancing を知る

はじめに

AWS(Amazon Web Service) において、重要なサービスの中にELB(Elastic Load Balancing)というサービスがあります。
一般的なロードバランサの機能をAWS上で実現する為のサービスと考えて頂ければよいのですが、あまり詳しくない方からすると、ELBが何故必要なのか、メリットがよく分からないといった疑問は当然ある筈です。
本稿では、ELBの基礎的な知識を押さえつつ、そういった疑問を解決していきます。
是非最後までご覧ください。

システムの品質について

可用性

可用性(Availability)とは、障害が発生しても、システムを停止せず稼働し続ける事や、その指標の事を指します。
システム障害の原因は様々な原因が挙げられます。災害やテロだけでなくエンジニアのオペミスから発生してしまう事もあるでしょう。
その為、システム障害は、いつか必ず発生するものと考え、障害発生時もサービスを止めない仕組みが必要不可欠となります。

信頼性

信頼性(Reliability)とは、簡単に言えばどれだけ障害が発生しないか という事の指標です。
可用性が障害発生時においてもサービスを維持する事であるのに対して、信頼性はその前段階にフォーカスしています。

コストを考える

高い可用性と信頼性の確保が重要である事は分かっていても、限られた予算でそれを実現する事は難しく、多くの方が頭を悩ませている事と思います。
サーバーを冗長構成にしても、単純に考えれば費用と手間は2倍になります。

ELB(Elastic Load Balancing) について

ELBの特徴

上記で述べた問題を、AWSの利用とELBの導入で解決する事ができるかもしれません。
ELBは、AWSで提供されているロードバランシングサービスです。
ELBは、負荷分散対象のEC2(仮想サーバー)にヘルスチェック行い、状態を監視します。監視のタイミングやしきい値も、自由に設定できます。
例えば、EC2でwebサーバーを構築していたとします。急にアクセスが増大した結果、サーバーダウンしてしまった場合、ELBがあれば、主系のEC2でhttpアクセスエラーが発生した事を検知し、副系にフェイルオーバーしてくれます。もちろんアラームも設定して管理者にメールを飛ばすこともできます。

また、常時複数台のEC2を稼働させていなくても、負荷が高まった時だけ、自動で稼働台数を増やして負荷分散するAuto Scalingの機能も備えています。
負荷が下がってくれば、自動的にスケールインする為、その分コスト面の恩恵もあります。
ELBはこのように、クラウド特有の高い拡張性と柔軟性を備えたサービスとなっています。

ELBは複数のAZ(リージョンを構成するデータセンタ)にまたがる形で構成できますので、1つのデータセンターで障害が発生しても、その他のAZでサービスを維持する事ができます。

ELBの作成

実際、ELBを作成してみます。
事前に東京リージョンの異なるAZでサブネットを2つ用意しておきます。それぞれのサブネットにEC2を配置しておきます。

EC2の画面を表示し、左側のメニューからロードバランサーを選択し、ロードバランサーの作成ボタンをクリックします。

ELBには3種類あり以下のようになっています。

  • Application Load Balancer
  • Network Load Balancer
  • Classic Load Balancer

今回はApplication Load Balancer を選択します。

基本的な設定の画面で、ELBの名前と設置するVPC、監視するサブネットを選択し、リスナーはHTTPを選択して、次の手順: セキリティ設定の構成ボタンをクリックします。

ELBにはセキュリティグループを設定できるので、必要なものを選択して、次の手順: ルーティングの設定ボタンをクリックします。

ターゲットグループの名前に任意の名前を入力し、ヘルスチェックの詳細設定を確認します。ここで、ELBがフェイルオーバーさせる際の条件を設定します。

以下、設定できる項目です。

  • ポート
  • 正常のしきい値
  • 非正常のしきい値
  • タイムアウト
  • 間隔
  • 成功コード

今回はデフォルトの設定で、次の手順: ターゲットの登録ボタンをクリックします。

サブネットに配置されたEC2が表示されるので、選択し登録済みに追加ボタンをクリックします。登録済みターゲットのリストに表示されるので、次の手順: 確認ボタンをクリックします。

設定内容を確認して、作成ボタンをクリックします。正常に作成しました と表示されたらOKです。

まとめ

ELBについて簡単に解説させて頂きました。
ELBの優れた利点について興味をもって頂けたでしょうか?
AWSの個人利用でELBを使うことは、あまり多くないですが、商用の場合はサービスの品質を向上させる為に、ほぼ必須の知識となるはずです。
最後までご覧頂き、ありがとうございました。

コメントを残す

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