Elastic Load Balancing
Application Load Balancer

チュートリアル: Application Load Balancer でパスベースのルーティングを使用する

URL パスに基づいてリクエストを転送するルールを持つリスナーを作成できます。これは、パスベースのルーティングと呼ばれます。マイクロサービスを実行している場合、パスベースのルーティングを使用して複数のバックエンドサービスにトラフィックをルーティングすることができます。たとえば、1 つのターゲットグループに全般的なリクエストをルーティングし、イメージをレンダリングするリクエストを別のターゲットグループにルーティングできます。

開始する前に

  • Virtual Private Cloud (VPC) で EC2 インスタンスを起動します。これらのインスタンスのセキュリティグループがリスナーポートとヘルスチェックポートでアクセスを許可することを確認します。詳細については、「ターゲットセキュリティグループ」を参照してください。

  • マイクロサービスが、登録する予定の EC2 インスタンスにデプロイされていることを確認します。

Load Balancer の作成

パスベースのルーティングを使用するロードバランサーを作成するには

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. ナビゲーションバーで、EC2 インスタンスのために選択したのと同じリージョンを選択します。

  3. ナビゲーションペインの [LOAD BALANCING] で [Target Groups] を選択します。

  4. 次のようにして、最初のターゲットセットのターゲットグループを作成します。

    1. [Create target group] を選択します。

    2. ターゲットグループの名前、プロトコル、ポート、VPC を指定し、[Create] を選択します。

    3. 新しいターゲットグループを選択します。

    4. [Targets] タブで、[Edit] を選択します。

    5. [Instances] で、1 つ以上のインスタンスを選択します。インスタンスのポートを指定し、[Add to registered] を選択して [Save] を選択します。

      インスタンスのステータスは、インスタンスが登録されてヘルスチェックに合格するまで initial であり、ロードバランサーからのトラフィックを受信するようにターゲットグループを設定するまで unused である点に注意してください。

  5. 次のようにして、2 番目のターゲットセットのターゲットグループを作成します。

    1. [Create target group] を選択します。

    2. ターゲットグループの名前、プロトコル、ポート、VPC を指定し、[Create] を選択します。

    3. [Targets] タブで、[Edit] を選択します。

    4. [Instances] で、1 つ以上のインスタンスを選択します。インスタンスのポートを指定し、[Add to registered] を選択して [Save] を選択します。

      インスタンスのステータスは、インスタンスが登録されてヘルスチェックに合格するまで initial であり、ロードバランサーからのトラフィックを受信するようにターゲットグループを設定するまで unused である点に注意してください。

  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] に、ロードバランサーの名前を入力します。

      Application Load Balancer の名前は、リージョンの Application Load Balancer および Network Load Balancer セット内で一意にする必要があります。最大 32 文字で、英数字とハイフンのみ使用できます。先頭と末尾にハイフンを使用することはできません。

    2. [Scheme] のインターネット向けロードバランサーは、クライアントからインターネット経由でリクエストをターゲットにルーティングします。内部ロードバランサーは、プライベート IP アドレスを使用してターゲットにリクエストをルーティングします。

    3. [Listeners] のデフォルトは、ポート 80 で HTTP トラフィックを受け付けるリスナーです。デフォルトのリスナーの設定をそのままにしておくことも、リスナーのプロトコルまたはポートを変更することも、[Add] を選択して別のリスナーを追加することもできます。

    4. [Availability Zones] で、EC2 インスタンスに使用する VPC を選択します。アベイラビリティーゾーンを少なくとも 2 つ選択します。アベイラビリティーゾーンに対して 1 つのサブネットがある場合、そのサブネットが選択されます。そのアベイラビリティーゾーンに複数のサブネットがある場合は、いずれかのサブネットを選択します。アベイラビリティーゾーンにつき、1 つのサブネットしか選択できないことに注意してください。

    5. [Next: Configure Security Settings] を選択します。

  11. (オプション) 前のステップでセキュアリスナーを作成した場合は [Configure Security Settings] ページで次の操作を完了します。

    1. AWS Certificate Manager を使用して証明書を作成またはインポートした場合は、[Choose an existing certificate from AWS Certificate Manager (ACM) (AWS Certificate Manager (ACM) から既存の証明書を選択)] を選択し、[Certificate name (証明書の名前)] から証明書を選択します。

    2. IAM を使用して証明書をすでにアップロードしている場合は、[Choose an existing certificate from AWS Identity and Access Management (IAM)] を選択し、[証明書名] から証明書を選択します。

    3. アップロードする証明書があっても ACM がお客様のリージョンでサポートされていない場合は、[Upload a new SSL Certificate to AWS Identity and Access Management (IAM)] を選択します。[Certificate name] に証明書の名前を入力します。[Private Key] に、PEM エンコードされたプライベートキーファイルの内容をコピーして貼り付けます。[Public Key Certificate] に、PEM エンコードされたパブリックキー証明書ファイルの内容をコピーして貼り付けます。自己署名証明書を使用しておらず、ブラウザが暗黙的に証明書を受け入れることが重要である場合に限り、[Certificate Chain] に、PEM エンコードされた証明書チェーンファイルの内容をコピーして貼り付けます。

    4. [Select policy] の場合は、デフォルトのセキュリティポリシーを維持します。

  12. [Next: Configure Security Groups] を選択します。

  13. [Configure Security Groups] ページで次の操作を完了します。

    1. [Create a new security group] を選択します。

    2. セキュリティグループの名前と説明を入力するか、デフォルトの名前と説明を維持します。この新しいセキュリティグループには、[Configure Load Balancer] ページでロードバランサー用に選択したポートへのトラフィックを許可するルールが含まれます。

    3. [Next: Configure Routing] を選択します。

  14. [Configure Routing] ページで次の操作を完了します。

    1. [Target group] で、[Existing target group] を選択します。

    2. [Name] で、作成した最初のターゲットグループを選択します。

    3. [Next: Register Targets] を選択します。

  15. [Register Targets] ページで、ターゲットグループに登録したインスタンスが [Registered instances] に表示されます。ウィザードを完了するまで、ターゲットグループに登録したターゲットを変更することはできません。[Next: Review] を選択します。

  16. [Review] ページで、[Create ] を選択します。

  17. ロードバランサーが正常に作成されたことが通知されたら、[Close] を選択します。

  18. 新しく作成したロードバランサーを選択します。

  19. [リスナー] タブで、[ルールの表示/編集] を選択してから、[ルールの追加] アイコン (プラス記号) を選択します。次のようにしてルールを指定します。

    1. [Insert Rule] を選択します。

    2. [Add condition (条件の追加)]、[Path is (パス)] の順に選択し、パスベースのルーティングに使用される厳密なパターン (例: /img/*) を入力します。条件を保存するには、チェックマークアイコンを選択します。詳細については、「リスナールール」を参照してください。

    3. [アクションの追加]、[転送先] の順に選択してから、作成した 2 番目のターゲットグループを選択します。アクションを保存するには、チェックマークアイコンを選択します。

    4. ルールを保存するには、[保存] を選択します。

このページの内容: