この記事は Nicolas Vibert 氏のブログ Load-Balancing on VMware Cloud on AWS の翻訳です。 翻訳の一覧はこちら

この長いブログポストは、VMware Cloud on AWS 上でどのようにロードバランサーを構築することができるかを説明しています。

最低限のスケーラビリティと回復性を要求されるどんなビジネスアプリケーションもロードバランサーを必要とします。我々のお客様が VMware Cloud on AWS へアプリケーションを移行していくに連れ、多くのお客様が VMware Cloud on AWS で稼働するアプリケーションのためのロードバランス機能を、どのように提供することができるのかという質問をいただくようになりました。

負荷分散の利点 負荷分散の利点

VMware Cloud on AWS は NSX-T を通じて仮想化されたネットワークゲートウェイファイアウォール、分散ファイアウォール、L3 VPNL2 VPN を提供していますが、現時点(2019 年 2 月)においては VMware Cloud on AWS 内でロードバランス機能は提供されていません。

このポストは、NSX-T のロードバランサーが利用可能になった時に更新されます。

したがって、VMware Cloud on AWS ではロードバランサーを提供する別の方法を見つける必要があります。今日では、2 つの選択肢があります。

  • AWS Elastic Load Balancer を利用する
  • 仮想マシン形式の3rd パーティのロードバランサー(F5AVI Networks、etc)をデプロイし、ワンアームモードで利用する

VMware Cloud on AWS で 3 つの Windows Web サーバーの非常にシンプルな Web ファームを構成するところから始めます。

初めのオプションは、Brain Graf により彼のブログポストによくまとめられています。UNDERSTANDING VMC INTEGRATIONS WITH AWS SERVICE – PART 3 – VMWARE AND AMAZON APPLICATION LOAD BALANCERS

Brian が行なった素晴らしい仕事を繰り返すことを避けるために、私は AWS Elastic Load Balancer を使い、Elastic Network Interface を通じて私の Web ファームへのトラフィックをバランスさせます(ここで ENI の詳細に触れます)。私の Web ファームの健全性をヘルスチェックを通じてモニターします。ヘルスチェックでは、各々の実際のサーバーの TCP 80 番に対する反応をチェックします。

Load-Balancing with the AWS Load-Balancer Load-Balancing with the AWS Load-Balancer

みなさん自身で試してみてください。http://elbvip.vmc.ninja へアクセスすると、3 つの Web サーバーのうちの一つにヒットするはずです。AWS ELB の実装を考えると、一つの Web サーバーにヒットし続けてしまうかもしれません。(ラウンドロビンといった私が提案するオプションとは異なります)

AWS ELB を活用するのは良いオプションです。リーズナブルな価格であり、ENI を通じて、広帯域でコストのかからない接続を利用でき、設定もとてもシンプルです。(15 分で完了できます)

ターゲットグループを指定した AWS のネットワークロードバランサー ターゲットグループを指定した AWS のネットワークロードバランサー

3 つの Web サーバーを指定したターゲットグループ(サーバープール) 3 つの Web サーバーを指定したターゲットグループ(サーバープール)

あるいは、VMware Cloud on AWS 内に仮想アプライアンスとしてロードバランサーを実装することもできます。その利点は、ネイティブの AWS 側と VMware Cloud on AWS 側でトラフィックがヘアピンする必要がないことです。また、既存のエンタープライズグレードのロードバランサーを利用できます。(F5 など)

仮想アプライアンスはワンアームモードでデプロイする必要があることにご注意ください 仮想アプライアンスはワンアームモードでデプロイする必要があることにご注意ください

別の選択肢として、今回は AVI Networks を利用することにしました。AVI Networks は新しい Software-Defined のロードバランサー企業で、エンタープライズグレードのロードバランサーだけでなく、マルチクラウドの VM、クラウドインスタンス、あるいはコンテナにまたがるロードバランサーです。結構イカしています。

プラットフォームの知識はありませんでしたが、Dan Watson のサポートのおかげで、VMware Cloud on AWS 内で AVI コントローラーと AVI サービスエンジンのインストールするのに数日しかかかりませんでした。

2019/6/17 更新: AVI Network が VMware の一員となりました!

仮想アプライアンスのロードバランサーを用いた負荷分散 仮想アプライアンスのロードバランサーを用いた負荷分散

仮想アプライアンスの AVI ロードバランサーを構築し、そのネットワークインターフェースの一つを Web ファームのある Web セグメントの一つにアタッチしました(ロードバランサーの管理ネットワークは専用の管理セグメントにアタッチしています)。AVI ロードバランサーは AVI コントローラーに接続し、コントローラーから構成を取得します。

2019/8/15 更新: AVI Networks は素晴らしいインテグレーションガイドを Web サイトで公開しました。

サーバープール(3 つの Web サーバー)と、サーバープール間のトラフィックを監視し、ロードバランスする仮想サービスを作成しました。

https://avivip.vmc.ninja/ をチェックして、仮想ロードバランサーによって VMware Cloud on AWS 上の Web ファームにトラフィックがロードバランスされていることを確認してください。

AVI サービスエンジンによるアプリケーションパフォーマンスと可視化のレベルは非常に印象深いものでした:

仮想アプライアンスのロードバランサーを用いた負荷分散 仮想アプライアンスのロードバランサーを用いた負荷分散

以上となります。このブログが皆様のお役に立てば幸いです。もしフィードバックがあればぜひおしらせください。

NSX-T のロードバランサーのオプションの準備が整ったらば、VMware Cloud on AWS 内で実装された別の堅実なオプションが登場することになります。