過去数年、IT業界や研究界ではクラウド現象が大きく注目されていました。クラウド利用者の視点では、オンデマンドウェブサービスモデルがクラウド技術の最も重要な特徴です。このため、インフラが飽和状態になっても、クラウドコンピューティングサービスは新たなメンバーを追加しながら拡張できます。
その結果、構成的アプローチがより効果的に活用され、クラウドインフラは非常に経済的です。ハイブリッド化やオンデマンド(静的)リソース割り当てなどの先進機能により、最新かつ広く利用されているIT・分析プラットフォームとなっています。
仮想環境において十分なQOSを提供するには、ロードバランシングの手法が必要です。AWSがELBを通じてどのように実現するかを見ていきます。
混雑や故障の問題を最小限にするため、新規サーバの導入と展開に合わせ、自動スケーリング機能を取り入れる必要があります。外部のロードバランサーは、柔軟で迅速、かつシンプルであるかどうかなど、多くの点を考慮する必要があります。Elastic Load Balancing(ELB)は、AWS、つまりAmazon Web Services内でタスクの振り分けを行う役割を果たします。
ELBは、訪問者やインバウンドアプリの通信要求を満たすために、確実にリソースを配分します。また、ネットワークやアプリのトラフィックの状況に応じて、帯域幅の調整を支援します。
Amazon EC2のインスタンス、IP、コンテナなど多数のエンドポイントを活用し、AWSのElastic Load Balancingは入ってくるユーザトラフィックを賢く分散します。1つまたは複数のAvailability Zone(AZ)を利用して、AWS環境内にインターネットからのトラフィックを分散することが可能です。
動作の仕組み
ELBの主な動作は、クライアントのトラフィックを受け取り、目的の先へリクエストを振り分けることです。不具合のある宛先へのルーティングは停止し、安定した他の宛先へ切り替えます。
AWS ELBがトラフィックを受信できるようにするためには、1つ以上のセンサーを配置する必要があります。リスナーはTCPポートを監視するプログラムです。
Amazonロードバランサーで分散センターを有効にすると、指定されたクラウドセグメント内にロードバランサークラスターが生成されます。複数のAvailability Domainを有効にし、それぞれに1つ以上のエンドポイントを設定する必要があります。
1つの受信先を基準に選択すると、ロードバランサーはその宛先へトラフィックを誘導できます。AZや宛先が多数ある場合、一部の基準に問題が生じるとバックアップ先へトラフィックが振り分けられます。
OSIモデルまたはOpen System Infrastructureとして知られるプログラム構造を用いて、ネットワーク機能の動作が説明されます。ロードバランサーの名称は、動作するプロトコルスタックを示しています。
コンテナやモジュールのホストベースの振り分けに加え、ホストベースやパスベースの高度な振り分け機能も提供します。高い稼働率を維持するため、2つのEC2クラウドインフラ間でインバウンドトラフィックを分割する必要があります。
AWSのNLBは、OSIアーキテクチャのTCP/SSL層で振り分けプロトコルを構築し、毎秒数千件のリクエストを処理できます。TCPトラフィックの均等化は、柔軟かつ動的なIPに対応しています。
例えば、1日に多くの訪問者がある動画共有サービスを運営している場合、ある日人気動画の影響で急激にトラフィックが増加することがあります。そのような状況に迅速に対応するため、AWS NLBが活躍します!
場合によっては、AWSネットワークロードバランサーに頼ることも可能です。接続段階で動作するため、急激なトラフィック増加や数千件の応答処理に対応できます。
ゲートウェイロードバランサーを利用すれば、サードパーティの仮想機器を容易に導入、管理、監視できます。1つのゲートウェイで複数の機器にトラフィックを分散するため、仮想機器のスケールアップやスケールダウンが柔軟に行え、ネットワークの信頼性が向上します。
サードパーティの供給業者から直接、AWSプラットフォームを通じて仮想化機器を探し、評価し、購入することも可能です。既存のベンダーと連携する場合でも、新しいベンダーに切り替える場合でも、この統合アプローチにより継続的な連携が簡素化され、仮想機器のメリットをより享受できます。
もちろん、CLBは従来型のロードバランサーです。トラフィックを各バージョンに分散しますが、ホストベースやパスベースの振り分けには高度な処理が求められます。その結果、場合によっては生産性や効率が低下することがあります。
接続レベルおよびリクエストレベルのいずれの操作もサポートされ、HTTP/HTTPSのプロトコルスタックとトランスポート層(TCP/SSL)の間に、従来型の分散システムが存在します。
柔軟な動的ルーティングの仕組みにおいて欠かせない機能です。ユーザの要求は、ロードバランサー(LB)ネットワークを通じ、各稼働中のノードに分散されます。
クロスゾーンロードバランシングを有効にすると、各LBネットワークが各ネットワークセグメント内のすべての対象にトラフィックを分散します。これにより、各LBクラスターから適切なクラウドサーバセグメント内の登録済みサーバへトラフィックが振り分けられます。アプリのロード構成においては、常にクロスゾーンでのタスク分散が利用されます。
CLBルーターは設定によりパブリックサブネット内のサーバへトラフィックを分散するため、EC2サーバ間で均等なトラフィック分散を実現するには、クロスゾーンロードバランシングを有効にする必要があります。無効の場合、ロードスケジューラは特定のゾーン内のサーバにのみ接続を分散し、有効にするとすべてのAZに均等なトラフィックが配分されます。
ELBは、膨大なトラフィック急増や同時に発生する数千件のリクエストに対応できます。訪問者に快適な体験を提供するため、トラフィックが急増した際にはAWSの自動スケーリング機能が発動されます。
ロードバランサーの利用目的は、ウェブサイトをサービス停止から守ることにあります。1台のサーバや通信ユニットが故障しても、負荷が複数のノードに分散されるため、別の稼働中のサーバへ切り替えることが可能です。また、ELBにより1つの事例で複数のアプリの運用が実現できます。
ELBは、AWS CloudWatchの監視、分析、リクエスト追跡機能を利用でき、アプリの即時パフォーマンスを評価することが可能です。これにより、アプリの動作を把握し、パフォーマンスやアプリスタックの問題点を明らかにできます。
貴社のアプリでは、オンプレミスのネットワークとAWS環境の両方で同一のELBを利用することができ、オンプレミスからAWSクラウドへの移行が比較的容易になります。
以上の記事が、AWS Elastic Load Balancerの動作、種類、利点などについて十分な情報を提供できれば幸いです。
最新情報を購読