[英]AWS CDK: How to access VPC in another account
我需要從我的“工具”賬戶訪問我的暫存/生產賬戶的 VPC 中的資源(我在兩個 VPC 中都有一個 RDS 實例,並且希望將架構升級自動化作為我的 CI/CD 的一部分)。
如何從“工具”賬戶的堆棧中的暫存/生產賬戶導入 VPC?
Vpc.fromLookup()
不起作用,因為它在堆棧的區域和帳戶中搜索 VPC,但不在其他區域/帳戶中搜索。
編輯:
我想在“工具”帳戶中授予 CodeBuild 項目(CodePipeline 的一部分)對生產/登台帳戶的 VPC 中的 RDS 實例的訪問權限。 為了授予它訪問權限,我在 CodeBuild 項目中使用了vpc
屬性。
我不確定使用 CodePipeline/CodeBuild 解決架構升級的最佳方法是什么。 理想情況下,RDS 實例應該位於私有/隔離子網中。
const dbMigrateBuild = new codebuild.PipelineProject(this, 'MigrateBuild', {
buildSpec: codebuild.BuildSpec.fromSourceFilename('buildspec-migrate.yml'),
environment: {
buildImage: codebuild.LinuxBuildImage.STANDARD_4_0,
},
environmentVariables: {
migrationBucketId: {
type: codebuild.BuildEnvironmentVariableType.PLAINTEXT,
value: sourceOutput.bucketName,
},
dbEndpoint: {
type: codebuild.BuildEnvironmentVariableType.PLAINTEXT,
value: dbEndpoint,
},
dbSecretId: {
type: codebuild.BuildEnvironmentVariableType.PLAINTEXT,
value: dbSecretId,
},
},
vpc: ec2.Vpc.fromLookup(this, 'Vpc', { vpcId }), // <-- this is not working
});
// dbMigrateBuild.connections.allowToDefaultPort(db); // how to grant permission ??
const dbMigrateAction = new codepipeline_actions.CodeBuildAction({
actionName: 'Db_Migrate',
project: dbMigrateBuild,
input: sourceOutput,
runOrder: 130,
});
為此,您需要執行以下操作之一:
這必須在運行 cdk 命令之前使用 sts assume-role命令執行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.