VP C пиринг (2 VPCS в 2 разных аккаунтах) через AWS CDK Typescript - PullRequest
0 голосов
/ 09 мая 2020

Я пытаюсь создать сценарии cdk для vp c пиринга между 2 виртуальными ПК в 2 отдельных учетных записях. Соответствующий фрагмент кода выглядит следующим образом. Vpcs создаются нормально, однако я не могу сослаться на vpcId и peerVpcId из vpc1 и vpc2. Кто-нибудь может помочь, пожалуйста. Любой рабочий пример кода был бы действительно полезен. Спасибо.


//creation of vpc 1
export class vpc1 extends cdk.Stack {
constructor(scope: cdk.App, id: string, props: EnvProps) {
  super(scope, id, props);


const vpc = new ec2.Vpc(this, 'vpc1',{    
  cidr: props.vpcCidr ,
  enableDnsHostnames: true,
  enableDnsSupport: true,

  maxAzs: 3,
  subnetConfiguration: [{
      cidrMask: 24,               
      name: 'Public',
      subnetType: ec2.SubnetType.PUBLIC,
  },
  {
    cidrMask: 24,
    name: 'Private',
    subnetType: ec2.SubnetType.PRIVATE,
  }],
  natGateways: 1
}); }}    


//creation of vpc 2
export class vpc2 extends cdk.Stack {
  constructor(scope: cdk.App, id: string, props: EnvProps) {
  super(scope, id, props);

const vpc = new ec2.Vpc(this, 'vpc2',{    
  cidr: props.vpcCidr ,
  enableDnsHostnames: true,
  enableDnsSupport: true,

  maxAzs: 3,
  subnetConfiguration: [{
      cidrMask: 24,               
      name: 'Public',
      subnetType: ec2.SubnetType.PUBLIC,
  },
  {
    cidrMask: 24,
    name: 'Private',
    subnetType: ec2.SubnetType.PRIVATE,
  }],
  natGateways: 1
});

}}

export class vpcPeeringfisHiDev extends cdk.Stack {
    constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
       super(scope, id, props);
const vpc_peering = new ec2.CfnVPCPeeringConnection (this, 'vpcPeer',{
vpcId: vpc1.vpc.vpcId, //Error - Property 'vpc' does not exist on type 'typeof vpc1'.ts(2339)
peerVpcId: vpc2.vpc.vpcId  //Error - Property 'vpc' does not exist on type 'typeof vpc2'.ts(2339)
}); }}
...