ラボの概要
このラボでは、Elastic Load Balancing の概念を紹介します。このラボでは Elastic Load Balancing を使用して、単一のアベイラビリティーゾーン内の複数の Amazon Elastic Compute Cloud (EC2) インスタンス間でトラフィックのロードバランスを行います。簡単なアプリケーションを複数の Amazon EC2 インスタンスにデプロイし、そのアプリケーションをブラウザで表示することでロードバランスの状態を確認します。
まず、2 つのインスタンスを起動し、ブートストラップによってウェブサーバーとコンテンツをインストールしてから、Amazon EC2 DNS レコードを使用してインスタンスに個別にアクセスします。次に、Elastic Load Balancing をセットアップし、ロードバランサーにインスタンスを追加してから、DNS レコードに再度アクセスして、サーバー間でのリクエストのロードバランスを監視します。最後に、Amazon CloudWatch で Elastic Load Balancing メトリクスを確認します。
以下の図はこの実習で実装するアーキテクチャの概要を非常に簡潔に示したものです。
取り上げるトピック
このラボでは、以下の作業を行います。
- Amazon EC2 で複数サーバーのウェブファームを起動する。
- ブートストラップ技術を使用して Linux インスタンスを設定する。これには Apache、PHP、および Amazon Simple Storage Service (S3) からダウンロードしたシンプルな PHP アプリケーションを使う。
- Amazon EC2 ウェブサーバーインスタンスの前面に配置するロードバランサーを作成および設定する。
- ロードバランサーの Amazon CloudWatch メトリクスを確認する。
技術知識の前提条件
このラボを完了するには、AWS マネジメントコンソールに関する知識が必要です。
Elastic Load Balancing
Elastic Load Balancing では、着信アプリケーショントラフィックを複数の Amazon EC2 インスタンスに自動的に分散します。これはアプリケーションの耐障害性の向上を可能にし、アプリケーショントラフィックの分散に必要なロードバランシング性能をシームレスに提供します。
Elastic Load Balancing を使用して、複数のインスタンスと複数のアベイラビリティーゾーンの間で自動的にトラフィックをルーティングすることで、アプリケーションの耐障害性を高めることができます。Elastic Load Balancing により、異常なインスタンスを検出し、トラフィックを残りの正常なインスタンスに再ルーティングすることで、正常な Amazon EC2 インスタンスのみがトラフィックを受信するようになります。1 つのアベイラビリティーゾーンにある Amazon EC2 インスタンスすべてに不具合があり、複数のアベイラビリティーゾーンに Amazon EC2 インスタンスがセットアップされている場合、Elastic Load Balancing はそれらの他のゾーンにある正常な Amazon EC2 インスタンスにトラフィックをルーティングします。
Elastic Load Balancing は、アプリケーショントラフィックの需要に応じて、リクエスト処理能力を自動的にスケーリングします。さらに、Elastic Load Balancing を Auto Scaling と連動させることで、手動操作を必要とせずにさまざまなトラフィックレベルに対応するバックエンドの能力を確保できます。
Elastic Load Balancing は Amazon Virtual Private Cloud (VPC) と連携して、堅牢なネットワークおよびセキュリティ機能を提供します。内部(インターネットに接していない)ロードバランサーを作成し、プライベート IP アドレスを使用して仮想ネットワーク内でトラフィックをルーティングできます。内部ロードバランサーとインターネットに接するロードバランサーを使用して多層アーキテクチャを実装し、アプリケーション層間でトラフィックをルーティングできます。この多層アーキテクチャにより、アプリケーションインフラストラクチャはプライベート IP アドレスとセキュリティグループを使用することができるため、パブリック IP アドレスで、インターネットに接する層のみを公開できます。
Elastic Load Balancing では、証明書管理および SSL 復号が統合されているので、ロードバランサーの SSL 設定を集中管理し、CPU を集中的に使用する作業をインスタンスからオフロードすることができます。
このラボガイドでは、Elastic Load Balancing の基本的な概念について順を追って説明します。ただし、Elastic Load Balancing の概念については簡単な概要のみを記載しています。詳細については、http://aws.amazon.com/elasticloadbalancing/ を参照してください。