米アマゾン ウェブ サービス(AWS)は2016年8月に、新しいロードバランシングサービス「AWS Application Load Balancer(ALB)」の一般提供を全リージョンで始めた。「コンテントベースのルーティングが可能」と喧伝されているが、それは具体的にどういうものか。ALBの機能を説明したうえで、性能検証の結果を紹介する。

 Amazon Web Services(AWS)の新しいロードバランシング(負荷分散)サービス「Application Load Balancer(ALB)」の代表的な機能は、パケットの内容に応じたコンテントベースのルーティングだ。詳しくは後述するが、これはレイヤー7(L7)スイッチが備える機能。ALBは、L7スイッチ相当のロードバランシングサービスといえる。

 従来、AWSのロードバランシングサービスには「Elastic Load Balancing(ELB)」が存在したが、機能は限定的だった。コンテントベースのルーティングを行うには、サードパーティーのソフトを仮想マシンのEC2に導入して利用する必要があった。

 ALBの登場により、標準サービスとしてコンテントベースのルーティングが可能になったほか、それ以外の機能強化も行われた。料金体系が異なることから、システムの要件によって、従来のロードバランシングサービスと新しいALBの使い分けが必要になる。

 そこでこの記事では、従来のロードバランシングサービスと比較してALBの機能を紹介する。さらに新しいALBについて性能検証を行う。

 本題に入る前に、サービス名称についての説明が必要だ。ALBの一般提供に伴い、従来のロードバランシングサービスELBは「Classic Load Balancer(CLB)」という名称に変更された。ELBは、新しいALBと従来のCLBを合わせたロードバランシングサービスの総称として用いられる。

コンテントベースのルーティング

 新しいALBの代表的な機能であるコンテントベースのルーティングとは何か。まずは、クライアント(Webブラウザー)-ALB-Webサーバーという単純なシステム構成で説明しよう。

 クライアントは「http://xxxx.yyyy.co.jp/○○○/」といったURLを使って、ALBを経由してWebサーバーにアクセスする。その際、コンテントベースのルーティングでは、ALBがURL末尾の「○○○」という部分に基づいて、異なるWebサーバーにリクエストを振り分ける。

 例えば「http://xxxx.yyyy.co.jp/AAA/」というリクエストはAサーバーに、「http://xxxx.yyyy.co.jp/BBB/」というリクエストはBサーバーに振り分ける。

 そのメリットを説明するために、複数のサブシステムから成る人事システムを取り上げる(図1)。給与計算サブシステムが2台の仮想マシン上で稼働しており、「http://xxxx.yyyy.co.jp/kyuyo/」というURLあてのリクエストをALBによって負荷分散している。そこに、勤怠管理サブシステムを稼働させる2台の仮想マシンを追加する。

図1●コンテントベースルーティングの仕組み
[画像のクリックで拡大表示]

この先は日経クロステック Active会員の登録が必要です

日経クロステック Activeは、IT/製造/建設各分野にかかわる企業向け製品・サービスについて、選択や導入を支援する情報サイトです。製品・サービス情報、導入事例などのコンテンツを多数掲載しています。初めてご覧になる際には、会員登録(無料)をお願いいたします。