Amazon Web Services ブログ
[AWS Black Belt Online Seminar] Elastic Load Balancing (ELB) 資料及び QA 公開
先日 (2019/10/29) 開催しました AWS Black Belt Online Seminar「 Elastic Load Balancing (ELB) 」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
AWS クラウドサービス活用資料集(すべての過去資料が閲覧できます)
Q. なぜ NLB だけ暖気不要なのでしょうか?
A. AWS Hyperplaneと呼ばれる特殊なAWS独自の負荷分散技術を用いているためです。
AWS Hyperplaneに関しては、こちらの資料のP17 – P21をご確認ください。
Q. ALB のルーティング機能を用いると API Gateway を用いた時と同じようなかたちで REST API などの Web App を実装することもできそうに思えます。実際に、そのようなユースケースはあるのでしょうか? もし、そのようなユースケースがある場合は、どのようなケースにおいて、あえて API Gateway を使用せずに ALB のルーティング機能を用いるのでしょうか?
A. API GatewayとALBの利用目的とその提供する機能は根本的に異なります。API Gateway は REST および WebSocket API を作成、公開、保守、モニタリング、保護するためのサービスで主に AWS Lambda 等のサーバーレスと相性が良く、ALB を含む ELB は EC2 インスタンス等をターゲットとする負荷分散が目的です。
ご質問のようにALBのパスベースルーティングやHTTPメソッドベースのルーティングを利用してREST API を実装することは可能ですしそのようなユースケースもございますが、それは ALB の一部の機能を利用しただけであり、あくまで ALB のメインの機能は複数のバックエンドへの負荷分散を提供することです。 一方で、API Gateway は REST API の作成には最適ですが、バックエンドの複数のEC2インスタンスへ負荷分散するような機能は持っていませんので、複数 EC2 インスタンスへの負荷分散には NL Bなど他サービスとの連携が必要となります。
ALB と API Gatewa yは目的が全く異なるため単純比較はできませんが、例えば Lambd aを利用したサーバーレスな構成にする場合は API Gateway が適しており、複数の EC2イ ンスタンスをバックエンドとした REST API を構築する場合には ALB が適していると言えると思います。
Q. ALB ではクライアントの IP アドレスを ALB が保持するIPアドレスに NAT して実サーバにロードバランスするのでしょうか? また、NLB の場合は実サーバまでクライアントのIPアドレスが変更されないとのことでした。実サーバからの戻り通信が NL を通過する必要があると思いますが、どのようにして戻りが NLB を経由するのでしょうか?0.0.0.0/0宛のルートをNLBに向けるようなことが必要でしょうか?
A. ALB はL7ロードバランサーなので、NAT ではなくクライアントとの間で TCP のコネクションを一旦終端(Proxy)します。
NLB は上記の1つの目のご質問の回答に書いた AWS Hyperplane という技術によりパケットの帰りにおいてもNLBを通過します。 AWS Hyperplane は Source IP が Client の IP になっていても VPC 内で戻りのパケットが正しくNLB に到達するように機能します。 その証拠にクライアント側からパケットを見ると NLB と直接通信しているように見えます。
また、バックエンドのサーバー側でルーティングを意識する必要はございません。ただし、バックエンド側のセキュリティグループの設定でクライアント側の IP(Internet-facing の場合、多くは0.0.0.0/0を設定)との通信を許可する必要があります。
Q. クロスゾーン負荷分散を有効にする際のデメリットはどういう点がありますか?
A. クロスゾーン負荷分散は、アベイラビリティーゾーンにまたがって負荷を分散するため、各 EC2 インスタンスへの負荷を平均化できますが、唯一考えられるデメリットとしてはAZ間で通信が発生するため、AZ間ネットワーク料金がかかることと多少の Latency が発生するということです。 通常は、そのことだけを理由にクロスゾーン負荷分散を無効にする理由はないかと思います。
(参考:同じ AWS リージョン内のアベイラビリティーゾーンをまたいだ Amazon EC2で「受信 (イン)」/「送信 (アウト)」されるデータの転送料金は、各方向で 0.01 USD/GBです。)
—
今後の AWS Webinar | イベントスケジュール
直近で以下を予定しています。各詳細およびお申し込み先は下記URLからご確認いただけます。皆様のご参加をお待ちしております。
「AWSome Day Online」は、実際に足を運んでいただく 1 日の AWSome Day の内容を 2.5 時間に凝縮し、ポイントを押さえて紹介いたします。AWS テクニカルインストラクターが主導するセッションを通じて、コンピューティング、ストレージ、データベース、ネットワークといった AWS の主要なサービスを段階的に学ぶことができます。また、AWSに関わる方への基礎知識として、請求、アカウントマネジメント、料金モデル等、実際の導入に向けた内容となっております。技術的な面だけではなく、これから AWS クラウドを学ぶために必要となる知識を身に付けたい方、エンジニアのみならず、営業職、プリセールス職、学生まで幅広い方々におすすめします。
日時: 11 月 25 日(月) 15:00 – 17:40 終了予定 | 詳細・お申込みについてはこちら≫
日時: 12 月 13 日(金) 15:00 – 17:40 終了予定 | 詳細・お申込みについてはこちら≫
—
AWS Black Belt Online Seminar:
- AWS Transit Gateway | 2019 年 11 月 13 日 (水) | 18:00 – 19:00
- Amazon Managed Streaming for Apache Kafka (Amazon MSK) | 2019 年 11 月 20 日 (水) | 18:00 – 19:00
- Amazon AppStream 2.0 | 2019 年 11 月 26 日 (火) | 12:00 – 13:00
- コンテナ モニタリング | 2019 年 11 月 27 日 (水) | 18:00 – 19:00
- AWS re:Invent 速報 | 2019 年 12 月 6 日 (金) | 12:00 – 13:00
- Amazon Chime | 2019 年 12 月 10 日 (火) | 12:00 – 13:00
- Amazon Connect Update | 2019 年 12 月 17 日 (火) | 12:00 – 13:00
- AWSのマネジメント&ガバナンス サービスアップデート | 2019 年 12 月 18 日 (水) | 18:00 – 19:00
—
AWS Hands-on for Beginners 〜Serverless 編〜
AWS Hands-on for Beginners 〜 Serverless 編 〜は、翻訳 Web API の構築を通して、サーバーレスアーキテクチャの基本を学んでいただけるウェビナーシリーズです。サーバーレスアーキテクチャの特徴とその中核となる AWS サービスの概要をお伝えした上で、実際に手を動かしてその理解を深めることができます。主に取り扱う AWS サービスは AWS Lambda、Amazon API Gateway、Amazon DynamoDB の3つです。前提となる必要知識はありませんので、サーバーレスアーキテクチャについて学ぶ第一歩としてご活用ください。
日時: オンデマンドのためいつでも自由に視聴できます | 詳細・お申込みについてはこちら≫
—