AWS Systems Manager Parameter Store
Parameter Store는 파라미터라고 하는 명명된 값에 대한 중앙 집중식 구성 데이터 저장소입니다. 파라미터는 텍스트 블록, 이름 목록, AMI ID, 라이선스 키 등과 같이 Parameter Store에 저장되는 모든 데이터 조각을 의미합니다. Parameter Store를 사용하면 구성 데이터를 대규모로 안전하게 저장, 구성 및 검색할 수 있습니다.
Parameter Store는 여러 환경에서 구성 관리를 단순화합니다. 값을 하드 코딩하거나 조각화된 스토리지 솔루션에 의존하지 않고도 애플리케이션이 런타임에 중요한 데이터에 액세스하는 방법을 표준화할 수 있습니다. 이렇게 하면 일관성을 유지하고, 거버넌스를 시행하며, 더 안전하고 유지 관리 가능한 시스템을 구축할 수 있습니다.
Parameter Store은 다음과 같은 파라미터 유형을 지원합니다.
-
String환경 이름, 엔드포인트 URL 또는 리소스 식별자와 같은 일반 텍스트 값에 이 유형을 사용합니다.
-
StringList일반 텍스트 값의 쉼표로 구분된 목록에 이 유형을 사용합니다. 예를 들어
subnet-123abc,subnet-456def,subnet-789ghi값을 저장할 수 있습니다. -
SecureString서비스 엔드포인트 및 계정 식별자와 같이 암호화가 필요한 구성 값에 대해
SecureString을 사용하세요. 데이터베이스 자격 증명, API 키 또는 토큰과 같은 시크릿의 경우 자동 교체 및 교차 리전 복제를 포함하여 목적별 보안 제어를 제공하는 AWS Secrets Manager를 사용하는 것이 좋습니다.Parameter Store는 AWS Key Management Service를 사용하여 값을 암호화합니다.
파라미터 유형에 대한 자세한 내용은 Parameter Store 참조 섹션을 참조하세요.
애플리케이션 데이터는 어디에 저장해야 하나요?
다음 표를 사용하여 애플리케이션 데이터에 대한 서비스를 선택합니다.
참고
사용자 이름, 암호 또는 기타 시크릿과 같은 자격 증명을 관리하는 경우 AWS Secrets Manager를 사용하는 것이 좋습니다. Secrets Manager는 데이터베이스 자격 증명, API 키 및 지원되는 타사 소프트웨어 공급 보안 암호와 같은 보안 암호를 관리하도록 특별히 설계되었습니다. 자세한 내용은 AWS Secrets Manager 사용 설명서의 AWS Secrets Manager이란?을 참조하세요.
| 기능 | Parameter Store | AWS AppConfig | AWS Secrets Manager |
|---|---|---|---|
|
사용 사례 |
|
|
|
|
일반적인 데이터 |
|
|
|
|
암호화 |
|
AWS의 저장 시 관리형 암호화, 선택적 추가 고객 관리형 키 |
AWS 관리형 또는 고객 관리형 키를 사용한 AWS KMS의 저장 시 암호화 |
|
자격 증명 교체 |
없음 |
해당 사항 없음 |
자동, 네이티브 데이터베이스 통합 포함 |
|
비용 |
표준 티어 무료, 고급 티어 및 더 높은 처리량 요금 청구됨 |
구성 요청당 청구됨 |
매월 시크릿당 및 API 직접 호출당 청구됨 |
|
배포 |
배포 전 검증 또는 자동 롤백을 사용하지 않는 버전 관리 |
CloudWatch Logs 경보에 대한 점진적 롤아웃, 배포 전 검증 및 자동 롤백 |
스테이징 레이블을 사용하는 버전 관리 |
Parameter Store 기능
Parameter Store는 다음 기능을 지원합니다.
-
중앙 집중식 구성 업데이트
코드 변경이나 재배포 없이 구성을 업데이트하여 운영 민첩성을 높이고 위험을 줄입니다. 예를 들어 인벤토리 서비스를 마이그레이션한 후 새 엔드포인트를 가리키도록 /myapp/prod/inventory-service-endpoint를 업데이트할 수 있습니다.
-
고성능 처리량 옵션
Parameter Store는 소규모 워크로드에 적합한 기본 처리량을 제공합니다. 더 빨리 요청을 처리해야 하는 대규모 또는 지연 시간에 민감한 애플리케이션의 경우 추가 비용으로 높은 처리량 모드를 활성화할 수 있습니다.
애플리케이션이 파라미터를 자주 또는 대규모로 검색하는 경우 스로틀링을 방지하기 위해 처리량 설정을 초기에 검토합니다. 높은 처리량 활성화에 대한 자세한 내용은 Parameter Store 처리량 관리 섹션을 참조하세요.
-
계층적 파라미터 관리
파라미터 계층 구조를 사용하여 관련 파라미터를 그룹화하면 여러 환경과 애플리케이션에서 파라미터를 더 쉽게 검색, 관리 및 필터링할 수 있습니다. 예를 들어 명명 규칙 /env/computer-type/app/data를 생성하고 /dev/webserver/linux/approved-ami 및 /dev/webserver/windows/approved-ami와 같은 애플리케이션에 특정한 파라미터를 생성할 수 있습니다. /dev/webserver 경로를 검색하여 개발 환경에 대한 모든 웹 서버 파라미터를 찾거나 /dev/webserver/linux 경로를 검색하여 Linux 이미지 파라미터만 찾을 수 있습니다.
-
버전 관리
Parameter Store는 각 파라미터의 최신 버전 100개를 유지합니다. 운영 문제를 조사할 때 이전 값을 검토하고 재구성할 수 있습니다.
-
IAM과의 통합
IAM 정책을 사용하여 애플리케이션이 파라미터를 읽거나, 쓰거나, 나열하거나, 삭제할 수 있는지 확인합니다. 예를 들어 /myapp/prod/* 접두사가 붙은 파라미터를 읽을 수 있지만 /myapp/dev/* 접두사의 파라미터는 읽을 수 없는 애플리케이션 역할을 작성할 수 있습니다. 암호화된 파라미터를 복호화할 수 있는 역할 권한을 부여할 수도 있습니다.
-
다른 AWS 서비스에서의 접근성
다른 AWS 서비스의 파라미터 값을 참조할 수 있습니다. 여기 몇 가지 예가 있습니다:
-
Lambda 함수는 Parameters and Secrets Lambda Extension을 사용하여 파라미터와 보안 암호를 검색할 수 있습니다.
-
Amazon Elastic Container Service 및 AWS Fargate를 사용하여 Parameter Store에서 값이 중앙 집중식으로 관리되는 환경 변수를 주입할 수 있습니다.
-
AWS CloudFormation 템플릿에서는 파라미터 값을 참조할 수 있습니다.
-
AWS AppConfig에서는 파라미터를 참조하는 구성 프로필을 생성할 수 있으므로 점진적 롤아웃, 경보 기반 롤백, 기본 제공 데이터 검증과 같은 기능을 사용해 구성 변경 사항을 안전하게 배포할 수 있습니다.
-
AWS CodeBuild를 사용하면 빌드 시점에 Parameter Store에서 동적으로 값이 검색되는 환경 변수를 정의할 수 있습니다.
-
-
공유 계정 액세스
단일 AWS 계정 계정에 구성 데이터를 중앙 집중화하고, 액세스가 필요한 다른 계정과 파라미터를 공유할 수 있습니다. 자세한 내용은 Parameter Store에서 공유 파라미터로 작업 섹션을 참조하세요.
-
OS 패치 적용
Amazon EC2에서는 AMI(AMI) ID를 코드에 하드코딩하는 대신 파라미터를 참조하여 새 인스턴스의 운영 체제를 지정할 수 있습니다. 이 접근 방식을 사용하면 인스턴스가 최신 패치 및 업데이트가 적용된 이미지를 자동으로 사용할 수 있습니다. AWS와 운영 체제 공급업체는 현재 AMI 버전을 추적하는 퍼블릭 파라미터를 제공하므로 수동으로 업데이트를 관리할 필요가 없습니다. 또한 자체 파라미터를 정의하여 중앙에서 관리되는 골든 AMI를 참조할 수 있으므로 조직 전체에서 일관되고 승인된 구성을 더 쉽게 적용할 수 있습니다.
-
이벤트 및 알림
파라미터 변경 이벤트를 구독하여 Parameter Store에서 워크플로를 자동화합니다. 또한 변경 이벤트를 사용해 만료 정책을 적용하고, 지정된 기간에 파라미터가 교체되지 않은 경우 알림을 받을 수 있습니다.
Parameter Store의 파라미터 티어
Parameter Store는 AWS 계정 및 리전에서 파라미터의 최대 수와 크기 등 스토리지 한도를 제어하는 여러 파라미터 티어를 제공합니다. 표준 티어 또는 고급 티어를 사용하도록 각 파라미터를 개별적으로 구성합니다.
표준 및 고급 파라미터를 혼합할 수 있습니다. 예를 들어 동일한 AWS 계정 및 리전에 최대 100,000개의 고급 파라미터와 10,000개의 표준 파라미터를 보유할 수 있습니다. 다음 표에서는 각 파라미터 유형에 대해 지원되는 여러 기능을 설명합니다.
다음 표에서는 여러 파라미터 피터의 차이점을 설명합니다.
| 기능 또는 사용 사례 | 표준 | Advanced |
|---|---|---|
|
사용 사례: |
대부분의 구성 데이터 및 소규모 워크로드에 가장 적합합니다. 이 값이 기본값입니다. |
더 높은 한도, 더 큰 값 또는 파라미터 정책이 필요한 경우에 가장 적합합니다. |
|
최대 파라미터 수 (AWS 계정 및 AWS 리전당) |
10,000개 |
100,000건 |
|
최대 값 크기 |
4KB |
8KB |
|
파라미터 정책 |
지원되지 않음 |
지원됨 자세한 내용은 Parameter Store에서 파라미터 정책 할당 섹션을 참조하세요. |
|
AWS 계정에서 공유 가능성 |
지원되지 않음 |
지원됨 자세한 내용은 Parameter Store에서 공유 파라미터로 작업 섹션을 참조하세요. |
|
기능 업그레이드 및 다운그레이드 |
업그레이드 가능 |
다운그레이드 불가 |
|
비용 |
추가 요금 없음 |
요금 적용 자세한 내용은 Parameter Store에 대한 AWS Systems Manager 요금 |
대부분의 구성 데이터에 표준 파라미터를 사용합니다. 표준 파라미터가 지원하지 않는 기능이 필요한 경우에만 고급 파라미터를 사용합니다.
표준 파라미터와 고급 파라미터의 자세한 비교는 파라미터 티어 선택을 참조하세요.