Amazon web services 如何跨帐户使用AWS CDK创建VpcEndpointService和InterfaceVpcEndpoint?
我想在帐户a中创建一个Amazon web services 如何跨帐户使用AWS CDK创建VpcEndpointService和InterfaceVpcEndpoint?,amazon-web-services,amazon-ec2,amazon-vpc,aws-cdk,Amazon Web Services,Amazon Ec2,Amazon Vpc,Aws Cdk,我想在帐户a中创建一个VpcEndpointService,它将在那里的专有网络中提供服务。我希望在帐户B中有一个InterfaceVpcEndpoint(或CfnVPCEndpoint,如有必要),它将连接到端点服务。我认为这应该允许在帐户B的VPC中运行的服务连接到帐户A中运行的服务,而不需要通过internet进行通信。(我不能使用VPC对等,因为VPC有重叠的CIDR) 在账户A中: export class StackA extends Stack { public reado
VpcEndpointService
,它将在那里的专有网络中提供服务。我希望在帐户B中有一个InterfaceVpcEndpoint
(或CfnVPCEndpoint
,如有必要),它将连接到端点服务。我认为这应该允许在帐户B的VPC中运行的服务连接到帐户A中运行的服务,而不需要通过internet进行通信。(我不能使用VPC对等,因为VPC有重叠的CIDR)
在账户A中:
export class StackA extends Stack {
public readonly vpcEndpointService: VpcEndpointService;
...
this.vpcEndpointService = new VpcEndpointService(this, 'MyEndpoint', {...});
在账户B中:
export interface StackBConfig {
vpcEndpointService: VpcEndpointService;
}
new InterfaceVpcEndpoint(this, 'VPCEndpoint', {
service: new InterfaceVpcEndpointService(config.vpcEndpointService.vpcEndpointServiceName),
...
});
但是,当我尝试合成时,会收到以下错误消息:
错误:堆栈“StackB”无法使用来自堆栈的交叉引用
“斯塔卡”。只有堆栈支持跨堆栈引用
部署到同一环境或嵌套堆栈及其
父堆栈
如何使用CDK创建VPC服务及其使用端点?我需要能够从第二个帐户中引用VPCEndpointService(或服务名称),但我不知道如何做到这一点。我没有答案,但我只想说我现在遇到了同样的问题。我遇到了类似的情况,我只能从堆栈(应用程序)A导出VPCEndpointService名称,但VPCEndpoint需要整个对象,而不仅仅是名称