簡體   English   中英

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個解決方案。

解決方案 A

將所有現有偵聽器規則導入 CloudFormation 堆棧。 負載均衡器規則資源支持導入CloudFormation 堆棧。

解決方案 B

通過命令行更改現有偵聽器規則的優先級。 目的是使現有規則優先級從 N + 1 開始。其中 N 是當前規則數。 這樣做會為aws-cdk中定義的新規則創建可用空間。 有了空間,您可以通過aws-cdk定義現有規則的副本並部署它們。 部署后,您可以安全地刪除手動創建的規則。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM