适用于AWS Aurora DB /嵌入式MySQL的Flyway和JOOQ

时间:2017-06-12 11:41:11

标签: maven amazon-web-services flyway jooq serverless-framework

我要问的问题可能更多的是'概念验证' 区域,所以我完全希望找到它&#39 ;不可能达到我想要的目的。

背景

  1. 我使用AWS Aurora部署了Serverless Framework数据库群集。群集连接详细信息存储如下:
    • 端点网址 - 在AWS Parameter Store中存储为字符串,并存在于CloudFormation输出中。
    • 主密码 - 在无服务器部署期间随机生成,并作为SecureString存储在AWS参数存储中;仅由给定的lambdas解密(换句话说 - 没有人知道密码)
    • 主用户名 - 硬编码,不会更改
  2. 无服务器构建调用Flyway迁移脚本来创建Aurora数据库架构。这是使用AWS lambda支持的自定义资源完成的,因此它可以访问SSM(参数存储)来初始化数据库连接。
  3. 我想要实现的目标:

    使用上面给定的Aurora DB(基于MySQL)调用JOOQ代码生成的Maven构建。

    我尝试过的事情以及我遇到的问题:

    • 在无服务器部署期间,为Aurora数据库创建只读用户。登录详细信息也可以硬编码。但是,在此阶段,Maven构建不了解群集端点URL。
    • 在Maven构建期间嵌入了MySQL数据库。将Flyway迁移复制到此嵌入式数据库。然而,我所有尝试整合Flyway&由于连接问题,JOOQ到嵌入式MySQL数据库失败。此外,当我将构建过程集成到CI管道时,这种方法会更加复杂。
    • 我正在考虑在Maven构建期间调用AWS Lambda。它必须返回包含JOOQ生成代码的打包JAR,并将JAR添加到源。 Haven没有尝试过,因为它似乎需要过多的开销。

    我对此设计的另一个担忧 - 目前Aurora集群在安全组上运行,允许从任何地方进入(出于调试目的)。但是,这将更改为仅访问来自其自己的组的入口,该入口将限制仅共享同一安全组的lambda的访问。

    有没有人试图取得类似的成就?你对我的方法有什么建议吗?

0 个答案:

没有答案