gpt4 book ai didi

typescript - AWS CDK - 现有应用程序负载均衡器监听器 - 如何插入规则

转载 作者:行者123 更新时间:2023-12-04 17:18:27 29 4
gpt4 key购买 nike

我有一个带有 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 CloudFormation 资源。
一旦您拥有 ApplicationListener你可以定义新的 ApplicationListenerRules :

new ApplicationListenerRule(this, 'Rule1', {
listener: httpsListener,
priority: 1
...
})
但是,对于 aws-cdk要管理负载均衡器规则,它们都需要由它创建。有2个解决方案。
方案一
将所有现有监听器规则导入 CloudFormation 堆栈。负载均衡器规则资源 supports importing进入 CloudFormation 堆栈。
方案B
通过命令行更改现有监听器规则的优先级。目的是让现有规则的优先级从 N + 1 开始。其中 N 是当前规则的数量。这样做会为 aws-cdk 中定义的新规则创建可用空间。 .空间就位后,您可以通过 aws-cdk 定义现有规则的副本。并部署它们。部署后,您可以安全地删除手动创建的规则。

关于typescript - AWS CDK - 现有应用程序负载均衡器监听器 - 如何插入规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67807271/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com