从用户数据中检索 RDS 端点

Retrieving an RDS endpoint from within USER DATA

我有一个 MySQL RDS 实例和一个包含 Grails 应用程序的 AMI。我想使用 User Data 函数将 RDS 端点填充到 Grails application.yml 文件中。如何从用户数据中检索 RDS 端点?

有两种使用用户数据的方式:

  • 就像数据一样:用户数据的内容可以通过http://169.254.169.254/latest/user-data/访问,所以你的应用程序可以只解析内容并用它做你想做的事。
  • 作为可执行脚本: 在 Linux 上,使用 #! 启动用户数据将导致它被执行,因此您可以编写一个脚本来更新 application.yml 文件。

另一个概念是将 RDS 端点存储在 AWS Systems Manager Parameter Store 中。然后,使用用户数据脚本从那里提取它并将其存储在 application.yml 中。这样,无需修改任何脚本即可在 Parameter Store 中轻松更新端点。

在 Linux AMI 上运行时,用户数据只不过是 shell 脚本。 您可以使用 shell 脚本编辑 appication.yml 文件并添加参数。