【问题标题】:Populate RDS on creation在创建时填充 RDS
【发布时间】:2020-10-07 09:55:22
【问题描述】:

目前正在为多个不同的 AWS 账户为每个账户创建一个 RDS。我为此使用 Cloudformation 脚本。 在创建这些数据库时,我希望它们具有类似的结构。我创建了一个可以在脚本运行后手动成功运行的 SQL。但是,我想在运行脚本时自动执行它。

到目前为止,我的解决方案是创建一个依赖于 RDS 的 EC2 实例运行一次,然后稍后手动删除它,但这不是一个合适的解决方案。我找不到其他方法了吗?

是否可以将查询作为 cloudformation 脚本的一部分运行? 仅供参考:我正在创建一个 11.5 Postgres 实例。

【问题讨论】:

    标签: amazon-cloudformation amazon-rds


    【解决方案1】:

    正确的方法是使用custom resources

    但这需要一些新的发展。但是,如果您已经拥有从其 UserData 填充 rds 的 EC2 实例,您可以按如下方式自动终止其

    1. InstanceInitiatedShutdownBehavior 设置为termiante
    2. 在 UserData 结束时执行 shutdown -h now 以关闭实例。

    由于您的关闭行为是terminate,实例将自动终止

    【讨论】:

    • 再次感谢 Marcin。我将检查自定义资源。我不介意一点点开发工作,只要我能将大部分工作自动化即可。
    • 还有其他使用 FARGATE 的方法吗?您提供的解决方案可能有效,但在我的情况下有点麻烦。根据您的最后一个答案,我已经使用计划的操作启动并运行了 FARGATE 任务。真的在寻找一种只运行一次的方法。
    • @Ludo21South 你是什么意思fargate?在您的问题中没有提到使用 Fargate?
    • 我的意思是,比起使用 EC2 实例,我更容易运行 FARGATE 任务。我已经在 docker 映像中进行了配置参数化。我相信非常接近这个解决方案。
    • @Ludo21South 是的,如果它比 ec2 实例更容易,那为什么不呢。
    猜你喜欢
    • 2017-10-03
    • 1970-01-01
    • 2014-06-29
    • 1970-01-01
    • 1970-01-01
    • 2022-11-25
    • 1970-01-01
    • 1970-01-01
    • 2021-02-21
    相关资源
    最近更新 更多