如何使用 aws-cdk 在 EC2 和 RDS 之间创建 DependsOn 关系
How can I create a DependsOn relation between EC2 and RDS using aws-cdk
我目前正在使用 aws-cdk (TypeScript) 创建一个由 EC2 实例和 RDS 数据库实例。
需要先设置 RDS 实例,然后才能启动 EC2 实例并执行用户数据。
我遇到的问题是,我找不到在两个资源之间定义 DepensOn
(Cloudformation) 属性的方法。
解决方法是,我正在使用 netsted 堆栈。
代码看起来像这样:
const instance = new ec2.Instance(this, 'Instance', {...})
const rdsInstance = new rds.DatabaseInstance(this, 'DbInstance', {...})
现在我想定义类似 instance.dependsOn(rdsInstance)
.
的东西
有人 运行 遇到同样的问题吗?
希望以下内容对您有所帮助。
const instance = new ec2.Instance(this, 'Instance', { /* ... */ }).getInstance();
const rdsInstance = new rds.DatabaseInstance(this, 'DbInstance', { /* ... */ }).getInstance();
instance.addDependsOn(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 的排序依赖。依赖范围内的所有构造将在此构造范围内的任何构造之前部署。
我目前正在使用 aws-cdk (TypeScript) 创建一个由 EC2 实例和 RDS 数据库实例。
需要先设置 RDS 实例,然后才能启动 EC2 实例并执行用户数据。
我遇到的问题是,我找不到在两个资源之间定义 DepensOn
(Cloudformation) 属性的方法。
解决方法是,我正在使用 netsted 堆栈。
代码看起来像这样:
const instance = new ec2.Instance(this, 'Instance', {...})
const rdsInstance = new rds.DatabaseInstance(this, 'DbInstance', {...})
现在我想定义类似 instance.dependsOn(rdsInstance)
.
有人 运行 遇到同样的问题吗?
希望以下内容对您有所帮助。
const instance = new ec2.Instance(this, 'Instance', { /* ... */ }).getInstance();
const rdsInstance = new rds.DatabaseInstance(this, 'DbInstance', { /* ... */ }).getInstance();
instance.addDependsOn(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 的排序依赖。依赖范围内的所有构造将在此构造范围内的任何构造之前部署。