Elastic Load Balancing
Application Load Balancer

チュートリアル: Application Load Balancer のターゲットとして Microservices を使用する

個別に開発およびデプロイできるサービスとしてのアプリケーションを構成するために、microservices アーキテクチャを使用できます。これらのサービスを 1 つ以上各 EC2 インスタンスにインストールし、各サービスが別のポートで接続を受け入れるようにできます。単一の Application Load Balancer でアプリケーションのすべてのサービスにリクエストをルーティングできます。ターゲットグループに EC2 インスタンスを登録する場合、それを複数回登録できます。各サービスで、そのサービスのポートを使用するインスタンスを登録します。

重要

Amazon Elastic Container Service (Amazon ECS) を使用してサービスをデプロイする場合、動的ポートマッピングを使用して、同じコンテナインスタンスの単一のサービスからの複数のサービスをサポートできます。Amazon ECS は、インスタンス ID と各コンテナのポートを使用して自動的にコンテナをターゲットグループに登録およびターゲットグループから登録解除して、サービスに対する更新を管理します。詳細については、Amazon Elastic Container Service Developer Guideの「サービスロードバランシング」を参照してください。

開始する前に

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

  • EC2 インスタンスにサービスをデプロイします (たとえばコンテナを使用して)。

Load Balancer の作成

ターゲットとして複数のサービスを使用するロードバランサーを作成するには

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

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

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

  4. [Create Load Balancer] を選択します。

  5. [Select load balancer type] で、[Application Load Balancer] を選択します。

  6. [Continue] を選択します。

  7. [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] を選択します。

  8. (オプション) 前のステップでセキュアリスナーを作成した場合は [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) (AWS Certificate Manager (ACM) から既存の証明書を選択)] を選択し、[Certificate name (証明書名)] から証明書を選択します。

    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] の場合は、デフォルトのセキュリティポリシーを維持します。

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

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

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

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

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

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

    1. [Target group] はデフォルトの [New target group] を保持します。

    2. [Name] に、新しいターゲットグループの名前を入力します。

    3. [Protocol] と [Port] を必要に応じて設定します。

    4. [Health checks] は、デフォルトのヘルスチェック設定のままにします。

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

  12. [Register Targets] で、次の操作を行ないます。

    1. [Instances] で、EC2 インスタンスを選択します。

    2. サービスが使用するポートを入力し、[Add to registered] を選択します。

    3. 登録する各サービスで操作を繰り返します。完了したら、[Next: Review] を選択します。

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

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

このページの内容: