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タイプのパラメータを作成します。各リソースプレースホルダーの例をユーザー自身の情報に置き換えます。-または-
次のコマンドを実行して、パラメータ値として Amazon Machine Image (AMI) ID を含むパラメータを作成します。
--nameオプションは階層をサポートしています。階層については、「Parameter Store でのパラメータ階層の使用」を参照してください。--data-typeオプションは、AMI ID を含むパラメータを作成する場合にのみ指定する必要があります。入力したパラメータ値が、適切に書式設定された Amazon Elastic Compute Cloud (Amazon EC2) AMI ID であることを確認します。他のすべてのパラメータの場合、デフォルトのデータ型はtextであり、値の指定はオプションです。詳細については、「」を参照してくださいAmazon マシンイメージ ID の Parameter Store でのパラメータのネイティブサポートの利用重要
成功すると、コマンドはパラメータのバージョン番号を返します。例外: データ型として
aws:ec2:imageを指定した場合、レスポンスの新しいバージョン番号が意味するのは、パラメータ値が未検証であるということです。詳細については、「」を参照してくださいAmazon マシンイメージ ID の Parameter Store でのパラメータのネイティブサポートの利用以下の例では、キーと値のペアのタグ 2 つをパラメータに追加します。
次の例では、名前にパラメータ階層を使用して、プレーンテキストの
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"
パラメータ Value のみを取得する場合は、次のコマンドを実行します。
aws ssm get-parameter --name testDataTypeParameter --query "Parameter.Value"
get-parameters を使用してパラメータ Value だけを取得する場合は、次のコマンドを実行します。
aws ssm get-parameters --names "testDataTypeParameter" --query "Parameters[*].Value"
以下のコマンドを実行して、パラメータのメタデータを表示します。
aws ssm describe-parameters --filters "Key=Name,Values=/Test/IAD/helloWorld"
注記
[Name] は大文字である必要があります。
システムが以下のような情報をレスポンスします。
{ "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 の最新バージョンをインストールまたは更新します。」を参照してください。
-
以下のコマンドを実行してパラメータを作成します。各
リソースプレースホルダーの例をユーザー自身の情報に置き換えます。注記
成功すると、コマンドはパラメータのバージョン番号を返します。
この例では、キーと値のペアのタグ 2 つをパラメータに追加します。(ローカルマシンのオペレーティングシステムのタイプに応じて、次のいずれかのコマンドを実行します。ローカル Windows マシンから実行するバージョンには、コマンドラインツールからコマンドを実行するために必要なエスケープ文字 (「\」) が含まれます)。
以下に示しているのは、パラメータ階層を使用する
StringListの例です。注記
StringListの項目はカンマ (,) で区切る必要があります。他の句読点または特殊文字を使用してリスト内の項目をエスケープすることはできません。カンマを必要とするパラメータ値がある場合は、String型を使用してください。 -
パラメータの詳細を確認するには、
get-parametersコマンドを実行します。例:aws ssm get-parameters --name "/IAD/ERP/Oracle/addUsers"
AWS CLI を使用して SecureString パラメータを作成するには
SecureString パラメータを作成するには、次の手順を使用します。各リソースプレースホルダーの例をユーザー自身の情報に置き換えます。
重要
SecureString パラメータの値のみが暗号化されます。パラメータ名、説明などのプロパティは暗号化されません。
重要
Parameter Store では、対称暗号化 KMS キーのみをサポートしています。非対称暗号化 KMS キーを使用してパラメータを暗号化することはできません。KMS キーが対称か非対称かを判断する方法については、「AWS Key Management Service デベロッパーガイド」の「対称キーと非対称 KMS キーの識別」を参照してください。
まだ 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デベロッパーガイドの「AWS Key Management Service の概念」を参照してください。アカウントに割り当てられた 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 デベロッパーガイド」の「AWS KMS に対する認証とアクセスコントロール」を参照してください。
重要
パラメータの暗号化に使用される KMS キーの KMS キーエイリアスを変更する場合は、パラメータが AWS KMS の参照で使用するキーエイリアスも更新する必要があります。これは KMS キーエイリアスにのみ適用されます。エイリアスがアタッチするキー ID は、キー全体を削除しない限り、同じままになります。
AWS CLI を使用して複数行パラメータを作成する
AWS CLI を使用して、改行を含むパラメータを作成できます。改行すると、長いパラメータ値のテキストを分割して読みやすくすることができ、たとえば、ウェブページの複数段落のパラメータコンテンツを更新できます。次の例に示すように、JSON ファイルにコンテンツを含めると、--cli-input-json のような改行文字を使用して \n オプションを使用できます。
まだ 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>