我试图引用几个子网来创建 ec2 实例,但我有点卡住了。假设我有这个:
const vpc = new Vpc(this, 'gwc-vpc', {
cidr: "10.20.0.0/16",
maxAzs: 3,
subnetConfiguration: [
{
subnetType: SubnetType.PRIVATE,
name: 'gossipSubnet',
cidrMask: 24
},
{
subnetType: SubnetType.PRIVATE,
name: 'dbSubnet',
cidrMask: 24
},
{
subnetType: SubnetType.PUBLIC,
name: 'extSubnet',
cidrMask: 24
}
]
})
Run Code Online (Sandbox Code Playgroud)
例如,如何在 dbSubnet 中创建实例?更好的是,如果我想创建一个具有 2 个接口的 EC2 实例,每个接口位于不同的子网(dbSubnet 和 gossipSubnet)中,该怎么办?有任何想法吗?
谢谢!
小智 14
不确定这是否与此处相关,但您是否也可以使用内置程序来选择/定位您感兴趣的子网?
const vpc = new Vpc(this, 'ProductionVPC', {
cidr: '10.10.0.0/16',
enableDnsHostnames: true,
enableDnsSupport: true,
defaultInstanceTenancy: DefaultInstanceTenancy.DEFAULT,
maxAzs: 2,
natGateways: 1,
subnetConfiguration: [
{
cidrMask: 24,
name: 'Public',
subnetType: SubnetType.PUBLIC
},
{
cidrMask: 24,
name: 'Private - Application',
subnetType: SubnetType.PRIVATE,
},
{
cidrMask: 24,
name: 'Private - Database',
subnetType: SubnetType.ISOLATED,
},
]
});
Tag.add(vpc, 'Name', 'Production VPC');
const subnets = vpc.selectSubnets({subnetType: SubnetType.Public)).subnets;
Run Code Online (Sandbox Code Playgroud)
我建议使用一个应用程序来定义您的网络基础设施(vpc、子网、网关、安全组等)。然后您可以添加任意数量的与其交互的单独应用程序。
因此,您可以拥有一个包含上述内容的应用程序,用于构建 VPC 和子网,然后您应该导出 vpc 的 ID 以及您使用易读名称创建的所有子网
现在,您创建的在 VPC 中构建内容的任何其他应用程序都可以选择使用 simpleFn.importValue来获取它们需要的任何子网或 vpc id。或者他们可以使用Vpc.fromLookupcdk 应用程序获取可用的 Vpc 对象。拥有 Vpc 对象后,您可以使用它vpc.selectSubnets来获取要在应用程序中使用的子网。如果您想查看特定语言的任何示例,请告诉我。
| 归档时间: |
|
| 查看次数: |
15759 次 |
| 最近记录: |