[英]How can I create a DependsOn relation between EC2 and RDS using aws-cdk
我目前正在使用 aws-cdk (typescript) 創建一個由 EC2 實例和 RDS databaseInstance 組成的堆棧。 需要先設置 RDS 實例,然后才能啟動 EC2 實例並執行 userdata。
我遇到的問題是,我找不到在兩個資源之間定義 DepensOn (Cloudformation) 屬性的方法。 解決方法是,我正在使用 netsted 堆棧。
代碼看起來像這樣:
const instance = new ec2.Instance(this, 'Instance', {...})
const rdsInstance = new rds.DatabaseInstance(this, 'DbInstance', {...})
現在我想定義類似instance.dependsOn(rdsInstance)的東西。
有人遇到同樣的問題嗎?
謝謝,菲利克斯
這里的解決方案是在node
上使用addDependency()
,這將為您處理所有必要的 CloudFormation DependsOn
:
const instance = new ec2.Instance(this, 'Instance', {...});
const rdsInstance = new rds.DatabaseInstance(this, 'DbInstance', {...});
rdsInstance.node.addDependency(instance);
來自addDependency()
的 JSDoc:添加對另一個 Construct 的排序依賴。 依賴項的 scope 中的所有構造都將在此構造的 scope 中的任何構造之前部署。
希望以下內容對您有所幫助。
const instance = new ec2.Instance(this, 'Instance', { /* ... */ }).getInstance();
const rdsInstance = new rds.DatabaseInstance(this, 'DbInstance', { /* ... */ }).getInstance();
instance.addDependsOn(rdsInstance);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.