AWS 秘密管理器密码轮换无需重新启动 Spring 启动应用程序

时间:2021-06-09 08:13:38

标签: java amazon-web-services spring-boot amazon-ec2 aws-secrets-manager

要求

将数据库凭证从 Java 代码(属性文件)移除到 AWS SM。

实现数据库凭据的自动轮换。

问题陈述

虽然我们能够从我们的应用程序中检索来自 AWS SM 的数据库凭证,但我们在密码自动轮换期间面临以下问题:

Java 代码如何识别数据库密码由 AWS SM 轮换

从 AWS SM 自动轮换密码后,所有应用程序实例都应使用新的数据库凭证进行更新。

建议的解决方案

解决方案 1

<块引用>

每当密码轮换时,java应用程序将无法 连接到数据库。

这时候我们会得到SQL Connection异常(Connection lost 例外)在我们的应用程序中。

Java 应用程序将捕获异常,然后添加一个机制到 再次从 AWS SM 检索数据库机密。

使用更新的凭据设置新的数据库连接。

将针对应用程序的所有实例执行第 3 步和第 4 步

解决方案 2

<块引用>

我们可以调用refresh方法并建立新的数据库连接 自动避免 SQL 连接异常。

有没有没有任何数据库连接问题的方法?我们可以使用 aws SM 轮换数据库密码

0 个答案:

没有答案