Elastic Load Balancing
ユーザーガイド

Elastic Load Balancing とは

Elastic Load Balancing は受信したアプリケーションまたはネットワークトラフィックを、Amazon EC2 インスタンス、コンテナ、IP アドレス、複数のアベイラビリティーゾーンなど、複数のターゲットに分散させます。Elastic Load Balancing はアプリケーションへのトラフィックが時間の経過とともに変化するのに応じてロードバランサーをスケーリングします。また、大半のワークロードに合わせて自動的にスケーリングできます。

ロードバランサーの利点

ロードバランサーは、ワークロードを仮想サーバーなど複数のコンピューティングリソース間に分散させます。ロードバランサーを使用すると、アプリケーションの可用性と耐障害性が向上します。

アプリケーションへのリクエストの流れを中断することなく、ニーズの変化に応じてロードバランサーに対してコンピューティングリソースの追加と削除を行うことができます。

ロードバランサーが正常なものにのみリクエストを送信するように、コンピューティングリソースのヘルス状態をモニタリングするヘルスチェックを設定できます。コンピューティングリソースがメインワークに集中できるように、暗号化および復号の作業をロードバランサーに任せることもできます。

Elastic Load Balancing の機能

Elastic Load Balancing は、Application Load Balancer、Network Load Balancer、および クラシックロードバランサー の 3 種類のロードバランサーをサポートしています。アプリケーションのニーズに合わせて、ロードバランサーを選択できます。詳細については、「Elastic Load Balancing 製品の比較」を参照してください。

各ロードバランサーの使用の詳細については、Application Load Balancer 用ユーザーガイドNetwork Load Balancer 用ユーザーガイド、および クラシックロードバランサー 用ユーザーガイドを参照してください。

Elastic Load Balancing へのアクセス

次のインターフェイスのいずれかを使用して、ロードバランサーの作成、アクセス、管理を行うことができます。

  • AWS マネジメントコンソール — Elastic Load Balancing へのアクセスに使用するウェブインターフェイスを提供します。

  • AWS コマンドラインインターフェース (AWS CLI) — Elastic Load Balancing を含む一連のさまざまな AWS のサービス用のコマンドを提供します。AWS CLI は、Windows、macOS、Linux でサポートされています。詳細については、「AWS Command Line Interface」を参照してください。

  • AWS SDK — 言語固有の API を提供し、署名の計算、リクエストの再試行処理、エラー処理など、接続のさまざまな詳細を処理します。詳細については、AWS SDK を参照してください。

  • クエリ API — HTTPS リクエストを使用して呼び出す低レベル API アクションを提供します。クエリ API の使用は、Elastic Load Balancing にアクセスする最も直接的な方法です。ただし、クエリ API では、リクエストに署名するハッシュの生成やエラー処理など、低レベルの詳細な作業をアプリケーションで処理する必要があります。詳細については、以下を参照してください。

Elastic Load Balancing は、アプリケーションの可用性とスケーラビリティを高める以下のサービスを使用します。

  • [Amazon EC2] — クラウドでアプリケーションを実行する仮想サーバーです。EC2 インスタンスへのトラフィックをルーティングするように、ロードバランサーを設定できます。詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイド または Windows インスタンスの Amazon EC2 ユーザーガイド を参照してください。

  • [Amazon EC2 Auto Scaling] — インスタンスに障害が発生した場合でも必要なインスタンスの実行数を保証します。Amazon EC2 Auto Scaling ではさらに、需要の変化に応じて自動的にインスタンス数を増減できます。Elastic Load Balancing で Auto Scaling を有効にすると、Auto Scaling によって起動されたインスタンスは自動的にロードバランサーに登録されます。同様に、Auto Scaling によって終了されたインスタンスは、ロードバランサーから自動的に登録解除されます。詳細については、Amazon EC2 Auto Scaling ユーザーガイド を参照してください。

  • AWS Certificate Manager — HTTPS リスナーを作成するには、ACM で提供された証明書を指定できます。ロードバランサーは、証明書を使用して接続を終了し、クライアントからのリクエストを復号します。

  • Amazon CloudWatch — ロードバランサーを監視し、必要に応じてアクションを実行することができます。詳細については、『Amazon CloudWatch ユーザーガイド』を参照してください。

  • [Amazon ECS] — EC2 インスタンスのクラスターで Docker コンテナを実行、停止、管理することができます。コンテナにトラフィックをルーティングするように、ロードバランサーを設定できます。詳細については、「Amazon Elastic Container Service Developer Guide」を参照してください。

  • AWS Global Accelerator — アプリケーションの可用性とパフォーマンスが向上します。アクセラレーターを使用して、1 つ以上の AWS リージョンの複数のロードバランサーにトラフィックを分散します。詳細については、AWS Global Accelerator 開発者ガイド を参照してください。

  • Route 53 — ドメイン名を、コンピュータが相互の接続に使用する数字の IP アドレスに変換することで、閲覧者をウェブサイトにルーティングするための信頼性が高く、コスト効率のよい方法を提供します。たとえば、www.example.com を数値の IP アドレス 192.0.2.1 に変換します。ロードバランサーなどのリソースには、AWS により URL が割り当てられます。ただし、ユーザーが覚えやすい URL を使用することもできます。たとえば、ドメイン名をお客様のロードバランサーにマッピングすることができます。詳細については、「Amazon Route 53 開発者ガイド」を参照してください。

  • AWS WAF — Application Load Balancer で AWS WAF を使用して、ウェブアクセスコントロールリスト (ウェブ ACL) のルールに基づいてリクエストを許可またはブロックできます。詳細については、「AWS WAF 開発者ガイド」を参照してください。

料金

ロードバランサーについては、お客様が利用された分のみのお支払いとなります。詳細については、「Elastic Load Balancing 料金表」を参照してください。