【初心者入門編】AWSのALBとは?特徴6つや他サービスとの違いを解説

【初心者入門編】AWSのALBとは?特徴6つや他サービスとの違いを解説のアイキャッチイメージ

AWSとは?

AWSとは、Amazon Web Serviceを省略したもので、Amazonが提供するクラウドサービスの総称です。

AWSには大量のデータを保存できるS3や仮想サーバーを作成できるEC2、データベースを利用できるRDS、プログラム実行環境を利用できるLambdaがあります。

この他AmazonのAIを利用できるものや大量のメールを送信できるサービスもあります。

ALBとは?

ALBの正式名称はApplication Load Balancerで、AWSのシステムの1つであり、ロードバランシングサービスです。

ロードバランシングサービスは、Webサイトに突然アクセスが集中した場合に負荷を分散させるもので、Webサイトの安定性と高可用性を高める働きがあります。

AWSには複数のロードバランシングサービスがあり、ALBはその中の1つです。

ALBの特徴6つ

ALBはロードバランシングサービスの中で、セキュリティ機能やヘルスチェックに特徴があります。

AWSの中で連携させて、高いセキュリティ機能とリアルタイムのモニタリングを実現しています。利用者のリクエストによって、独立したサービスとして実行可能になるので、ルール定義を複数設定できます。

レイヤー7だけに対応するのもALBの特徴です。

ALBの特徴1:セキュリティ機能

ALBはAWSのセキュリティ機能を利用した設定が可能で、安全な運用ができます。

ALBはユーザー認証を利用でき、セキュリティ機能を強固にできます。Amazon Virtual Private Cloud(VPC)利用時はセキュリティ機能の追加設定も可能です。

この他、インターネットに接続しない状態で使用できるロードバランサーの作成もできます。

ALBの特徴2:ヘルスチェック

ALBのヘルスチェックは、正常なターゲットだけにトラフィックをルーティングさせる特徴があります。

約300の詳細なエラーコードを設定してアプリケーションの詳しい情報を確認できるので、エラーの原因を特定しパフォーマンス低下の原因追及も可能です。

AWSのEC2のインスタンス利用の際、トラフィック情報を受け取ることもできます。

ALBの特徴3:高可用性

ALBは複数のアベイラビリティーゾーン(AZ)を指定して利用することで、可用性を高めています。

AWSはデータセンターを地理的ゾーンに分け、そこにAZを複数設けています。AZは高速専用回線で結ばれていますが、離れた場所に設置され電源やネットワークを分離して影響を受けないようにしています。

AZの指定はユーザーが可用性を高める作業です。

ALBの特徴4:TLSターミネーション

ALBは、 HTTP/2のネガティブなサポートが有効なので、利用するクライアントはTLS経由で接続可能です。

ALBはHTTPとHTTPSのアプリケーションに対応し、TLSターミネーションに対応していませんが、HTTP/2のネガティブなサポートは対応できます。

HTTP通信は暗号化しないので、暗号化や復号化の処理を避けられ負荷を抑えることが可能です。

ALBの特徴5:レイヤー7の負荷分散

ALBはレイヤー7の負荷分散に特化しているので、便利で使いやすくなっています。

ロードバランシングサービスはレイヤー4とレイヤー7の両方で活動していましたが、ALBはアプリケーション層のHTTPとHTTPSに対して負荷分散を行います。

ALBはレイヤー4には対応していないので、AWSの他のサービスを利用します。

ALBの特徴6:運用のモニタリング

ALBはヘルスチェック利用中にロードバランサーの内部のサービス状態をリアルタイムでモニタリングできる特徴があります。

リクエスト追跡やAmazon CloudWatchメトリクスを利用すると、アプリケーションの状態とパフォーマンス情報を受け取れます。

アプリケーション運用のモニタリングによって負荷を事前に察知します。

ALBとELBの違い

AWSのロードバランシングサービスの名称はELBでしたが、オプションとしてALBを追加した経緯があります。

ELBの正式名称は、Elastic Load Balancingです。ALBを追加した時にELBは名称をClassic Load Balancer(CLB)に変更しました。

現在のELBは、Network Load Balancerもオプションで追加されています。

ELBはAWSのロードバランサーの総称

ELBはAWSのロードバランシングサービスのことで、ALB・CLB・NLBの3種類です。

ALBはHTTPの負荷分散を行う場合に使用し、CLBはアプリケーションがEC2のネットワーク内に構築されている時に使用します。NLBはレイヤー4の負荷分散に利用します。

それぞれの特徴を理解してユーザー自身が最適なロードバランサーを選択することが大切です。

NLB

NLBはNetwork Load Balancerの略称で、ハイパフォーマンスで通信遅延が低いアプリケーションの負荷分散に向いています。

NLBはレイヤー4で動作しています。また、1秒間に数百万件のリクエストを遅延なく処理し、不安定で突発的なトラフィックに対応できるほど高機能です。

Virtual Private Cloudを利用する時にはNLBはレイヤー4、ALBはレイヤー7と使い分けがお勧めです。

AWSの主なサービス5選

AWSの主なサービスは、仮想サーバーを作成可能なEC2やデータ保存ができるS3などがあります。

この他にデータベースサービスのRelational Database Service、プログラム実行環境を提供するLambda、AWSを管理するためのCommand Line Interfaceも便利なサービスです。

自分のできることから少しずつ利用してみましょう。

AWSの主なサービス1:Amazon EC2

Amazon EC2の正式名称はAmazon Elastic Compute Cloudで、仮想サーバーを作成するサービスです。

EC2はクラウド上のパソコンなので、サイズやスペック変更が容易にできます。作成は数分で完了し、メモリやハードディスクのスペックを変更したものを複数作成することが可能です。

EC2では自分の必要なスペックのパソコンを初期費用不要でいつでも利用できます。

AWSの主なサービス2:Relational Database Service

Relational Database Service(RDS)はAWSのリレーショナルデータベースです。

RDSのデータベース管理システムは、Amazon AuroraとOracle、MicrosoftのSQL Server、オープンソース型のPostgre SQL、MySQL、MariaDBの6つです。

6つのシステムはサービスに一定レベルを約束する仕組みが導入されているので、安心して利用できます。

AWSの主なサービス3:Lambda

Lambda(ラムダ)は仮想サーバーを利用しないで、自分の作成したアプリケーションを実行できるサービスです。

提供された環境をカスタマイズできませんが、状況に応じた自動スケーリング機能があり、動作環境が保証されているのでアプリケーション開発に集中できます。

プログラミング実行時間に対して課金されるので、経費の削減につながります。

AWSの主なサービス4:Amazon S3

Amazon S3はAmazon Simple Storage Serviceを略したもので、クラウドで利用できるストレージサービスです。

データ容量に無関係で保存、利用できるのでコストを削減することができます。安全で、耐久性も高いので、安心して利用できます。

S3の追記は通常のパソコンでの上書き作業ではなく、一旦ファイル(オブジェクト)単位で取り出して書き換え、再度保存する方法に変更する必要があります。

AWSの主なサービス5:Command Line Interface

Command Line Interface (CLI)はAWSをコマンド入力するだけで操作や管理ができるツールです。

AWSを利用する方法はGraphical User Interface(GUI)もありますが、AWSが日々更新されるので、気づかない間に表記が変更されてマニュアル作成ができないというデメリットがあります。

CLIはマニュアル作成が簡単で、コマンド入力だけでEC2やS3の作業を行うことも可能です。

ALBを理解しAWSを使いこなしましょう!

AWSには多くのサービスがあり、ALBのロードバランシングサービスを理解するとよりAWSを使いこなせるようになります。

AWSではALBを「将来的なレイヤー7のロードバランシングプラットフォーム」と位置付けています。

ELBのNLB、CLBとの違いを把握してALBを運用し、柔軟なシステム開発環境を活用しましょう。

インフラエンジニア専門の転職サイト「FEnetインフラ」

FEnetインフラはサービス開始から10年以上『エンジニアの生涯価値の向上』をミッションに掲げ、多くのエンジニアの就業を支援してきました。

転職をお考えの方は気軽にご登録・ご相談ください。