AWS での負荷分散: 選択肢を知る

導入

用途、プラットフォーム、テクノロジーは多岐にわたりますが、ほとんどのアプリケーションには共通のニーズがあります。 これらはオンライン状態に維持され、ハードウェア障害の影響を受けず、需要に応じて拡張され、侵害や攻撃から防御される必要があります。

アプリケーションがメインフレーム コンピュータからオープン システムに移行し始めて以来、組織はロード バランサを使用してアプリケーションのスケーラビリティと可用性を管理してきました。 複雑な問題やより高度なセキュリティの脅威に直面したとき、ロード バランサはセキュリティと最適化の機能が追加された、より豊富な機能セットを開発しました。

時間の経過とともに、シンプルなロード バランサは強力なアプリケーション配信コントローラ (ADC) へと進化しました。 世界中で何千もの組織が、私たちの生活を支えるアプリケーションの安全性、高速性、可用性を確保するために ADC を活用しています。 緊急医療サービスや銀行業務からゲームやデートまで、ADC はアプリが最高のパフォーマンスを発揮できるように支援するテクノロジーを提供します。

アプリケーションが従来のオンプレミス モデルからクラウド サービスに移行しても、スケール、セキュリティ、可用性に対するニーズは減少していません。 したがって、パブリックとプライベートの両方を含むすべてのクラウド プラットフォームが、コアのインフラストラクチャ サービス (IaaS) の一部として負荷分散サービスを提供していることは驚くことではありません。

Amazon Web Services (AWS) Elastic Load Balancing (ELB) サービスは、インターネット最大規模のアプリケーションを含む数十万のアプリケーションを組織が配信するのに役立ちます。 オンプレミスのロードバランサーが顧客のニーズを満たすために機能を追加したのと同様に、AWS のロードバランシングサービスにも新しい機能が組み込まれ続けています。

ELB は多くの組織にとって最適な選択肢となりますが、重要なアプリケーションを最適にサポートするために追加の機能を必要とする組織もあります。 さらに、一部の企業では、オンプレミスのアプリケーションを拡張および管理するために、すでに ADC とロード バランサーを導入しています。 これらの組織では、データセンターと同じプラットフォームを AWS に採用することで、クラウド移行にかかる時間、コスト、リスクを削減できます。 どの負荷分散サービスが組織に適しているかを決定する前に、AWS で利用できるさまざまな負荷分散オプションを見てみましょう。

AWS での負荷分散

Amazon Web Services は、シンプルなコンピューティングやブロック ストレージから高度なデータベースや機械学習環境まで、幅広い機能と用途を網羅する、主流の IaaS プロバイダーの中で最も幅広いサービス セットを提供しています。 多くの AWS 顧客アーキテクチャの重要なコンポーネントはロードバランサーであり、AWS は仮想プライベートクラウド (VPC) 環境で使用するための 2 つの異なるサービス (どちらも「Elastic Load Balancing」という名前) を提供しています。

アプリケーション ロード バランサー

Amazon の Application Load Balancer (ALB) は、AWS クラウド上で負荷分散、ヘルスモニタリング、URL ベースのリクエストルーティングを提供します。 ALB は、AWS 証明書管理サービスの 1 つからロードされた顧客の SSL 証明書を使用して HTTP および HTTPS プロトコルの負荷分散を提供し、WebSocket トラフィックの負荷分散もサポートします。 さらに、ALB では、バックエンドの Elastic Compute Cloud (EC2) サーバー リソースの自動スケーリングが可能になります。トラフィックの需要が増加すると、ALB は追加のサーバーの展開をトリガーし、需要が減少するとそれらのサーバーを削除することができます。

ALB サービスは、追加の負荷に対応するために拡張することもできます。 アプリケーション ネットワーク トラフィックが増加すると、追加の ALB インスタンスが作成され、DNS に登録され、DNS ラウンドロビンを使用してトラフィックが ALB インスタンスに分散されます。 突然のワークロードでも最高のパフォーマンスを得るには、新しいインスタンスの起動時間が 1 ~ 7 分かかることがあるため、ALB インスタンスの事前ウォーミングをお勧めします。

ALB は、Web コンソール、CLI、API、クラウド フォーメーション テンプレート (CFT)、Ansible などの多くの自動化ツールを介してデプロイできます。

ネットワーク ロード バランサー

AWS の Elastic Load Balancing ファミリーに最近追加されたのが、Network Load Balancer (NLB) です。 「クラシック」ロード バランサと同様に、これはレイヤー 4 で動作し、接続ベースのロード バランシングとネットワーク層およびアプリケーション層のヘルス チェックを提供します。 NLB は、トラフィックの急増や大量の接続にうまく対処できるように設計されています。 さらに、NLB では、EC2 インスタンスだけでなく RFC 1918 プライベート IP アドレスもターゲットにすることができます。 自動スケーリング、自己スケーリング、デプロイメントのオプションは ALB と同様です。

クラシックロードバランサー

AWS では、TCP トラフィックの基本的なレイヤー 4 負荷分散はサポートしているものの、レイヤー 7 トラフィックの分散やステアリングはサポートしていない「クラシック」 Elastic Load Balancer も引き続き提供しています。 自動スケーリング、自己スケーリング、デプロイメントのオプションは ALB と同様です。

F5 BIG-IP 仮想 ADC

F5® BIG-IP® ADC プラットフォームは、軽量の AWS クラシック ロードバランサーとは反対側の負荷分散スペクトルを表します。 BIG-IP は、セキュリティ、アプリケーションの最適化、可用性のさまざまな課題に対応する一連の機能を備えており、よりシンプルなソリューションでは解決できない問題を解決し、アプリケーション トラフィックを管理できます。

BIG-IP は、完全なトラフィック検査、制御、操作を含む包括的なアプリケーション トラフィック管理を提供します。 これはアプリケーション層の要求と応答の両方に拡張され、データ損失の防止とサーバー応答コンテンツの操作が可能になります。 この機能は、何千もの組織にとって、高速で信頼性が高く、非常に貴重な問題解決ツールであることが証明されています。 さらに、アプリケーション トラフィックの完全なプログラムによる検査と操作により、開発者は重要な戦略的制御ポイントでアプリケーションの動作を強化するための追加のアーキテクチャ レイヤーを利用できるようになります。

BIG-IP と ELB: 管理の違い

このプログラム可能な問題解決能力には、認識する必要があるいくつかの問題が伴います。 まず、BIG-IP は、AWS クラシック ロードバランサーと ALB の両方とは異なるインフラストラクチャ レベルで動作します。 BIG-IP は VPC 内の EC2 インスタンスとしてデプロイされますが、これには長所と短所の両方があります。 VPC の一部となることで、ADC はアベイラビリティーゾーン内のすべてのコンポーネント間のトラフィックを効果的に管理できるようになり、VPC 内のコンポーネント間の通信を大幅に制御できるようになります。

同時に、管理および保守するための追加の EC2 インスタンスも作成されます。 ミッションクリティカルなコンポーネントとなるものの高可用性は、構成は簡単ですが、今後はお客様の責任となります。 ソフトウェアの更新や一般的な管理の観点から基盤となるプラットフォームの管理は AWS ではなく顧客が担当しますが、新機能は基本的にシームレスなサービスアップグレードではなく、AWS Marketplace にリリースされたバージョンによって提供されます。

最後に、BIG-IP はオンデマンドで拡張でき、アプリケーション サーバー インスタンスを自動拡張することもできますが、コア AWS サービスを使用する場合と比較すると、必然的に、より多くの構成作業が顧客にかかることになります。

AWS での負荷分散
どのロードバランサーが適していますか?

組織に適したソリューションの選択は、基本的にアプリケーションとプラットフォームのニーズによって決まります。 一部のアプリケーションとユースケースは AWS ELB に適していますが、他のアプリケーションとユースケースでは BIG-IP の高度な機能が必要になります。

AWS エラスティック ロード バランシング

ALB は、いくつかの基本的な URI から宛先へのマッピング ルールを使用した単純な負荷分散を必要とするアプリケーション向けに設計されています。 ALB は、多くの AWS ネイティブ アプリケーションの基本的なトラフィック分散およびスケーリング サービスに対応します。 開発者やアプリケーション サプライヤーがセキュリティや機能の問題をタイムリーに修正できる場合、またはセキュリティ侵害の全体的なリスクが低い場合は、ALB が当然の選択となります。

他の TCP プロトコルを使用し、堅牢でありながらシンプルな負荷分散サービスを必要とする同様のアプリケーションの場合、従来のロード バランサで十分な場合がよくあります。

BIG-IP 負荷分散

組織が AWS 上の本格的な ADC のパワーを活用することを好むユースケースは他にもあります。 AWS で BIG-IP を使用する利点には次のようなものがあります。

  • セキュリティの向上
  • より強力な交通管理
  • トラフィックの最適化
  • 真のアプリケーション層のプログラマビリティ

BIG-IP のプラットフォーム アーキテクチャにより、アプリケーション トラフィックを完全に可視化し、制御できます。 幅広い機能を備えた AWS 環境の BIG-IP インスタンスは、アプリケーションのパフォーマンス、セキュリティ、可用性の問題に対処するための強力なツールキットを提供します。 BIG-IP は、ローカル EC2 インスタンスまたは別のクラウド内のサーバー インスタンスから API ベースのサービスまたはオンプレミス デバイスまで、ルーティング可能な任意のリソースに個々のアプリケーション層リクエストを送信できます。

たとえば、ALB は要求された URL に基づいてトラフィックをバックエンド リソースに誘導できますが、デバイスの種類、接続速度、クライアントの場所など、より複雑な特性に基づいてトラフィックを誘導する必要がある場合は、BIG-IP の方が適しています。

この高度な問題解決機能は、エンタープライズ アプリケーションがクラウドに移行される場合や、アプリケーションの脆弱性や動作の問題を軽減するための開発者がすぐに利用できない場合に非常に重要になります。 アプリケーションが緊急に保護を必要とする場合、新しいクライアント タイプ (またはクライアント オペレーティング システムの変更) で誤動作する場合、または特定の要求でクラッシュする場合、BIG-IP は多くの場合、高速でシンプルかつ信頼性の高い修正を提供します。

もう 1 つの重要な要素は、データ センターとクラウド間の一貫性の必要性です。 何千もの組織が、データセンターで重要なアプリケーションを提供するために BIG-IP デバイスに依存しています。 AWS BIG-IP Virtual Edition は、データセンター内の物理 BIG-IP と同じアプリケーション層サービスを AWS 上で提供します。 BIG-IP VE を使用すると、組織はより迅速かつ安価に、そしてより自信を持ってアプリケーションを移行できると同時に、スタッフは他の部分でのスキル再習得に集中でき、BIG-IP に関する組織の知識と投資は維持されます。

展開オプション

ネイティブサービスとして、AWS ELB のデプロイはボックスをチェックするだけの簡単な作業です。 BIG-IP VE を AWS 上で稼働させるには、ユーティリティ課金モデルまたはライセンス持ち込みモデルのいずれかを使用して、Amazon Marketplace からインスタンスをデプロイする必要があります。 BIG-IP イメージの展開は、手動で管理することも、AWS CFT などの自動化オプションを使用して管理することもできます。F5 では、完全にサポートされている多数のテンプレート (およびいくつかの「実験的な」テンプレート) を提供しています。 これらはF5 Github リポジトリから入手でき、Python SDK やその他のツールも含まれています。 コミュニティでサポートされている追加の展開ツール、プレイブック、およびドキュメントは、 F5 DevCentral リポジトリから入手できます。

結論

AWS ELB と F5 BIG-IP はどちらも、AWS にアプリケーションを導入する組織に魅力的な価値を提供します。 いつ、どこで、より高度な制御、セキュリティ、またはプログラミング機能が必要になる可能性があるかを把握しておくと、クラウドでアプリケーションとビジネスをサポートするための適切なソリューションを選択するのに役立ちます。

2017 年 11 月 3 日公開
  • Facebookでシェア
  • Xに共有
  • LinkedInにシェア
  • メールで共有
  • AddThisで共有

F5とつながる

F5 Labs

最新のアプリケーション脅威インテリジェンス。

DevCentral

ディスカッション フォーラムと専門家による記事のための F5 コミュニティ。

F5 ニュースルーム

ニュース、F5 ブログなど。