AWS 支持每个 ALB 监听器多个目标组

问题描述 投票:0回答:2

我尝试为我的 AWS ALB 创建一个侦听器,并使用“create-listener”命令 (AWS CLI) 将我的 2 个目标组附加到该侦听器,但在使用这 2 个目标组创建侦听器时遇到问题。

当从 AWS 控制台创建侦听器并附加两个目标组时,它会按预期工作,或者当使用目标组的硬编码 arns 和上述语法时,它会工作:

listener=$(aws elbv2 create-listener --load-balancer-arn $lb_arn --protocol HTTP --port $http_external_port --default-actions '[{"Type": "forward", "Order": 1, "ForwardConfig": {"TargetGroups": [{"TargetGroupArn": "HARDCODED_FIRST_TG_ARN", "Weight": 50}, {"TargetGroupArn": "HARDCODED_SECOND_TG_ARN", "Weight": 50}]}}]')

但是,当使用 ARN 作为变量(有效)时,“create-listener”命令失败并显示上述错误消息:

first_tg_arn=$(aws elbv2 describe-target-groups --names $first_tg_name --query "TargetGroups[*][TargetGroupArn]" --output text)
second_tg_arn=$(aws elbv2 describe-target-groups --names $second_tg_name --query "TargetGroups[*][TargetGroupArn]" --output text)

listener=$(aws elbv2 create-listener --load-balancer-arn $lb_arn --protocol HTTP --port $http_external_port --default-actions '[{"Type": "forward", "Order": 1, "ForwardConfig": {"TargetGroups": [{"TargetGroupArn": "${first_tg_arn}", "Weight": 50}, {"TargetGroupArn": "${second_tg_arn}", "Weight": 50}]}}]')

调用CreateListener时发生错误(ValidationError) 操作:“${first_tg_arn}”不是有效的目标组 ARN

上面附加了运行命令的两种方式(使用硬编码 ARN 和使用 ARN 变量)。

可能是什么问题?谢谢你。

amazon-web-services aws-cli amazon-elb aws-elb
2个回答
1
投票

您的问题与 Linux 变量扩展有关,而不完全与 AWS CLI 使用有关。
在失败的命令中,您使用单引号

'
,它不会将变量扩展到其值。
要扩展变量,您需要使用双引号
"
或根本不使用引号,就像您在第二个示例中所做的那样。


0
投票

以下命令将起作用 aws elbv2 create-listener --load-balancer-arn --protocol HTTPS --port 443 --certificates CertificateArn=value --default-actions 'Type=forward,ForwardConfig={TargetGroups=[{TargetGroupArn=value,Weight= 1},{TargetGroupArn=值,权重=1},{TargetGroupArn=值,权重=1}]}'

© www.soinside.com 2019 - 2024. All rights reserved.