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
我在两个不同的账户(账户 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