![](/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.