Как ввести значение из хранилища параметров AWS через CloudFormation в ECS ContainerDefinitions - PullRequest
1 голос
/ 13 июля 2020

Я создаю код формирования облака для построения кластера ECS. Где мне нужно получить некоторые значения из хранилища параметров AWS. Я не нашел ни одного примера кода для этого. Похоже, что 'ValueFrom' в cloudFormation не поддерживает !!

Кто-нибудь может подтвердить?

Далее я пытаюсь использовать:

  ContainerDefinitions:
    - Name: !Ref ServiceName
      Image: !Ref Image
      PortMappings:
        - ContainerPort: !Ref ContainerPort
      Environment:
      - Name: DB_HOST
        Value: arn:aws:ssm:us-east-2:111111111111:parameter/dev/rds/DB_HOST
      - Name: DB_PASSWORD
        Value: arn:aws:ssm:us-east-2:111111111111:parameter/dev/rds/DB_PASSWORD
      - Name: DB_PORT
        Value: 5432

В приведенном выше случае , Коды CloudFormation выполняются без ошибок, но DB_HOST и DB_PASSWORD обрабатываются как простой / прямой текст, не принимающий хранилище параметров формы, проверьте выделенный снимок экрана:

enter image description here

So it only works for DB_PORT and doesn't work for DB_HOST and DB_PASSWORD until I manually change 'value' (highlighted in the screenshot) to 'valueFrom' like below picture:

введите описание изображения здесь

В основном я бы хотел использовать опцию 'valueFrom' через CloudFormation !!

Я также пробовал:

     Environment:
      - Name: DB_HOST
        ValueFrom: arn:aws:ssm:us-east-2:111111111111:parameter/dev/rds/DB_HOST

Но это не поддерживается формированием облака и выдают ошибку !!

1 Ответ

2 голосов
/ 13 июля 2020

Нельзя использовать для этого Environment. Вместо этого есть специальный раздел под названием Секреты .

Используя этот раздел, вы можете передавать свои секреты контейнерам. Например:

  Secrets:
      - Name: DB_HOST
        ValueFrom: arn:aws:ssm:us-east-2:111111111111:parameter/dev/rds/DB_HOST
...