AWS CLI를 사용하여 Parameter Store 파라미터 생성
AWS Command Line Interface(AWS CLI)를 사용하여 String
, StringList
및 SecureString
파라미터 유형을 생성할 수 있습니다. 파라미터를 삭제한 후 최소 30초 동안 기다리고 같은 이름의 파라미터를 생성합니다.
파라미터는 다른 파라미터의 값에 참조되거나 중첩될 수 없습니다. 파라미터 값에 {{}}
또는 {{ssm:
을 포함할 수 없습니다.parameter-name
}}
참고
파라미터는 생성된 해당 파라미터가 생성된 AWS 리전에서만 사용할 수 있습니다.
주제
AWS CLI를 사용하여 String
파라미터 생성
아직 하지 않은 경우 AWS Command Line Interface(AWS CLI)를 설치하고 구성합니다.
자세한 내용은 최신 버전의 AWS CLI 설치 또는 업데이트를 참조하세요.
-
다음 명령을 실행하여
String
형식 파라미터를 생성합니다. 각example resource placeholder
를 사용자의 정보로 바꿉니다.-또는-
다음 명령을 실행하여 파라미터 값으로 Amazon Machine Image(AMI) ID를 포함하는 파라미터를 생성합니다.
--name
옵션은 계층 구조를 지원합니다. 계층 구조에 대한 자세한 내용은 Parameter Store에서의 파라미터 계층 구조 작업 섹션을 참조하세요.AMI ID를 포함하는 파라미터를 생성하는 경우에만
--data-type
옵션을 지정해야 합니다. 입력한 파라미터 값이 올바른 형식의 Amazon Elastic Compute Cloud(Amazon EC2) AMI ID인지 검증합니다. 다른 모든 파라미터의 경우 기본 데이터 형식은text
이며 값을 지정하는 것은 옵션입니다. 자세한 내용은 Parameter Store의 네이티브 파라미터 지원을 Amazon Machine Image ID에 사용 단원을 참조하십시오.중요
성공할 경우 명령은 파라미터의 버전 번호를 반환합니다. 예외:
aws:ec2:image
를 데이터 형식으로 지정한 경우 응답에서 새 버전 번호는 파라미터 값이 이미 검증되었음을 의미하지는 않습니다. 자세한 내용은 Parameter Store의 네이티브 파라미터 지원을 Amazon Machine Image ID에 사용 단원을 참조하십시오.다음 예제에서는 두 개의 키-값 페어 태그를 파라미터에 추가합니다.
다음 예에서는 이름에 파라미터 계층 구조를 사용하여 일반 텍스트
String
파라미터를 생성합니다. 이 명령은 파라미터의 버전 번호를 반환합니다. 파라미터 계층 구조에 대한 자세한 내용은 Parameter Store에서의 파라미터 계층 구조 작업 섹션을 참조하세요. -
다음 명령을 실행하여 최신 파라미터 값을 보고 새 파라미터의 세부 정보를 확인합니다.
aws ssm get-parameters --names "/Test/IAD/helloWorld"
시스템은 다음과 같은 정보를 반환합니다.
{ "InvalidParameters": [], "Parameters": [ { "Name": "/Test/IAD/helloWorld", "Type": "String", "Value": "My updated parameter value", "Version": 2, "LastModifiedDate": "2020-02-25T15:55:33.677000-08:00", "ARN": "arn:aws:ssm:us-east-2:123456789012:parameter/Test/IAD/helloWorld" } ] }
다음 명령을 실행하여 파라미터 값을 변경합니다. 이 명령은 파라미터의 버전 번호를 반환합니다.
aws ssm put-parameter --name "/Test/IAD/helloWorld" --value "My updated 1st parameter" --type String --overwrite
다음 명령을 실행하여 파라미터 값 기록을 확인합니다.
aws ssm get-parameter-history --name "/Test/IAD/helloWorld"
다음 명령을 실행하여 명령에 이 파라미터를 사용합니다.
aws ssm send-command --document-name "AWS-RunShellScript" --parameters '{"commands":["echo {{ssm:/Test/IAD/helloWorld}}"]}' --targets "Key=instanceids,Values=
instance-ids
"
파라미터 값만 검색하려면 다음 명령을 실행합니다.
aws ssm get-parameter --name testDataTypeParameter --query "Parameter.Value"
get-parameters
를 사용하여 파라미터 값만 검색하려면 다음 명령을 실행합니다.
aws ssm get-parameters --names "testDataTypeParameter" --query "Parameters[*].Value"
다음 명령을 실행하여 파라미터 메타데이터를 확인합니다.
aws ssm describe-parameters --filters "Key=Name,Values=/Test/IAD/helloWorld"
참고
이름은 대문자여야 합니다.
시스템은 다음과 같은 정보를 반환합니다.
{ "Parameters": [ { "Name": "helloworld", "Type": "String", "LastModifiedUser": "arn:aws:iam::123456789012:user/JohnDoe", "LastModifiedDate": 1494529763.156, "Version": 1, "Tier": "Standard", "Policies": [] } ] }
AWS CLI를 사용하여 StringList 파라미터 생성
아직 하지 않은 경우 AWS Command Line Interface(AWS CLI)를 설치하고 구성합니다.
자세한 내용은 최신 버전의 AWS CLI 설치 또는 업데이트를 참조하세요.
-
다음 명령을 실행하여 파라미터를 생성합니다. 각
example resource placeholder
를 사용자의 정보로 바꿉니다.참고
성공할 경우 명령은 파라미터의 버전 번호를 반환합니다.
이 예제는 두 개의 키-값 페어 태그를 파라미터에 추가합니다. 로컬 시스템의 운영 체제 유형에 따라 다음 명령 중 하나를 실행합니다. 로컬 Windows 시스템에서 실행할 버전에는 명령줄 도구에서 명령을 실행하는 데 필요한 이스케이프 문자("\")가 포함되어 있습니다.
다음은 파라미터 계층 구조를 사용하는
StringList
예입니다.참고
StringList
의 항목들은 쉼표(,)로 구분해야 합니다. 목록에서 항목을 이스케이프하기 위해 다른 문장 부호나 특수 기호를 사용할 수 없습니다. 쉼표가 필요한 파라미터 값이 있는 경우String
유형을 사용합니다. -
get-parameters
명령을 실행하여 파라미터의 세부 정보를 확인합니다. 예:aws ssm get-parameters --name "/IAD/ERP/Oracle/addUsers"
AWS CLI를 사용하여 SecureString 파라미터 생성
SecureString
파라미터를 생성하려면 다음 절차에 따르십시오. 각 example resource placeholder
를 사용자의 정보로 바꿉니다.
중요
SecureString
파라미터의 값만 암호화됩니다. 파라미터 이름, 설명 및 기타 속성은 암호화되지 않습니다.
중요
Parameter Store는 대칭 암호화 KMS 키만 지원합니다. 비대칭 암호화 KMS 키를 사용하여 파라미터를 암호화할 수 없습니다. KMS 키가 대칭인지 비대칭인지 확인하는 것과 관련된 도움말은 AWS Key Management Service Developer Guide의 Identifying symmetric and asymmetric KMS keys를 참조하세요.
아직 하지 않은 경우 AWS Command Line Interface(AWS CLI)를 설치하고 구성합니다.
자세한 내용은 최신 버전의 AWS CLI 설치 또는 업데이트를 참조하세요.
-
다음 명령 중 하나를 실행하여
SecureString
데이터 형식을 사용하는 파라미터를 생성합니다.계정 및 리전에서 AWS 관리형 키 키를 사용하여
SecureString
파라미터를 생성하는 경우--key-id
파라미터에 값을 제공할 필요가 없습니다.참고
AWS 계정 및 AWS 리전에 할당된 AWS KMS key를 사용하려면 명령에서
key-id
파라미터를 제거합니다. AWS KMS keys에 대한 자세한 내용은 AWS Key Management Service Developer Guide의 AWS Key Management Service Concepts 섹션을 참조하세요.계정에 할당된 AWS 관리형 키 대신 고객 관리형 키를 사용하려면
--key-id
파라미터를 사용하여 키를 지정합니다. 파라미터는 다음 KMS 파라미터 형식을 지원합니다.-
키 Amazon 리소스 이름(ARN) 예:
arn:aws:kms:us-east-2:123456789012:key/
key-id
-
별칭 ARN 예:
arn:aws:kms:us-east-2:123456789012:alias/
alias-name
-
키 ID 예:
12345678-1234-1234-1234-123456789012
-
별칭 이름 예:
alias/MyAliasName
AWS Management Console 또는 AWS KMS API를 사용하여 고객 관리형 키를 생성할 수 있습니다. 다음 AWS CLI 명령은 AWS 계정의 현재 AWS 리전에 고객 관리형 키를 생성합니다.
aws kms create-key
다음 형식의 명령을 통해 방금 생성한 키를 사용하여
SecureString
파라미터를 생성합니다.다음은 암호 파라미터 및 AWS KMS key에 난독화된 이름(
3l3vat3131
)을 사용하는 예입니다. -
-
다음 명령을 실행하여 파라미터의 세부 정보를 확인합니다.
with-decryption
파라미터를 지정하지 않거나no-with-decryption
파라미터를 지정하면 명령이 암호화된 GUID를 반환합니다. -
다음 명령을 실행하여 파라미터 메타데이터를 확인합니다.
-
고객 관리형 AWS KMS key를 사용하지 않는 경우 파라미터 값을 변경하려면 다음 명령을 실행합니다.
-또는-
고객 관리형 AWS KMS key를 사용하는 경우 파라미터 값을 변경하려면 다음 명령 중 하나를 실행합니다.
-
다음 명령을 실행하여 최신 파라미터 값을 확인합니다.
-
다음 명령을 실행하여 파라미터 값 기록을 확인합니다.
참고
암호화된 값을 사용하여 파라미터를 수동으로 만들 수 있습니다. 이 경우 값이 이미 암호화되어 있기 때문에 SecureString
파라미터 유형을 선택할 필요가 없습니다. SecureString
을 선택하면 파라미터가 이중으로 암호화됩니다.
기본적으로 모든 SecureString
값은 암호 텍스트로 표시됩니다. SecureString
값을 복호화하려면 사용자에게 AWS KMS Decrypt API 작업을 호출할 수 있는 권한이 있어야 합니다. AWS KMS 액세스 제어 구성에 대한 자세한 내용은 AWS Key Management Service Developer Guide의 Authentication and Access Control for AWS KMS를 참조하세요.
중요
파라미터를 암호화하는 데 사용되는 KMS 키에 대해 KMS 키 별칭을 변경하는 경우, 파라미터가 AWS KMS를 참조하는 데 사용하는 키 별칭도 업데이트해야 합니다. 이는 KMS 키 별칭에만 적용되며, 전체 키를 삭제하지 않는 한 별칭이 첨부되는 키 ID는 동일하게 유지됩니다.
AWS CLI를 사용하여 여러 줄의 파라미터 생성
AWS CLI를 사용하여 줄 바꿈이 있는 파라미터를 생성할 수 있습니다. 줄 바꿈을 사용하여 더 나은 가독성을 위해 긴 파라미터 값으로 텍스트를 나누거나 웹 페이지에 대한 여러 단락 파라미터 내용을 업데이트합니다. 다음 예와 같이 JSON 파일에 내용을 포함하고 \n
과 같은 줄 바꿈 문자를 사용하여 --cli-input-json
옵션을 사용할 수 있습니다.
아직 하지 않은 경우 AWS Command Line Interface(AWS CLI)를 설치하고 구성합니다.
자세한 내용은 최신 버전의 AWS CLI 설치 또는 업데이트를 참조하세요.
-
다음 명령을 실행하여 여러 줄 파라미터를 생성합니다.
다음 예제에서는
MultiLineParameter.json
파일의 콘텐츠를 표시합니다.{ "Value": "<para>Paragraph One</para>\n<para>Paragraph Two</para>\n<para>Paragraph Three</para>" }
저장된 파라미터 값은 다음과 같이 저장됩니다.
<para>Paragraph One</para> <para>Paragraph Two</para> <para>Paragraph Three</para>