gpt4 book ai didi

amazon-web-services - 如何使用 AWS ECS 从 Parameter Store 获取数据库 key

转载 作者:行者123 更新时间:2023-12-02 20:44:05 38 4
gpt4 key购买 nike

我正在使用 ECS 让 Spring Boot 微服务在 AWS 中运行。我们希望该服务从 Secrets Manager 或 Parameter Store 检索数据库用户名和密码值。我们正在使用所有 AWS 服务(CodeCommit、CodeBuild、CodeDeploy 等)

从 Parameter Store 读取这些值并将它们放入 application.properties 的最佳方法是什么?我们的微服务?

我试过关注 this guide on retrieving secrets .我能够阅读这些 secret ,但只能作为系统属性阅读,我无法确定如何将它们放入 application.properties。文件。

这是taskdef.json

{
"executionRoleArn": "arn:aws:iam::ACCOUNT_ID:role/profile-service",
"containerDefinitions": [
{
"name": "profile-service",
"image": "<IMAGE1_NAME>",
"essential": true,
"environment": [
{
"name": "SPRING_PROFILES_ACTIVE",
"value": "dev"
}
],
"portMappings": [
{
"protocol": "tcp",
"containerPort": 8080
}
],
"secrets": [
{
"valueFrom": "arn:aws:secretsmanager:us-east-1:ACCOUNT_ID:secret:PROJECT/dev/rds-Y3B26E",
"name": "rdsmasterusername"
}
],
....
}

这是我用来测试的 Spring 的主文件。它正确地打印了我只是不确定将它们放入属性的最佳方法的 secret 。
public static void main(String[] args) {
String test1 = System.getenv("rdsmasterusername");
System.out.println(test1); // Correctly prints the RDS username

SpringApplication.run(Startup.class, args);
}

注意:目前,当我检索 secret 时,它给了我某种同时具有用户名和密码的对象。我不知道如何在java中解析。

感谢您的任何帮助!

最佳答案

最后的说法不清楚。是否 rdsmasterusername包含用户名或密码还是仅包含用户名?我猜它在 JSON 字符串中包含用户名和密码 - 根据您的最后一条注释。

如果您不想处理解析 JSON 字符串或创建稍后将被继承的新环境变量,您可以将用户名和密码存储在两个不同的 secret 中,将它们注入(inject)您的 taskdef 文件,然后将它们设置在您的 application.properties 中。 https://stackoverflow.com/a/35535138 中描述的文件.

关于amazon-web-services - 如何使用 AWS ECS 从 Parameter Store 获取数据库 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58330317/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com