Systems Manager パラメータを作成する - AWS Systems Manager

Systems Manager パラメータを作成する

以下のトピックの情報は、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 の詳細を補完し、AllowedPatternDescriptionKeyIdOverwriteTypeValue の値についての詳細も提供します。

パラメータ名の要件と制約には次のようなものがあります。

  • 大文字と小文字の区別: パラメータ名では大文字と小文字が区別されます。

  • スペース: パラメータ名に空白を含めることはできません。

  • 有効な文字: パラメータ名には、記号と文字として 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

  • 長さ: パラメータ名の最大長 (パラメータ Amazon リソースネーム (ARN) の全内容を含む) は 1011 文字です。たとえば、次のパラメータの長さは、20 文字ではなく 65 文字です。

    arn:aws:ssm:us-east-2:111122223333:parameter/ExampleParameterName
  • プレフィックス: パラメータ名には、プレフィックスとして「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 を表示できます。