パラメータラベルの操作 - AWS Systems Manager

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

パラメータラベルの操作

パラメータラベルは、ユーザー定義のエイリアスであり、異なるバージョンのパラメータの管理に役立ちます。パラメータを変更すると、AWS Systems Manager は自動的に新しいバージョンを保存し、そのバージョン番号を 1 つ増やします。ラベルは、バージョンが複数ある場合にパラメータバージョンの用途を覚えておくのに役立ちます。

例えば、/MyApp/DB/ConnectionString というパラメータがあるとします。このパラメータの値は、テスト環境のローカルデータベースでの MySQL サーバーへの接続文字列です。アプリケーションの更新が完了したら、そのパラメータでプロダクションデータベースへの接続文字列を使用します。/MyApp/DB/ConnectionString の値を変更します。Systems Manager は、新しい接続文字列でバージョン 2 を自動的に作成します。各バージョンの用途がすぐ思い出せるように、各パラメータにラベルをアタッチします。バージョン 1 にラベル Test をアタッチし、バージョン 2 にラベル Production をアタッチします。

パラメータのラベルは同じパラメータの別のバージョンに移動できます。例えば、新しい本稼働データベース用の接続文字列を使用して /MyApp/DB/ConnectionString パラメータのバージョン 3 を作成した場合、Production ラベルをパラメータのバージョン 2 からバージョン 3 に移動できます。

パラメータラベルは、パラメータタグの軽量の代替です。組織によっては、さまざまな AWS リソースに適用される必要があるタグに対する厳格なガイドラインが存在することがあります。一方、ラベルはパラメータの特定のバージョンに対するテキストの関連付けにすぎません。

タグと同様に、ラベルを使用してパラメータをクエリできます。GetParametersByPath API オペレーションを使用してパラメータセットをクエリする場合に、同じラベルを使用している特定のパラメータバージョンのリストを表示できます (このセクションで後述しています)。

注記

存在しないパラメータのバージョンを指定するコマンドを実行すると、コマンドは失敗します。パラメータの最新値やデフォルト値にはフォールバックしません。

ラベルの要件と制約

パラメータラベルには以下の要件と制約があります。

  • 1 つのパラメータの 1 つのバージョンにアタッチできるラベルは最大 10 個です。

  • 同じパラメータの別のバージョンに同じラベルをアタッチすることはできません。例えば、パラメータのバージョン 1 にラベル Production がアタッチされている場合、バージョン 2 にラベル Production をアタッチすることはできません。

  • パラメータのラベルは同じパラメータの別のバージョンに移動できます。

  • パラメータの作成時にラベルを作成することはできません。ラベルはパラメータの特定のバージョンにアタッチする必要があります。

  • パラメータラベルが不要になった場合は、そのラベルをパラメータの別のバージョンに移動したり、削除したりできます。

  • ラベルに使用できるのは最大 100 文字です。

  • ラベルでは英字 (大文字と小文字が区別される)、数字、ピリオド (.)、ハイフン (-)、アンダースコア (_) を使用できます。

  • 数字、「aws」または「ssm」(大文字と小文字は区別されない) で始まるラベルは使用できません。ラベルが上記の要件を満たしていない場合、そのラベルはパラメータバージョンにアタッチされず、そのラベルはシステムによって InvalidLabels のリストに表示されます。

パラメータラベルの操作 (コンソール)

このセクションでは、Systems Manager コンソールを使用して以下のタスクを実行する方法について説明します。

パラメータラベルを作成する (コンソール)

次の手順では、Systems Manager コンソールを使用して、既存のパラメータの特定のバージョンにラベルをアタッチする方法について説明します。新しいパラメータの作成時にラベルをアタッチすることはできません。

パラメータバージョンにラベルをアタッチするには
  1. AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/) を開きます。

  2. ナビゲーションペインで、[Parameter Store] を選択します。

    -または-

    AWS Systems Manager ホームページが最初に開いた際、メニューアイコン ( 
    The menu icon
  ) を選択してナビゲーションペインを開き、[Parameter Store] を選択します。

  3. パラメータの名前を選択して、そのパラメータ詳細ページを開きます。

  4. [History] タブを選択します。

  5. ラベルをアタッチするパラメータバージョンを選択します。

  6. [Manage labels] (ラベルを管理) を選択します。

  7. [Add new label] (新しいラベルを追加) を選択します。

  8. テキストボックスにラベル名を入力します。ラベルを追加するには、[Add new label] (新しいラベルを追加) を選択します。1 つのバージョンに最大 10 個のラベルをアタッチできます。

  9. 完了したら、[変更の保存] を選択します。

パラメータにアタッチされているラベルを表示する (コンソール)

1 つのパラメータバージョンにアタッチできるラベルは最大 10 個です。次の手順では、Systems Manager コンソールを使用して、1 つのパラメータバージョンにアタッチされているすべてのラベルを表示する方法について説明します。

パラメータバージョンにアタッチされているラベルを表示するには
  1. AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/) を開きます。

  2. ナビゲーションペインで、[Parameter Store] を選択します。

    -または-

    AWS Systems Manager ホームページが最初に開いた際、メニューアイコン ( 
    The menu icon
  ) を選択してナビゲーションペインを開き、[Parameter Store] を選択します。

  3. パラメータの名前を選択して、そのパラメータ詳細ページを開きます。

  4. [History] タブを選択します。

  5. アタッチされているすべてのラベルを表示するパラメータバージョンを見つけます。そのパラメータバージョンにアタッチされているすべてのラベルが [Labels (ラベル)] 列に表示されます。

パラメータラベルを移動する (コンソール)

次の手順では、Systems Manager コンソールを使用して、パラメータラベルを同じパラメータの別のバージョンに移動する方法について説明します。

ラベルを別のパラメータバージョンに移動するには
  1. AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/) を開きます。

  2. ナビゲーションペインで、[Parameter Store] を選択します。

    -または-

    AWS Systems Manager ホームページが最初に開いた際、メニューアイコン ( 
    The menu icon
  ) を選択してナビゲーションペインを開き、[Parameter Store] を選択します。

  3. パラメータの名前を選択して、そのパラメータ詳細ページを開きます。

  4. [History] タブを選択します。

  5. ラベルを移動するパラメータバージョンを選択します。

  6. [Manage labels] (ラベルを管理) を選択します。

  7. [Add new label] (新しいラベルを追加) を選択します。

  8. テキストボックスにラベル名を入力します。

  9. 完了したら、[変更の保存] を選択します。

パラメータラベルを削除する (コンソール)

次の手順では、Systems Manager コンソールを使用して 1 つまたは複数のパラメータラベルを削除する方法について説明します。

パラメータからラベルを削除するには
  1. AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/) を開きます。

  2. ナビゲーションペインで、[Parameter Store] を選択します。

    -または-

    AWS Systems Manager ホームページが最初に開いた際、メニューアイコン ( 
    The menu icon
  ) を選択してナビゲーションペインを開き、[Parameter Store] を選択します。

  3. パラメータの名前を選択して、そのパラメータ詳細ページを開きます。

  4. [History] タブを選択します。

  5. ラベルを削除するパラメータバージョンを選択します。

  6. [Manage labels] (ラベルを管理) を選択します。

  7. 削除する各ラベルの横にある [Remove] (削除) を選択します。

  8. 完了したら、[変更の保存] を選択します。

  9. 変更が正しいことを確認し、テキストボックスに Confirm と入力し、[Confirm] (確認) を選択します。

パラメータラベルの操作 (AWS CLI)

このセクションでは、AWS Command Line Interface (AWS CLI) を使用して以下のタスクを実行する方法について説明します。

新しいパラメータラベルを作成する (AWS CLI)

次の手順では、AWS CLI を使用して、既存のパラメータの特定のバージョンにラベルをアタッチする方法について説明します。新しいパラメータの作成時にラベルをアタッチすることはできません。

パラメータラベルを作成するには
  1. まだ AWS Command Line Interface (AWS CLI) をインストールして設定していない場合は、インストールして設定します。

    詳細については、「AWS CLI の最新バージョンをインストールまたは更新します。」を参照してください。

  2. 次のコマンドを実行すると、ラベルをアタッチするためのアクセス許可があるパラメータのリストが表示されます。

    注記

    パラメータは、パラメータを作成した AWS リージョン でのみ使用できます。ラベルをアタッチするパラメータが表示されていない場合は、リージョンが正しいかどうかを確認します。

    aws ssm describe-parameters

    ラベルをアタッチするパラメータの名前をメモします。

  3. パラメータのすべてのバージョンを確認するには、次のコマンドを実行します。

    aws ssm get-parameter-history --name "parameter-name"

    ラベルをアタッチするパラメータバージョンをメモします。

  4. 次のコマンドを実行して、パラメータに関する情報をバージョン番号別に取得します。

    aws ssm get-parameters --names "parameter-name:version-number"

    以下はその例です。

    aws ssm get-parameters --names "/Production/SQLConnectionString:3"
  5. 以下のいずれかのコマンドを実行して、1 つのパラメータの 1 つのバージョンにラベルをアタッチします。複数のラベルをアタッチする場合は、ラベル名をスペースで区切ります。

    パラメータの最新バージョンにラベルをアタッチする

    aws ssm label-parameter-version --name parameter-name --labels label-name

    パラメータの特定のバージョンにラベルをアタッチする

    aws ssm label-parameter-version --name parameter-name --parameter-version version-number --labels label-name

    次に例を示します。

    aws ssm label-parameter-version --name /config/endpoint --labels production east-region finance
    aws ssm label-parameter-version --name /config/endpoint --parameter-version 3 --labels MySQL-test
    注記

    作成したラベルが InvalidLabels リストに表示されている場合、そのラベルはこのトピックで前述した要件を満たしていません。要件を確認してからもう一度試してください。InvalidLabels リストが空であれば、パラメータのバージョンにラベルが正常に適用されています。

  6. バージョン番号またはラベル名を使用することによって、パラメータの詳細を表示できます。前の手順で作成したラベルを指定して、次のコマンドを実行します。

    aws ssm get-parameter --name parameter-name:label-name --with-decryption

    このコマンドによって以下のような情報が返されます。

    {
        "Parameter": {
            "Version": version-number, 
            "Type": "parameter-type", 
            "Name": "parameter-name", 
            "Value": "parameter-value", 
            "Selector": ":label-name"
        }
    }
    注記

    出力にある Selector は、Name 入力フィールドで指定したバージョン番号またはラベル名です。

パラメータのラベルを表示する (AWS CLI)

GetParameterHistory API オペレーションを使用して、指定したパラメータの完全な履歴とアタッチされているすべてのラベルを表示できます。または、GetParametersByPath API オペレーションを使用して、特定のラベルが割り当てられているすべてのパラメータのリストを表示できます。

GetParameterHistory API オペレーションを使用してパラメータのラベルを表示するには
  1. 次のコマンドを実行すると、ラベルを表示できるパラメータのリストが表示されます。

    注記

    パラメータは、パラメータを作成したリージョンでのみ使用できます。ラベルを表示するパラメータが表示されていない場合は、リージョンが正しいかどうかを確認します。

    aws ssm describe-parameters

    ラベルを表示するパラメータの名前を書き留めます。

  2. パラメータのすべてのバージョンを確認するには、次のコマンドを実行します。

    aws ssm get-parameter-history --name parameter-name --with-decryption

    システムが以下のような情報を返します。

    {
        "Parameters": [
            {
                "Name": "/Config/endpoint", 
                "LastModifiedDate": 1528932105.382, 
                "Labels": [
                    "Deprecated"
                ], 
                "Value": "MyTestService-June-Release.example.com", 
                "Version": 1, 
                "LastModifiedUser": "arn:aws:iam::123456789012:user/test", 
                "Type": "String"
            }, 
            {
                "Name": "/Config/endpoint", 
                "LastModifiedDate": 1528932111.222, 
                "Labels": [
                    "Current"
                ], 
                "Value": "MyTestService-July-Release.example.com", 
                "Version": 2, 
                "LastModifiedUser": "arn:aws:iam::123456789012:user/test", 
                "Type": "String"
            }
        ]
    }

ラベルが割り当てられているパラメータのリストを表示する (AWS CLI)

GetParametersByPath API オペレーションを使用して、特定のラベルが割り当てられている、パス内のすべてのパラメータのリストを表示できます。

次のコマンドを実行すると、特定のラベルが割り当てられている、パス内のパラメータのリストが表示されます。各リソースプレースホルダーの例をユーザー自身の情報に置き換えます。

aws ssm get-parameters-by-path \ --path parameter-path \ --parameter-filters Key=Label,Values=label-name,Option=Equals \ --max-results a-number \ --with-decryption --recursive

システムが以下のような情報を返します。次の例では、ユーザーが/Config パス内を検索していました。

{
    "Parameters": [
        {
            "Version": 3, 
            "Type": "SecureString", 
            "Name": "/Config/DBpwd", 
            "Value": "MyS@perGr&pass33"
        }, 
        {
            "Version": 2, 
            "Type": "String", 
            "Name": "/Config/DBusername", 
            "Value": "TestUserDB"
        }, 
        {
            "Version": 2, 
            "Type": "String", 
            "Name": "/Config/endpoint", 
            "Value": "MyTestService-July-Release.example.com"
        }
    ]
}

パラメータラベルを移動する (AWS CLI)

次の手順では、パラメータラベルを同じパラメータの別のバージョンに移動する方法について説明します。

パラメータラベルを移動するには
  1. パラメータのすべてのバージョンを確認するには、次のコマンドを実行します。parameter name を自分の情報に置き換えます。

    aws ssm get-parameter-history \ --name "parameter name"

    ラベルの移動先と移動元となるパラメータのバージョンを書き留めます。

  2. 既存のラベルを別のバージョンのパラメータに割り当てるには、次のコマンドを実行します。各リソースプレースホルダーの例をユーザー自身の情報に置き換えます。

    aws ssm label-parameter-version \ --name parameter name \ --parameter-version version number \ --labels name-of-existing-label
    注記

    既存のラベルをパラメータの最新バージョンに移動する場合は、上記のコマンドで --parameter-version を削除します。

パラメータラベルを削除する (AWS CLI)

次の手順では、AWS CLI を使用してパラメータラベルを削除する方法について説明します。

パラメータラベルを削除するには
  1. パラメータのすべてのバージョンを確認するには、次のコマンドを実行します。parameter name を自分の情報に置き換えます。

    aws ssm get-parameter-history \ --name "parameter name"

    システムが以下のような情報を返します。

    {
        "Parameters": [
            {
                "Name": "foo",
                "DataType": "text",
                "LastModifiedDate": 1607380761.11,
                "Labels": [
                    "l3",
                    "l2"
                ],
                "Value": "test",
                "Version": 1,
                "LastModifiedUser": "arn:aws:iam::123456789012:user/test",
                "Policies": [],
                "Tier": "Standard",
                "Type": "String"
            },
            {
                "Name": "foo",
                "DataType": "text",
                "LastModifiedDate": 1607380763.11,
                "Labels": [
                    "l1"
                ],
                "Value": "test",
                "Version": 2,
                "LastModifiedUser": "arn:aws:iam::123456789012:user/test",
                "Policies": [],
                "Tier": "Standard",
                "Type": "String"
            }
        ]
    }

    1 つまたは複数のラベルを削除するパラメータのバージョンを書き留めます。

  2. 次のコマンドを実行して、そのパラメータから選択したラベルを削除します。各リソースプレースホルダーの例をユーザー自身の情報に置き換えます。

    aws ssm unlabel-parameter-version \ --name parameter name \ --parameter-version version \ --labels label 1,label 2,label 3

    システムが以下のような情報を返します。

    {
        "InvalidLabels": ["invalid"], 
        "DeletedLabels" : ["Prod"]
     }