Переменная среды Fargate redis.yaml - PullRequest
0 голосов
/ 18 июня 2019

У меня есть микросервис, и мне нужно передать файл redis.yaml для настройки Elasticache для Redis.

Предположим, у меня есть файл с именем redis.yaml с содержанием:

clusterServersConfig:
  idleConnectionTimeout: 10000
  pingTimeout: 1000
  connectTimeout: 10000
  timeout: 60000
  retryAttempts: 3
  retryInterval: 60000

И мой application.properties Я использую:

redis.config.location=file:/opt/usr/conf/redis.yaml

В Kubernetes я могу просто создать секрет с помощью --from-file redis.yaml, и приложение работает правильно.

Я не знаю, как сделать то же самое с AWS Fargate. Я полагаю, что это можно сделать с помощью AWS SSM, но любая помощь / шаги, касающиеся того, как это сделать, приветствуются.

1 Ответ

0 голосов
/ 19 июня 2019

Для внешней конфигурации Fargate поддерживает переменные среды. Переменные среды могут быть переданы в определении задачи.

        "environment": [
            { "name": "env_name1", "value": "value1" },
            { "name": "env_name2", "value": "value2" }
        ]

Если это конфиденциальная информация, сохраните ее в хранилище параметров AWS SSM (вы можете использовать KMS) и укажите ключ параметра в определении задачи.

{
  "containerDefinitions": [{
    "secrets": [{
      "name": "environment_variable_name",
      "valueFrom": "arn:aws:ssm:region:aws_account_id:parameter/parameter_name"
    }]
  }]
}

В вашем случае вы можете преобразовать ваш yaml в JSON и сохранить его в хранилище параметров и сослаться на него в определении задачи.

https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html

...