首页 > 解决方案 > 检索 VPC 以创建安全组

问题描述

我正在尝试取回 VPC,然后创建一个包含规则的安全组。我一直在按照他们的文档中的步骤进行操作,但是我需要获得一个不是默认 vpc 的 vpc。

我有这样的代码:

const primaryVpcId = config.require("primaryVpcId");

const primaryVpc = awsx.ec2.Vpc.fromExistingIds("primary", {
    vpcId: primaryVpcId
}); 

const sg = new awsx.ec2.SecurityGroup("jcsg", {vpc:primaryVpc});

问题是primaryVpc对象是空的,所以当我运行pulumi up它时错误说子网ID是空的。我知道aws中的vpc没有任何问题,因此检索它以某种方式失败。

标签: pulumi

解决方案


根据文档,使用时fromExistingIds您还必须指定子资源ID。如果您打算使用子网,则必须为那些似乎没有被自动发现的子网传递 id。

使用给定名称和相关子资源的 ID 获取现有 Vpc 资源的状态。这不会导致创建 VPC(或任何子资源),并且从您的 pulumi 应用程序中删除此 Vpc 不会导致现有的云资源(或子资源)被破坏。

const importedVpc = awsx.ec2.Vpc.fromExistingIds('primary', {
    vpcId: 'theId',
    privateSubnetIds: ['id1', 'id2']
})

我想您必须对ExistingVpcIdArgs您计划在程序中其他地方使用的任何属性(函数的第二个参数)执行相同的操作。


推荐阅读