Listenerとは
リスナーとは、設定したプロトコルとポートを使用して接続リクエストをチェックするプロセスです。リスナーに対して定義したルールにより、ロードバランサーが登録済みターゲットにリクエストをルーティングする方法が決まります。
Application Load Balancer のリスナー - Elastic Load Balancing
80番ポートのリクエストを443番ポートにリダイレクトする
client = Aws::ElasticLoadBalancingV2::Client.new client.create_listener( default_actions: [ { type: 'redirect', order: 1, redirect_config: { protocol: 'HTTPS', port: '443', host: '#{host}', path: '/#{path}', query: '#{query}', status_code: 'HTTP_301' } }, ], load_balancer_arn: LOAD_BALANCER_ARN, port: 80, protocol: 'HTTP' )
443番ポートのリクエストを特定のターゲットグループに渡す
client.create_listener( certificates: [ certificate_arn: CERTIFICATE_ARN, ], default_actions: [ { target_group_arn: TARGET_GROUP_ARN, type: 'forward' }, ], load_balancer_arn: LOAD_BALANCER_ARN, port: 443, protocol: 'HTTPS', ssl_policy: 'ELBSecurityPolicy-2015-05' )
443番ポートのリクエストの場合503を返す
client.create_listener( certificates: [ certificate_arn: CERTIFICATE_ARN, ], default_actions: [ { type: 'fixed-response', fixed_response_config: { status_code: '503' } }, ], load_balancer_arn: LOAD_BALANCER_ARN, port: 443, protocol: 'HTTPS', ssl_policy: 'ELBSecurityPolicy-2015-05' )
status_code
の値は数字ではなく文字列
参考
公式ドキュメント