[英]AWS-CDK: Passing cross-stack references props between multi region (cross-region) stacks in AWS- CDK
我必須部署一個堆棧,我們稱它為一個區域的父堆棧 他們需要在另一個區域部署第二個堆棧(子堆棧)。 第二個堆棧(子堆棧)的區域不能包括部署父級的區域。 第二個堆棧可以部署在多個區域中。
但是,第二個堆棧需要來自第一個堆棧的道具。 具體來說,它需要一個 ARN 值。 默認區域是us-east-1
。 這就是父堆棧將被部署的地方。
為了解決這個問題,我嘗試了以下
1-第一次嘗試:
cfnOutput
我使用cdk.Fn.ImportValue()
捕獲值2-第二次嘗試:
來自 lib/mystack 文件
export interface myStackProps extends cdk.StackProps {
principalKeyArn: string
}
來自 bin/myapp 文件
const app = new cdk.App();
const regions = ["us-east-2"]
const primaryMRKey = new KmsMultiregionPrincipalKey(app, 'KmsMultiregionKeyStack')
for (let region of regions){
const envToDeploy = {region: region, account: "123456789123"}
new KmsReplicaKey(app, 'KmsReplicaKey-' + region, {env: envToDeploy, principalKeyArn: primaryMRKey.principalKeyArn } )
}
結果:僅部署到同一環境或嵌套堆棧與其父堆棧之間的堆棧支持跨堆棧引用
問題:
提前致謝
將 Parameter Store 值與CustomResource一起使用。
這個答案有一個完整的 Typescript CDK 跨區域參考示例。
(我最初將此作為評論發布,因為我認為這個問題可能是重復的。但經過反思,我發現鏈接的問題和標簽只提到 CloudFormation,而不是 CDK。似乎社區從保持這個問題的活力中獲得了最大的好處)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.