Application Load Balancer 用の HTTP リスナーを作成する
リスナーは、接続リクエストをチェックします。ロードバランサーを作成するときにリスナーを定義し、いつでもロードバランサーにリスナーを追加できます。
このページの情報は、ロードバランサー用の HTTP リスナーを作成するのに役立ちます。ロードバランサーに HTTPS リスナーを追加するには、Application Load Balancer 用の HTTPS リスナーを作成する を参照してください。
前提条件
-
転送アクションをデフォルトのリスナールールに追加するには、利用可能なターゲットグループを指定する必要があります。詳細については、「Application Load Balancer のターゲットグループを作成する」を参照してください。
-
複数のリスナーで同じターゲットグループを指定できますが、これらのリスナーは同じロードバランサーに属している必要があります。ロードバランサーでターゲットグループを使用するには、ターゲットグループが他のロードバランサーのリスナーによって使用されていないことを確認する必要があります。
HTTP リスナーを追加する
クライアントからロードバランサーへの接続用のプロトコルとポート、およびデフォルトのリスナールールのターゲットグループでリスナーを設定します。詳細については、「リスナーの設定」を参照してください。
別のリスナールールを追加するには、「リスナールール」を参照してください。
- Console
-
HTTP リスナーを追加するには
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。
-
ナビゲーションペインで、[ロードバランサー] を選択します。
-
ロードバランサーを選択します。
-
[リスナーとルール] タブから、[リスナーの追加] を選択します。
-
[プロトコル] で、[http] を選択します。デフォルトポートのままにすることも、別のポートを入力することもできます。
-
[デフォルトアクション] では、次のいずれかのルーティングアクションを選択し、必要な情報を指定します。
-
[ターゲットグループに転送] - ターゲットグループを選択します。別のターゲットグループを追加するには、[ターゲットグループの追加] を選択し、ターゲットグループを選択して、相対重みを確認し、必要に応じて重みの更新を選択します。いずれかのターゲットグループに対して維持設定を有効にしている場合は、グループレベルの維持設定を有効にする必要があります。
ニーズに合ったターゲットグループがない場合は、[ターゲットグループの作成] を選択して今すぐ作成します。詳細については、「ターゲットグループの作成」を参照してください。
-
[Redirect to URL] - 部分ごとに分けて [URI 部分] タブに入力するか、完全なアドレスを [完全な URL] タブに入力します。[ステータスコード] では、必要に応じて一時的 (HTTP 302) または恒久的 (HTTP 301) を選択します。
-
[固定レスポンスを返す] — ドロップされたクライアントリクエストに対して返される [レスポンスコード] を入力します。必要に応じて、[コンテンツタイプ] と [レスポンス本文] を指定できます。
-
(オプション) タグを追加するには、[リスナータグ] を展開します。[新しいタグを追加] を選択し、タグのキーとタグの値を入力します。
-
[リスナーの追加] を選択します。
- AWS CLI
-
ターゲットグループを作成するには
デフォルトアクションに使用できるターゲットグループがない場合は、create-target-group コマンドを使用して今すぐ作成します。例については「ターゲットグループの作成」を参照してください。
HTTP リスナーを作成するには
create-listener コマンドを使用します。次の例では、トラフィックを指定されたターゲットグループに転送するデフォルトルールを持つ HTTP リスナーを作成します。
aws elbv2 create-listener \
--load-balancer-arn load-balancer-arn \
--protocol HTTP \
--port 80 \
--default-actions Type=forward,TargetGroupArn=target-group-arn
2 つのターゲットグループ間でトラフィックを分散する転送アクションを作成するには、代わりに次の --default-actions オプションを使用します。複数のターゲットグループを指定する場合は、ターゲットグループごとに重みを指定する必要があります。
--default-actions '[{
"Type":"forward",
"ForwardConfig":{
"TargetGroups":[
{"TargetGroupArn":"target-group-1-arn","Weight":50},
{"TargetGroupArn":"target-group-2-arn","Weight":50}
]
}
}]'
- CloudFormation
-
HTTP リスナーを作成するには
AWS::ElasticLoadBalancingV2::Listener タイプのリソースを定義します。次の例では、トラフィックを指定されたターゲットグループに転送するデフォルトルールを持つ HTTP リスナーを作成します。
Resources:
myHTTPlistener:
Type: 'AWS::ElasticLoadBalancingV2::Listener'
Properties:
LoadBalancerArn: !Ref myLoadBalancer
Protocol: HTTP
Port: 80
DefaultActions:
- Type: "forward"
TargetGroupArn: !Ref myTargetGroup
複数のターゲットグループ間でトラフィックを分散する転送アクションを作成するには、ForwardConfig プロパティを使用します。複数のターゲットグループを指定する場合は、ターゲットグループごとに重みを指定する必要があります。
Resources:
myHTTPlistener:
Type: 'AWS::ElasticLoadBalancingV2::Listener'
Properties:
LoadBalancerArn: !Ref myLoadBalancer
Protocol: HTTP
Port: 80
DefaultActions:
- Type: "forward"
ForwardConfig:
TargetGroups:
- TargetGroupArn: !Ref TargetGroup1
Weight: 50
- TargetGroupArn: !Ref TargetGroup2
Weight: 50