파라미터 스토어란?
AWS Systems Manager Parameter Store는 Amazon Web Services(AWS)에서 제공하는 서비스로, 애플리케이션의 구성 데이터 및 비밀을 안전하게 저장하고 관리하는 데 도움이 된다. 이 정보를 중앙에서 관리하고 액세스할 수 있으므로 애플리케이션 구성을 보다 쉽게 유지 관리하고 업데이트할 수 있다.
Parameter Store를 사용하면 키-값 쌍을 매개변수로 저장할 수 있는데, 여기서 값은 단순한 문자열이거나 암호화된 암호와 같은 보다 복잡한 데이터 유형일 수 있다. 이러한 매개변수는 경로와 같은 구조로 계층적으로 구성할 수 있으므로 대규모 매개변수 세트를 구성하고 관리하는 것이 편리.
Parameter Store는 안전한 저장 및 액세스 제어를 위한 기능도 제공한다. AWS Key Management Service(KMS)를 사용하여 민감한 파라미터를 암호화하고 세분화된 액세스 정책을 정의하여 파라미터를 검색하거나 수정할 수 있는 사람을 제어가 가능하다.
1. 계층적 데이터 저장
• Parameter Store는 계층적 구조를 지원하여 데이터를 체계적으로 관리할 수 있도록 돕는다. 예를 들어, /prod/database/username 또는 /dev/api/key와 같은 경로를 사용해 환경별로 데이터를 분리하고 관리할 수 있다.
2. 보안 관리
• 민감한 데이터(예: API 키, 데이터베이스 비밀번호)는 AWS Key Management Service(KMS)를 사용해 암호화할 수 있다.
• 세분화된 IAM 정책을 통해 누가 어떤 파라미터에 접근할 수 있는지를 제어할 수 있다.
3. 다양한 데이터 형식 지원
• Parameter Store는 단순 문자열, SecureString(암호화된 문자열), StringList(쉼표로 구분된 문자열 목록)와 같은 다양한 데이터 유형을 지원한다.
• 애플리케이션의 요구 사항에 따라 적합한 데이터 유형을 선택할 수 있다.
4. 통합 및 자동화
• AWS Lambda, EC2, ECS와 같은 서비스와 통합하여 애플리케이션에서 파라미터를 동적으로 가져올 수 있다.
• AWS Systems Manager Run Command나 State Manager와 통합해 파라미터를 자동으로 배포하거나 관리할 수 있다.
5. 버전 관리
• Parameter Store는 각 파라미터에 대해 버전 관리를 제공한다. 이전 버전으로 쉽게 롤백하거나 변경 내역을 추적할 수 있다.
1. 파라미터 생성
• AWS Management Console, AWS CLI, 또는 SDK를 사용해 새로운 파라미터를 생성한다.
• KMS 키를 사용하여 데이터를 암호화하려면 SecureString 유형을 선택한다.
2. 파라미터 검색
• 애플리케이션에서 AWS SDK 또는 CLI를 사용하여 필요한 파라미터를 검색한다.
• 예: aws ssm get-parameter --name "/prod/database/username" --with-decryption
3. IAM 정책 설정
• 파라미터에 접근할 수 있는 사용자를 제한하는 IAM 정책을 설정한다.
• 예: 특정 사용자나 서비스에만 특정 경로의 파라미터 접근 권한을 부여한다.