Есть ли способ прочитать безопасные переменные хранилища параметров в разделах среды ECS JSON на основе FARGATE?

Я настраиваю ECS Services для запуска моего приложения, которое обращается к серверу RDS Database. Мне нужно передать свойства доступа к базе данных, такие как имя пользователя, пароль, имя базы данных и т. Д., К кодам приложения, запущенным в экземплярах FARGATE. Поэтому, чтобы передать их, я создал эти параметры в хранилище параметров, но мне нужно найти способ получить их из хранилища параметров и передать их в свойства задачи env?

В определениях Задачи ECS я попытался изменить свойство среды файла JSON с помощью таких параметров, как "name:" и "valueFrom", но кажется, что "valueFrom:" не принимается в файле JSON, он выскакивает ошибка "Не удается прочитать свойство" заменить "неопределенного"

        "environment": [
            {
                "name": "POSTGRES_DB",
                "valueFrom": "PROD_POSTGRES_DB"
            }
        ],

Я ожидаю, что параметр POSTGRES_DB считывает значения из PROD_POSTGRES_DB, определенные в хранилище параметров AWS

1 ответ

Решение

При использовании хранилища параметров SSM в определении задач ECS для valueFrom переменные среды, он создает отдельные secrets раздел под контейнером Определения. Итак, это будет выглядеть ниже.

"containerDefinitions": [
    {
        "secrets": [
            {
                "name": "POSTGRES_DB",
                "valueFrom": "PROD_POSTGRES_DB"
            }
        ],
        "environment": [
            {
                "valueFrom": "myKey",
                "name": "myValue"
            }
        ],
    }
]

Для нормального value переменные среды, это будет обычно environment массив JSON.

Заметка -

  1. При использовании хранилища параметров SSM необходимо убедиться, что у роли выполнения задач есть необходимые разрешения SSM, связанные с ролью. Ссылка - https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html
  2. Кроме того, попробуйте предоставить полный параметр ARN SSM, если ваш регион ECS отличается от региона SSM.
Другие вопросы по тегам