amazon-web-services - 如何使用 aws-cdk 在 EC2 和 RDS 之间创建 DependsOn 关系
问题描述
我目前正在使用aws-cdk (TypeScript) 创建一个由EC2实例和RDS数据库实例组成的堆栈。
需要先设置RDS实例,然后才能启动EC2实例并执行 userdata。
我遇到的问题是,我找不到DepensOn
在两个资源之间定义 (Cloudformation) 属性的方法。
解决方法是,我正在使用 netsted 堆栈。
代码看起来像这样:
const instance = new ec2.Instance(this, 'Instance', {...})
const rdsInstance = new rds.DatabaseInstance(this, 'DbInstance', {...})
现在我想定义类似instance.dependsOn(rdsInstance)
.
有人遇到同样的问题吗?
解决方案
这里的解决方案是在addDependency()
上使用node
,这将为您处理所有必要的 CloudFormation DependsOn
:
const instance = new ec2.Instance(this, 'Instance', {...});
const rdsInstance = new rds.DatabaseInstance(this, 'DbInstance', {...});
rdsInstance.node.addDependency(instance);
来自 JSDoc addDependency()
:添加对另一个 Construct 的排序依赖。依赖项范围内的所有构造都将在此构造范围内的任何构造之前部署。
推荐阅读
- javascript - 更新间隔内的第一个 d3 转换未转换
- css - 在树枝中包含 CSS 文件的内容
- javascript - 隐藏元素而不使用 display:none 或 visibility:hidden
- python - 获取具有最低值的系列
- javascript - ReactJS - 如何使用 localeStorage 创建后备语言函数
- python - 从文件中读取时出现 Pandas Key 错误?
- javascript - Javascript 按对象数组分组(复杂对象)
- python - 如何使用函数调用内部/嵌套类
- delphi - dcc32 输出截断文件路径超过 128 个字符
- svg - feColorMatrix 反转颜色在哪里出错了?