Application Load Balancer を作成し、Amazon ECS タスクを自動的に登録する方法を教えてください。
最終更新日: 2020 年 10 月 15 日
Application Load Balancer を作成後、Amazon Elastic Container Service (Amazon ECS) タスクを自動的に登録したいと考えています。
解決方法
ターゲットグループを作成する
- Amazon EC2 コンソールのナビゲーションペインで、[Target Groups] (ターゲットグループ) を選択します。
- [Create target group] を選択します。
- [Target group name] に名前を入力します。
- [Target type] (ターゲットタイプ) で、[Instance] (インスタンス) または [IP] を選択します。
重要: サービスのタスク定義で awsvpc ネットワークモード (AWS Fargate 起動タイプで必須) を使用している場合は、ターゲットタイプとして [IP] を選択する必要があります。これは、awsvpc ネットワークモードを使用するタスクが Elastic Network Interface に関連付けられているためです。これらのタスクは、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスには関連付けられていません。 - [VPC] で、ターゲットグループにアタッチする VPC を選択します。
- [Create] (作成) を選択します。
ターゲットグループをロードバランサーに関連付ける
- Amazon EC2 コンソールのナビゲーションペインで、[Load Balancers] (ロードバランサー) を選択します。
- [Create Load Balancer] を選択します。
- [Application Load Balancer] で、[Create] を選択します。
- [Name] にロードバランサーの名前を入力します。
- [Listeners] セクションの [Load Balancer Protocol] で、[HTTP] または [HTTPS] を選択します。
- [Availability Zones] セクションの [VPC]で、自分の VPC を選択します。
- [Availability Zones] で、少なくとも 2 つのサブネット ID を選択します。
- [Next: Configure Security Settings]、[Next: Configure Security Groups] の順に選択します。
- セキュリティグループ ID 列で、ロードバランサーに添付するセキュリティグループ ID を選択します。
- [Next: Configure Routing] を選択します。
- [Target group] (ターゲットグループ) セクションの [Target group] (ターゲットグループ) で、[Existing target group] (既存のターゲットグループ) を選択します。
- [Name] (名前) で、[Create a target group] (ターゲットグループを作成する) セクションで以前に作成したターゲットグループを選択します。
- [Next: Register Targets] (次へ: ターゲットの登録)、[Next: Review] (次へ: 確認)、[Create] (作成) の順に選択します。
以前の Application Load Balancer を使用して Amazon ECS サービスを作成する
- Amazon ECS コンソールを開きます。
- ナビゲーションペインで、[Clusters] を選択してから、クラスターを選択します。
- [Services] タブで、[Create] を選択します。
- [Configure service] セクションで、少なくとも 1 つのタスク定義が作成されていることを確認します。
注: ロードバランサーを使用するには、タスク定義で containerPort を使用する必要があります。 - [Launch type] で、起動タイプを選択します。
- [Service name] にサービス名を入力します。
- [Number of tasks] にタスクの数を入力します。
- [Next step] (次のステップ) をクリックします。
- [Load balancing] セクションの [Load balancer type] で、[Application Load Balancer] を選択します。
- [Listener port] で、アプリケーションで使用されるアプリケーションポート (たとえば 80:HTTP) を選択します。
- [Target group name] で、[Create a target group] セクションで以前に作成したターゲットグループを選択します。
- [Next step] (次のステップ) をクリックします。
- [Service Auto Scaling] で、Amazon ECS サービスのアプリケーションの設定に基づき、[Do adjust the service's desired count] (サービスの必要数を調整する) または [Do not adjust the service's desired count] (サービスの必要数を調整しない) を選択します。
- [Next step] (次のステップ) を選択し、[Create Service] (サービスの作成) を選択します。
- [View Service] を選択し、[Tasks] タブを選択します。
- 更新アイコンを選択し、タスクが RUNNING 状態であることを確認します。
ターゲットグループに登録されているタスクを表示する
- Amazon EC2 コンソールを開きます。
- [Target Groups] (ターゲットグループ) を選択し、[Create a target group] (ターゲットグループを作成する) セクションで以前に作成したターゲットグループを選択します。
- ターゲットグループに登録されたターゲットを表示するには、[Targets] (ターゲット) タブを選択します。
注: Application Load Balancer のヘルスチェックが失敗した場合のトラブルシューティングについては、Amazon EC2 インスタンスが Amazon ECS で Application Load Balancer のヘルスチェックに合格するようにするにはどうすればよいですか? を参照してください。