簡體   English   中英

使用CDK時如何將服務的安全組設置為默認安全組

[英]How do I set the the security group of a service to the default security group when using CDK

我正在編寫一個使用 Opensearch 域和 Lambda 的應用程序,並將它們都放在 VPC 的私有子網中。 當我在控制台上進行測試時,我發現每當我嘗試從 lambda 訪問域時都會出現超時錯誤。 我可以通過手動將域和 lambda 上的安全組設置為默認安全組來解決此問題。 我嘗試使用以下方法在 cdk 中執行此操作: securityGroups: ec2.SecurityGroup.fromLookupById(this,'def_sec_group',serviceVPC.vpcDefaultSecurityGroup) ,但出現錯誤:

All arguments to look up a security group must be concrete (no Tokens)

據我所知,這是因為 CDK 還沒有獲得實際的 VPC,它只是創建一個令牌,直到它被部署。 相反,我嘗試修改其他安全組並使用它們。 CDK 為 lambda 和 opensearch 域創建了默認安全組,因此我打算嘗試修改這些以適應 VPC 的默認安全組。 我能說的唯一區別是 VPC 有一個入站規則:源設置為自身,沒有 ip 類型的描述符。 我意識到我可能無論如何都無法訪問那些默認安全組,因為它們將是令牌,所以我打算嘗試創建新的安全組。 這仍然給我留下了作為對等點和 SecurityGroup cdk 構造函數的連接輸入的問題。

設置安全組訪問權限時,您需要查看在資源上使用 Connections class。

const domain = new Domain(...);
const lambda = new Function(...);
domain.connections.allowDefaultPortFrom(lambda);

暫無
暫無

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

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