2022/03/30

AWSのロードバランサーALBとは?設定手順を5ステップで解説

 
  

AWSのロードバランサー「Application Load Balancer」とは?

Application Load Balancerは、Amazon Web Services(AWS)が提供する「HTTP/HTTPSトラフィックの負荷を分散するロードバランサー」です。OSI参照モデルの第7層・アプリケーションレイヤーで動作し、AWS上の複数EC2インスタンスにリクエストを割り振ります。 リクエストのルーティングですが、デフォルトはラウンドロビン方式です。しかし、リスナールールという負荷を制御する条件にHTTPヘッダーやクエリ文字列が利用可能なため、アプリケーション負荷へ柔軟に対応できます。 また、ALBはAmazon Virtual Private Cloud内に配置されるため、セキュリティグループでトラフィックを制限できます。そのため、セキュリティグループで運用に必要なトラフィックのみを許可する設定にすることで、不要なトラフィックがALBに到達しないようにすることも可能です。

ALBの設定手順

AWSのEC2コンソールからALBを作成する手順を簡単に紹介します。EC2のALBを作成する際に参考にしてください。

【Step1】ALBとHTTP/HTTPSリスナーを設定する

ALBの種類や名前、HTTP/HTTPSリスナーなど、ALBの基本情報を設定します。HTTP/HTTPSリスナーは、クライアントからALBへ接続する際に使用するプロトコルとポートを設定します。

  • Amazon EC2コンソールを表示します。
  • 左側のメニューから「ロードバランシング」の下の「ロードバランサー」をクリックします。
  • 左上の「ロードバランサーの作成」ボタンをクリックします。
  • 3種類のロードバランサーが表示され、Application Load Balancerの「作成」ボタンをクリックします。
  • 名前欄にALBの名前を入力します。
  • スキーム欄を利用用途に応じて選択します。ALBをクライアントからインターネット経由で利用する場合は「インターネット向け」を選択します。ALBをプライベートIPアドレスを使用して、クライアントから利用する場合は「内部」を選択します。
  • IPアドレスタイプ欄をクライアントとALB間で利用するIPアドレスのバージョンに応じて選択します。IPv4アドレスを利用する場合は「IPv4」を選択します。IPv6アドレスを利用する場合は「dualstack」を選択します。
  • リスナーの設定一覧でALBがトラフィックを受け付けるプロトコルとポートを必要に応じて設定・追加します。ロードバランサーのプロトコルは「HTTP」、「HTTPS(セキュアHTTP)」から選択できます。また、ロードバランサーのポートは1~65535のポート番号を設定可能です。
  • アベイラビリティーゾーン欄でゾーン毎に有効にするサブネットを1つ選択します。
  • 必要に応じて、アドオンサービス欄やタグ欄を入力します。
  • 入力が完了したら、「次の手順:セキュリティ設定の構成」ボタンをクリックし、次の画面へ遷移します。

【Step2】HTTPSリスナーの詳細設定を指定する

【Step1】のリスナーの設定一覧を設定する際に、ALBのプロトコルに「HTTPS(セキュアHTTP)」を選択した場合、セキュリティの詳細設定を入力します。 【Step1】でALBのプロトコルに「HTTPS(セキュアHTTP)」を選択していない場合は、【Step2】の手順は不要なため、【Step3】の手順に進みます。 セキュリティ設定ではAWS上でSSL証明書を作成またはインポートすることが必要です。セキュリティ設定ではAWS上へのSSL証明書の作成・インポート機能としては、「AWS Certificate Manager(ACM)」と「AWS Identity and Access Management(IAM)」を利用できます。

  • 証明書タイプ欄をAWS上のSSL証明書の作成状況やインポート状況に応じて選択します。
  • 既にアップロードしたSSL証明書を選択した場合、証明書の名前欄に使用するSSL証明書を選択します。
  • セキュリティポリシー欄に、ALBがクライアントとSSL接続する際のセキュリティポリシーを設定します。
  • 「次の手順:セキュリティグループの設定」をクリックします。

【Step3】セキュリティグループを設定する

ALBのセキュリティグループを設定します。セキュリティグループでは、ALBのリスナーポート・ヘルスチェックポートの両ポートと、ターゲットとの通信を許可する必要があります。

  • セキュリティグループの割り当て欄の「新しいセキュリティグループを作成する」をチェックします。
  • セキュリティグループ名欄、説明欄を適宜入力します。
  • 必要に応じて「ルールの追加」ボタンをクリックし、特定のトラフィックを許可するルールを追加します。
  • 入力が完了したら、「次の手順:ルーティングの設定」をクリックします。

【Step4】ターゲットグループを設定する

ALBのターゲットグループやヘルスチェックを設定します。

  • ターゲットグループ欄はデフォルトの「新しいターゲットグループ」から変更しません。
  • 名前欄にALBのターゲットグループの名前を入力します。
  • ターゲットの種類欄でターゲットを登録する手段を選択します。インスタンスIDを登録する場合は「インスタンス」を、IPアドレスを登録する場合は「IP」を、Lambda関数を登録する場合は [Lambda関数] を選択します。
  • ターゲットの種類欄で「インスタンス」または「IP」を選択した場合は、ポート欄・プロトコル欄にALBとインスタンスが通信するポートとプロトコルを入力します。
  • ターゲットの種類欄で「Lambda関数」を選択した場合は、必要に応じてヘルスチェック欄の「有効化」をチェックします。
  • 必要に応じてヘルスチェック欄を入力します。
  • 入力が完了したら「次の手順:ターゲットの登録」をクリックします。

【Step5】ターゲットグループのターゲットを設定する

ALBのターゲットグループでは3種類のターゲットを登録でき、ターゲットの種類によって異なる内容を登録します。ターゲットの種類毎に登録手順を紹介します。

  • インスタンス一覧から、ALBのターゲットに登録するインスタンスを見つけ、そのインスタンスのチェックボックスをチェックします。
  • ポート欄にインスタンスがリスナーするポートを入力し、「登録済みに追加」ボタンをクリックします。
  • 登録済みターゲットに追加したインスタンスが表示されたら、「次の手順:確認」ボタンをクリックします。
  • ネットワーク欄でターゲットのIPアドレスがVPC内にある場合は、そのVPCを選択します。ターゲットのIPアドレスがVPCにない場合は、「その他プライベートIPアドレス」を選択します。
  • IP欄にターゲットのIPアドレスを入力します。
  • ポート欄にターゲットがリッスンするポートを入力します。
  • 「リストに追加」ボタンをクリックします。
  • 登録済みのIPアドレスのリストに追加したIPアドレスが表示されたら、「次の手順:確認」ボタンをクリックします。
  • Lambda関数欄を選択します。Lambda関数がすでに登録済みまたは、今から登録する場合は「リストからLambda関数を選択するか、 関数を作成します」を、ARNで入力する場合は「Lambda関数のARNを入力します」を、後でLambda関数を登録する場合は「後で関数を追加」を選択します。
  • 入力が完了したら、「次の手順:確認」ボタンをクリックします。

まとめ

 今回は、AWSのロードバランサー「Application Load Balancer(ALB)」の作成方法について紹介しました。ALBはアプリケーション負荷へ柔軟に対応できるため、AWSのEC2インスタンスに構築したWebアプリケーションで広く利用されています。 AWSのEC2インスタンスにWebアプリケーションを構築する際は、是非ALBを利用してみてください。

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】