![](/img/trans.png)
[英]Unable to attach EC2 instance to a classic load balancer in AWS CDK
[英]AWS CDK - Existing Application Load Balancer Listener - How To Insert Rule
我有一个带有 HTTPS 侦听器的应用程序负载均衡器,它是在我开始使用 CDK 之前创建的。
侦听器已经有 13 条规则,它们根据主机名将请求路由到不同的 Fargate 实例。 最后一条规则是后备规则。
现在我想在回退规则之前插入带有 CDK 的新规则。 由于添加新的 Fargate 服务时会有新的规则,所以这必须是动态的。 如何向现有侦听器添加新规则以及如何获取特定规则的优先级(在本例中为回退规则)作为优先级计算的起点
或者我可以在规则之后添加所有优先级为 1 的规则,并且现有规则的优先级将分别增加 1?
我以这种方式检索了现有的侦听器,但我不知道如何访问其规则
const httpsListener = elbv2.ApplicationListener.fromLookup(
this,
"ALBListenerHTTPS", {
listenerArn: "my:aws:alb:listener:arn",
}
);
每个ApplicationListener
映射到一个AWS::ElasticLoadBalancingV2::ListenerRule
资源。
一旦你有了一个ApplicationListener
你就可以定义新的ApplicationListenerRules
:
new ApplicationListenerRule(this, 'Rule1', {
listener: httpsListener,
priority: 1
...
})
但是, aws-cdk
管理负载均衡器规则,它们都需要由它创建。 有2个解决方案。
将所有现有侦听器规则导入 CloudFormation 堆栈。 负载均衡器规则资源支持导入CloudFormation 堆栈。
通过命令行更改现有侦听器规则的优先级。 目的是使现有规则优先级从 N + 1 开始。其中 N 是当前规则数。 这样做会为aws-cdk
中定义的新规则创建可用空间。 有了空间,您可以通过aws-cdk
定义现有规则的副本并部署它们。 部署后,您可以安全地删除手动创建的规则。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.