簡體   English   中英

如何使用 aws-cdk 在 EC2 和 RDS 之間創建 DependsOn 關系

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM