Tutorial: Use Path-Based Routing with Your Application Load Balancer

URL pathに基いてリクエストの転送ルールが入っているlistenerの作成ができる。(path-based routing) path-based routingを使用して複数のback-endにトラフィックを転送できる。例えば、通常のリクエストを一つのターゲットグループに振り分け、イメージのレンダーリクエストを別のターゲットグループに振り分けができる。

Before you Begin

  • VPCでEC2インスタンスを立ち上げる。health checkのポートとListenerのポートを許可したsecurity groupを割り当てる。より詳細の情報はTarget Security Groups
  • 登録予定のEC2インスタンスのマイクロサービスがデプロイされているか確認する。

Create your Load Balancer

path-baseルーティングのロードバランサーの作成

  1. Webコンソールを開く
  2. EC2インスタンスと同じリージョンをナビゲーションバーより選択
  3. ナビゲーションパネルのLOAD BALANCINGの下のTarget Groupsを選択
  4. 下記の様にターゲットが最初にセットされるターゲットグループを作成する
    1. Create target groupを選択
    2. name,プロトコル、ポート、VPCを設定しCreateを選ぶ
    3. new target groupを選択
    4. TargetsタブでEditを選ぶ
    5. 一つやそれ以上のinstanceを選択し、Add to regsteredを選んで、Saveする

      注意: インスタンスのstatusは登録とhealth checkがパスされるまでinitialである、そしてターゲットグループがロードバランサーからトラッフィクを受けるまでunusedになる
  5. ふたつ目のターゲットグループを下記のように作成する
    1. Create target grpuを選択
    2. name、protocol、ポート、VPCをを指定し、Createを選択
    3. TargetsタブのEditを選択
    4. 一つあるいはそれ以上のinstanceお選び、Add to registeredを選び、Saveする
  6. ナビゲーションパネルのLOAD BALANCINGの下のLoad Balancersを選ぶ
  7. Create Load Balancerを選ぶ
  8. Select Load balancer typeからApplication Load Balancerを選ぶ
  9. Continueを選ぶ
  10. Configure Load Balancerページを以下のように設定する
    1. Nameにload balancerの名前を入力する

      ALBの名前はリージョン内ではユニークである必要がある。最大で32文字、アルファベットとハイフンが使用可能。最初と最後にハイフンを使用することは出来ない。
    2. Scheme では、Internet-facing ロードバランサーはinternet上のクライアントからのリクエストを振り分ける。internal ロードバランサーはターゲットへの振り分けはプラベートIPを使用する。
    3. Listenersでは、80番のHTTPをdefaultでは許可する。それ以外のプロトコルとポートに修正することができ、Addを選び別のlistenerを追加することが出来る。
    4. VPCでは、使用したいEC2インスタンスと同じVPCを選択する
    5. Available subnetsでは少なくとも2つのsubnetを選択し、Actions列でアイコンを選びとSelectd subnetsに移動する。Note Avaliability Zone毎に一つのsubentを選ぶ事ができる。もしAZから選んだsubnetがすでにあれば現在選択したsubnetに置き換えられる。
    6. Next: Configure Security Settingsを選択
  11. もし以前にSecure listenerを作成したことがあれば、次のようにConfigure Security Settignsを完成させる
    1. もしAWS Certificate Managerの証明書があれば、Choose an existign certificate from AWS Certificate Manager(ACM)を選び、Certificatenmeから証明書を選ぶ
    2. もしすでにIAMを使用して証明書をアップロードしているのであれば、Choose an existing certificate from AWS Identity and Access Management (IAM)から証明書を選ぶ
    3. もしアップロード出来る証明書があればUpload a new SSL Certificate to AWS Identity and Access Management(IAM)を選ぶ。Certificate nameに証明書の名前を入力、Private KeyにはPEM-encoded形式のprivate keyファイルの中身をコピーペースト、Public Key CertificateではPem-encoded形式のPublic keyファイルの中身をコピーペースト、Certificate ChainにはPem-encoded形式のCertificate chain ファイルの中身をコピーペースト、自己署名証明書を使っていて、ブラウザは暗黙の内に証明書を受け入れる事が重要ではない限り。
    4. Select Policyでは存在しているsecurity policyを一つ選ぶ
  12. Next: Configure Security Groupsを選ぶ
  13. Configure Security Groupsページは以下のように設定する
    1. Create a new security groupを選択
    2. nameとdescriptionを入力するかdefaultを使用する。この新しいsecurity groupはConfigure Load Balancerページで選択しているポートのトラフィックを許可するルールが含まれている
    3. Next: Configure ROutingを選ぶ
  14. Configure Routingを以下のように設定する
    1. Target groupではすでにあるtarget groupを選ぶ
    2. 作ったターゲットグループから一つ目のターゲットグループを選ぶ
    3. Next: Register Targetsを選択
  15. Register Targetsページではターゲットグループに登録したインスタンスがRegistered instances下に表示される。wizardを完了させるまで登録されたターゲットの変更はできない。Next: Reviewを選択
  16. ReviewページでCreateを選択
  17. ロードバランサーの作成成功が通知されたらCloseを選択
  18. 新規作成されたロードバランサーを選択
  19. Listenersタブでは矢印アイコンでlistenerのルールを見る。Add ruleを選択する。ルールは以下のように指定できる
    1. Target group nameでは作った二つ目のターゲットグループを選択
    2. Path patternではpath-based routingのパターンを指定する(e.g. /img/*)
    3. Saveを選ぶ

results matching ""

    No results matching ""