我正在努力解决如何创建可重用的VPC的问题,该VPC可使用AWS CDK跨多个堆栈使用。我希望能够为每个项目创建不同的堆栈,然后能够导入应分配给不同堆栈的VPC。我还想使用一个良好的结构来创建它,在这里我可以在不同的时间部署不同的堆栈(这意味着:我不想一次部署所有堆栈)。
我尝试了以下方法,但是这将为每个堆栈创建一个新的VPC,这不是我想要实现的,而是我想一次创建我的VPC,然后如果已经存在,它将简单地重用先前创建的VPC。
应用程序
import cdk = require('@aws-cdk/core');
import { Stack1 } from '../lib/stack1';
import { Stack2 } from '../lib/stack2';
const app = new cdk.App();
new Stack1(app, "Stack1");
new Stack2(app, "Stack2");
Run Code Online (Sandbox Code Playgroud)
stack1.ts
import cdk = require('@aws-cdk/core');
import { Configurator } from './configurators/configurator'
export class Stack1 extends cdk.Stack {
constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
super(scope, id, props);
const configurator = new Configurator(scope, "Stack1");
// later reuse vpc from configurator using configurator.vpc
}
}
Run Code Online (Sandbox Code Playgroud)
stack2.ts
import cdk = require('@aws-cdk/core');
import …Run Code Online (Sandbox Code Playgroud) aws-cdk ×1