Parameter Store에서의 파라미터 계층 구조 작업
수십 또는 수백 개 파라미터를 하나의 집합 목록으로 관리하면 많은 시간이 들고 오류에 취약합니다. 작업에 적합한 파라미터를 식별하기가 어려울 수도 있습니다. 즉, 실수로 잘못된 파라미터를 사용하거나 동일한 구성 데이터를 사용하는 여러 파라미터를 생성할 수 있다는 뜻입니다.
파라미터 계층 구조를 사용하면 파라미터를 조직하고 관리하는 데 도움이 됩니다. 계층 구조는 슬래시(/)를 사용하여 정의하는 경로를 포함한 파라미터 이름입니다.
예제를 통한 파라미터 계층 구조 이해
다음 예제에서는 이름에서 세 가지 계층 구조 수준을 사용하여 다음을 식별합니다.
/Environment/Type of computer/Application/Data
/Dev/DBServer/MySQL/db-string13
최대 15레벨의 계층 구조를 생성할 수 있습니다. 다음 예와 같이 현재 환경의 기존 계층 구조를 반영하는 계층 구조를 생성할 것을 권장합니다.
파라미터 계층 구조는 파라미터를 생성하는 방식을 표준화하고, 시간에 따른 파라미터 관리를 용이하게 해줍니다. 파라미터 계층 구조는 구성 작업에 적합한 파라미터를 식별하는 데에도 도움이 될 수 있습니다. 이렇게 하면 같은 구성 데이터로 여러 파라미터가 생성되지 않도록 할 수 있습니다.
개발 및 스테이징 환경에 암호를 사용하는 다음 예에서 보듯이, 여러 환경에 걸쳐 파라미터를 공유할 수 있는 계층 구조를 생성할 수 있습니다.
/DevTest/MyApp/database/
my-password
그러면 다음 예와 같이 프로덕션 환경에 고유한 암호를 생성할 수 있습니다.
/prod/MyApp/database/
my-password
파라미터 계층 구조를 지정할 필요가 없습니다. 1레벨에 파라미터를 생성할 수 있습니다. 이를 루트 파라미터라고 합니다. 이전 버전과의 호환성을 위해 계층 구조가 배포되기 전 Parameter Store에서 생성된 모든 파라미터가 루트 파라미터입니다. 시스템은 다음 두 파라미터를 모두 루트 파라미터로 취급합니다.
/parameter-name
parameter-name
계층 구조에서 파라미터 쿼리
계층 구조 사용의 또 한 가지 장점은 GetParametersByPath API 작업을 이용해 계층 구조 내에서 모든 파라미터에 대한 쿼리가 가능하다는 점입니다. 예를 들어 AWS Command Line Interface(AWS CLI)에서 다음 명령을 실행하면 시스템이 IIS 레벨의 모든 파라미터를 반환합니다.
aws ssm get-parameters-by-path --path /Dev/Web/IIS
계층 구조에서 복호화된 SecureString
파라미터를 보려면 다음 예제에서 보듯이 경로와 --with-decryption
파라미터를 지정합니다.
aws ssm get-parameters-by-path --path /Prod/ERP/SAP --with-decryption
AWS CLI를 사용하여 계층 구조를 사용한 파라미터 관리
이 절차는 AWS CLI를 이용하여 파라미터와 파라미터 계층 구조를 다루는 방법을 보여줍니다.
계층 구조를 사용하여 파라미터를 관리하려면
아직 하지 않은 경우 AWS Command Line Interface(AWS CLI)를 설치하고 구성합니다.
자세한 내용은 최신 버전의 AWS CLI 설치 또는 업데이트를 참조하세요.
-
다음 명령을 실행하여
allowedPattern
파라미터 및String
데이터 형식을 사용하는 파라미터를 생성합니다. 이 예에서 허용된 패턴은 파라미터 값이 1 - 4자 길이여야 한다는 뜻입니다.이 명령은 파라미터의 버전 번호를 반환합니다.
-
다음 명령을 실행하여 방금 새로운 값으로 생성한 파라미터의 덮어쓰기를 시도합니다.
새 값이 이전 단계에 지정한 허용 패턴의 요구 사항에 부합하지 않기 때문에 시스템이 다음 오류를 반환합니다.
An error occurred (ParameterPatternMismatchException) when calling the PutParameter operation: Parameter value, cannot be validated against allowedPattern: \d{1,4}
-
다음 명령을 실행하여 AWS 관리형 키을 사용하는
SecureString
파라미터를 생성합니다. 이 예에서 허용된 패턴은 사용자가 어떤 문자든 지정할 수 있으나 값이 8 - 20자여야 한다는 뜻입니다. -
다음 명령을 실행하여 이전 단계의 계층 구조를 사용하는 더 많은 파라미터를 생성합니다.
-
다음 명령을 실행하여 두 가지 파라미터의 값을 가져옵니다.
-
다음 명령을 실행하여 단일 레벨의 모든 파라미터에 대해 쿼리합니다.
-
다음 명령을 실행하여 2개의 파라미터를 삭제합니다.