AWS CDK Lookup 一个对等 VPC 在另一个账户中

AWS CDK Lookup one peered VPC in another account

我在两个不同的账户(账户 A、账户 B)中有两个 VPC(VPC_A、VPC_B),并且两个 VPC 都已成功对等。我有 CDK 代码,该代码具有要部署到 AccountA 的管道阶段。我需要从 AccountA 的上下文中查找 VPC_B,并查找和修改 VPC_B 中的安全组。我写了下面的代码,但它不工作。当我执行 cdk synth 时,它给我一个错误,说它在 AccountA 的上下文中找不到 VPC_B。

const vpcB: IVpc = ec2.Vpc.fromLookup(this, 'VPC_B', {
        vpcId: 'VPC_B_ID'
    });

    const SG_B: ISecurityGroup = ec2.SecurityGroup.fromLookupByName(
        this,
        'SG-B',
        'SG-B_ID,
        vpcB
    );

这是 CodePipeline 中的合成步骤

            synthCodeBuildDefaults: {
            rolePolicy: [
                new PolicyStatement({
                    actions: ["sts:AssumeRole"],
                    effect: Effect.ALLOW,
                    resources: [
                        'lookup_role_arn_for_account_a
                    ],
                }),
            ]
        }

感谢任何帮助

我认为你做不到。我对您的建议是在 AccountB 上创建另一个堆栈并在那里做任何您想做的事情,与 AccountA 堆栈分开。

他们的回购甚至有一个关于这个的问题:

https://github.com/aws/aws-cdk/issues/12754#issuecomment-769786855