Amazon ECS에서 Systems Manager Parameter Store 비밀을 프로그래밍 방식으로 전달
Amazon ECS에서 Systems Manager Parameter Store 비밀을 프로그래밍 방식으로 전달
Systems Manager Parameter Store는 비밀의 안전한 저장과 관리를 제공합니다. 이 글에서는 애플리케이션에 하드코딩하는 대신 Parameter Store 파라미터로 민감한 데이터를 저장하고 검색하는 방법을 알아봅니다.
출처: 문서
본문
Systems Manager Parameter Store는 비밀의 안전한 저장과 관리를 제공합니다. 비밀번호, 데이터베이스 문자열, EC2 인스턴스 ID와 AMI ID, 라이선스 코드 같은 데이터를 애플리케이션에 하드코딩하는 대신 파라미터 값으로 저장할 수 있어요. 값을 일반 텍스트(plain text) 또는 암호화된 데이터로 저장할 수 있습니다.
민감한 데이터를 검색하는 이 방법을 권장하는 이유는 Systems Manager Parameter Store 파라미터가 이후에 업데이트되면 애플리케이션이 자동으로 최신 버전을 검색하기 때문입니다. Systems Manager Parameter Store에 민감한 데이터를 보호하기 전에 다음 고려 사항을 검토하세요.
- 텍스트 데이터를 저장하는 비밀만 지원됩니다. 바이너리 데이터를 저장하는 비밀은 지원되지 않습니다.
- 보안 제어를 강화하려면 인터페이스 VPC 엔드포인트를 사용하세요.
- 태스크가 사용하는 VPC는 DNS 확인(DNS resolution)을 사용해야 합니다.
- EC2를 사용하는 태스크의 경우 이 기능을 사용하려면 Amazon ECS 에이전트 구성 변수
ECS_ENABLE_AWSLOGS_EXECUTIONROLE_OVERRIDE=true를 사용해야 합니다. 컨테이너 인스턴스 생성 중에/etc/ecs/ecs.config파일에 추가하거나, 기존 인스턴스에 추가한 다음 ECS 에이전트를 다시 시작할 수 있어요. 자세한 내용은 Amazon ECS 컨테이너 에이전트 구성 문서를 참고하세요. - 태스크 정의는 Systems Manager Parameter Store에 대한 추가 권한이 있는 태스크 역할(task role)을 사용해야 합니다. 자세한 내용은 Amazon ECS 태스크 IAM 역할 문서를 참고하세요.
파라미터 생성 (Create the parameter)
Systems Manager 콘솔을 사용해 민감한 데이터에 대한 Systems Manager Parameter Store 파라미터를 만들 수 있습니다. 자세한 내용은 AWS Systems Manager 사용자 가이드의 Systems Manager 파라미터 생성(콘솔) 또는 Systems Manager 파라미터 생성(AWS CLI) 문서를 참고하세요.
애플리케이션 업데이트 (Update your application)
Systems Manager Parameter Store 파라미터에 저장된 민감한 데이터를 프로그래밍 방식으로 검색하려면 AWS SDK Code Examples Code Library의 AWS SDK를 사용한 Systems Manager 코드 예제를 참고하세요.
더 알아보기 (Learn more)
- Parameter Store 비밀을 사용한 태스크 정의 구성에 대한 자세한 내용은 AWS 개발자 가이드의 관련 문서를 참고하세요.