CloudFormation에서 ECS로 SSM에서 기밀 정보를 전달합니다.
6437 단어 파이썬SSMECSCloudFormationAWS
정보 소스
조금 전의 릴리스입니다만 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.ymlResources:
taskDefinition:
Properties:
ContainerDefinitions:
Secrets:
- Name: HOGE
ValueFrom: hoge
태스크 정의 전체라면 이런 느낌
sample2.ymlAWSTemplateFormatVersion: 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.pyfrom 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
Reference
이 문제에 관하여(CloudFormation에서 ECS로 SSM에서 기밀 정보를 전달합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sara_ohtani_mt2/items/9e486404cd21f86e66aa
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
ECS의 태스크 정의에서 Secrets Manager secret 또는 SSM Parameter Store에서 기밀 정보를 검색하는 방법 업데이트
Before
JSON 및 웹 콘솔에서만 구성 가능했습니다.
After
CloudFormation에서도 설정할 수 있게 되었다
↓즉
클러스터 및 서비스 정의뿐만 아니라 작업 정의를 포함하여 CloudFormation에서 완료
\ 기쁘다/
How
해당 부분만 빼내면 이런 느낌
sample1.ymlResources:
taskDefinition:
Properties:
ContainerDefinitions:
Secrets:
- Name: HOGE
ValueFrom: hoge
태스크 정의 전체라면 이런 느낌
sample2.ymlAWSTemplateFormatVersion: 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.pyfrom 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
Reference
이 문제에 관하여(CloudFormation에서 ECS로 SSM에서 기밀 정보를 전달합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sara_ohtani_mt2/items/9e486404cd21f86e66aa
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Resources:
taskDefinition:
Properties:
ContainerDefinitions:
Secrets:
- Name: HOGE
ValueFrom: hoge
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
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
Reference
이 문제에 관하여(CloudFormation에서 ECS로 SSM에서 기밀 정보를 전달합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sara_ohtani_mt2/items/9e486404cd21f86e66aa
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(CloudFormation에서 ECS로 SSM에서 기밀 정보를 전달합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sara_ohtani_mt2/items/9e486404cd21f86e66aa텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)