Systems Manager での Parameter Store パラメータの作成
以下のトピックの情報は、AWS Systems Manager コンソール、AWS Command Line Interface (AWS CLI)、AWS Tools for Windows PowerShell (Tools for Windows PowerShell ) を使用して Systems Manager パラメータを作成するのに役立ちます。
このセクションでは、テスト環境で Parameter Store を使用してパラメータを作成、保存、実行する方法について説明します。また、他の Systems Manager 機能や AWS のサービスで Parameter Store を使用する方法についても説明します。詳細については、「パラメータとは何ですか?」を参照してください。
パラメータ名の要件と制約を理解する
このトピックの情報を使用して、パラメータの作成時にパラメータ名に有効な値を指定します。
この情報は AWS Systems Manager API リファレンス のトピック PutParameter の詳細を補完し、AllowedPattern、Description、KeyId、Overwrite、Type、Value の値についての詳細も提供します。
パラメータ名の要件と制約には次のようなものがあります。
-
大文字と小文字の区別: パラメータ名では大文字と小文字が区別されます。
-
スペース: パラメータ名に空白を含めることはできません。
-
有効な文字: パラメータ名には、記号と文字として
a-zA-Z0-9_.-
のみを使用できます。さらに、スラッシュ文字 (/) は、パラメータ名の階層を表すために使用されます。例:
/Dev/Production/East/Project-ABC/MyParameter
-
有効な AMI 形式:
aws:ec2:image
パラメータのデータ型としてString
を選択した場合、入力する ID は AMI ID 形式ami-12345abcdeEXAMPLE
に対して検証される必要があります。 -
完全修飾: 階層内でパラメータを作成または参照する場合は、スラッシュ文字 (/) を先頭に含めます。階層の一部であるパラメータを参照する場合は、先頭のスラッシュ (/) を含む階層パス全体を指定します。
-
完全修飾パラメータ名:
MyParameter1
、/MyParameter2
、/Dev/Production/East/Project-ABC/MyParameter
-
完全に修飾されていないパラメータ名:
MyParameter3/L1
-
-
長さ: 作成するパラメータ名の最大文字数は 1,011 文字です。これには、指定した名前の前にある ARN 内の文字 (
arn:aws:ssm:us-east-2:111122223333:parameter/
など) が含まれます。 -
プレフィックス: パラメータ名には、プレフィックスとして「
aws
」または「ssm
」 (大文字と小文字は区別しない) を付けることはできません。たとえば、以下のパラメータ名を作成しようとすると、例外によりエラーになります。-
awsTestParameter
-
SSM-testparameter
-
/aws/testparam1
注記
SSM ドキュメント、コマンド、またはスクリプトでパラメータを指定する場合、構文の一部として
ssm
を含めます。例: {{ssm:parameter-name
}} および {{ ssm:parameter-name
}} (例:{{ssm:MyParameter}}
、および{{ ssm:MyParameter }}.
) -
-
一意性: パラメータ名は AWS リージョン 内で一意であることが必要です。例えば、以下が同じリージョン内にある場合、Systems Manager では個別のパラメータとして扱われます。
-
/Test/TestParam1
-
/TestParam1
次の例も、一意です。
-
/Test/TestParam1/Logpath1
-
/Test/TestParam1
ただし、次の例は同じリージョン内にある場合、一意ではありません。
-
/TestParam1
-
TestParam1
-
-
階層の深さ: パラメータ階層を指定する場合、階層は最大 15 レベルの深さを持つことができます。階層のあらゆるレベルでパラメータを定義できます。次の例はいずれも、構造的に有効です。
-
/Level-1/L2/L3/L4/L5/L6/L7/L8/L9/L10/L11/L12/L13/L14/parameter-name
-
parameter-name
次のパラメータの作成を試みると、
HierarchyLevelLimitExceededException
例外で失敗します。-
/Level-1/L2/L3/L4/L5/L6/L7/L8/L9/L10/L11/L12/L13/L14/L15/L16/parameter-name
-
重要
ユーザーがパスへのアクセス許可を持つ場合、そのユーザーはそのパスのすべてのレベルにアクセスできます。たとえば、ユーザーがパス /a
へのアクセス許可を持っている場合、ユーザーは /a/b
にアクセスすることもできます。ユーザーが AWS Identity and Access Management (IAM) でパラメータ /a/b
で明示的にアクセスを拒否された場合でも、/a
に対して GetParametersByPath API オペレーションを再帰的に呼び出して /a/b
を表示できます。