CloudFormation에서 ECS로 SSM에서 기밀 정보를 전달합니다.

정보 소스



조금 전의 릴리스입니다만 1년 지나지 않으므로 일단 어떤 업데이트인가 써 둡니다

CloudFormation 릴리스 목록 2019/6/13 릴리스 기능

AWS::ECS::TaskDefinition
ContainerDefinition 속성 유형에는 다음 속성을 사용할 수 있습니다.
- Secrets 속성을 사용하여 컨테이너에 전달할 비밀을 지정합니다.
Tags 속성을 사용하여 메타데이터를 분류하고 정리할 수 있도록 작업 정의에 적용합니다.

What's new?



ECS의 태스크 정의에서 Secrets Manager secret 또는 SSM Parameter Store에서 기밀 정보를 검색하는 방법 업데이트

Before



JSON 및 웹 콘솔에서만 구성 가능했습니다.

After



CloudFormation에서도 설정할 수 있게 되었다

↓즉

클러스터 및 서비스 정의뿐만 아니라 작업 정의를 포함하여 CloudFormation에서 완료

\ 기쁘다/

How



해당 부분만 빼내면 이런 느낌

sample1.yml
Resources:
  taskDefinition:
    Properties:
      ContainerDefinitions:
          Secrets:
            - Name: HOGE
              ValueFrom: hoge


태스크 정의 전체라면 이런 느낌

sample2.yml
AWSTemplateFormatVersion: 2010-09-09
Parameters:
  

Resources:
  TaskDefinition:
    Type: AWS::ECS::TaskDefinition
    Properties:
      RequiresCompatibilities:
        - FARGATE
      Cpu: 256
      Memory: 512
      ExecutionRoleArn: ecsTaskExecutionRole
      Family: !Ref TaskFamilyName
      NetworkMode: awsvpc
      ContainerDefinitions:
        - Name: !Ref TaskFamilyName
          Image: !Sub ${AWS::AccountId}.dkr.ecr.ap-northeast-1.amazonaws.com/hoge
          Command: !Ref TaskCommand
          MemoryReservation: 128
          ReadonlyRootFilesystem: true
          Secrets:
            - Name: SECURE_TEST_STRING
              ValueFrom: secure_test_string
          LogConfiguration:
            LogDriver: awslogs
            Options:
              awslogs-group: !Ref TaskLogsGroup
              awslogs-region: ap-northeast-1
              awslogs-stream-prefix: ecs

Try



SSM 매개 변수 저장소에 secure_test_string와 해당 값을 등록합니다.


그리고 예를 들어 ECS에서 실행하는 python 코드에 이런 식으로 쓰면 값을받을 수 있습니다.

sample3.py
from logging import getLogger
from os import environ as env

logger = getLogger(__name__)

logger.info('hoge / ' + env['SECURE_TEST_STRING'])

배포하고 실행한 결과↓


잡혀 있습니다

FYI



htps : // 아 ws. 아마존. 이 m / jp / b ぉ gs / 네 ws / Sekurin g-c Redenchia ls - Using g-a ws-sc ts-manage r-u-th-a ws-fur /
htps : // / cs. 아 ws. 아마존. 이 m / 아 WSC ぉ d ぉ r 마치 온 / ㅁ st / 우세 r 굉장히 / 아 wsp 로페 치에 s에 cs - sk로 푹 찢어 c t. HTML

좋은 웹페이지 즐겨찾기