Parameter Store でのパブリックパラメータの検出 - AWS Systems Manager

Parameter Store でのパブリックパラメータの検出

Parameter Store コンソールまたは AWS Command Line Interface を使用して、パブリックパラメータを検索できます。

パブリックパラメータ名は aws/service/list で始まります。名前の次の部分は、そのパラメータを所有するサービスに対応しています。

以下のリストでは、パブリックパラメータを提供するいくつかのサービスを記載しています。

  • ami-amazon-linux-latest

  • ami-windows-latest

  • ec2-macos

  • appmesh

  • aws-for-fluent-bit

  • bottlerocket

  • canonical

  • cloud9

  • datasync

  • debian

  • ecs

  • eks

  • freebsd

  • global-infrastructure

  • marketplace

  • storagegateway

すべてのパブリックパラメータがすべての AWS リージョン に公開されるわけではありません。

Parameter Store コンソールを使用してパブリックパラメータを検索する

コンソールを使用してパブリックパラメータを検索するには、AWS アカウント と AWS リージョン に少なくとも 1 つのパラメータが必要です。

コンソールを使用してパブリックパラメータを検索する
  1. AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/) を開きます。

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

  3. [Public parameters] (パブリックパラメータ) タブを選択します。

  4. [Select a service] (サービスを選択) のドロップダウンを選択します。パラメータを使用するサービスを選択します。

  5. (オプション) 検索バーに詳細情報を入力して、選択したサービスが所有するパラメータをフィルタリングします。

  6. 使用するパブリックパラメータを選択します。

AWS CLI を使用してパブリックパラメータを検索する

パブリックパラメータの検出に describe-parameters を使用します。

get-parameters-by-path にリストされているサービスの実際のパスを取得するときに /aws/service/list を使用します。サービスのパスを取得するには、パスから /list を削除します。例えば、/aws/service/list/ecs/aws/service/ecs になります。

Parameter Store で異なるサービスが所有するパブリックパラメータのリストを取得するには、次のコマンドを実行します。

aws ssm get-parameters-by-path --path /aws/service/list

このコマンドによって以下のような情報が返されます。この例は、スペースの都合上、一部を省略しています。

{
    "Parameters": [
        {
            "Name": "/aws/service/list/ami-al-latest",
            "Type": "String",
            "Value": "/aws/service/ami-al-latest/",
            "Version": 1,
            "LastModifiedDate": "2021-01-29T10:25:10.902000-08:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/list/ami-al-latest",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/list/ami-windows-latest",
            "Type": "String",
            "Value": "/aws/service/ami-windows-latest/",
            "Version": 1,
            "LastModifiedDate": "2021-01-29T10:25:12.567000-08:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/list/ami-windows-latest",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/list/aws-storage-gateway-latest",
            "Type": "String",
            "Value": "/aws/service/aws-storage-gateway-latest/",
            "Version": 1,
            "LastModifiedDate": "2021-01-29T10:25:09.903000-08:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/list/aws-storage-gateway-latest",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/list/global-infrastructure",
            "Type": "String",
            "Value": "/aws/service/global-infrastructure/",
            "Version": 1,
            "LastModifiedDate": "2021-01-29T10:25:11.901000-08:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/list/global-infrastructure",
            "DataType": "text"
        }
    ]
}

特定のサービスが所有するパラメータを表示する場合は、前のコマンドの実行後に生成されたサービスをリストから選択します。その後、目的のサービスの名前を使用して get-parameters-by-path コールを実行します。

例えば、/aws/service/global-infrastructure と指定します。パスは、1 レベル (指定された値と完全に一致するパラメータのみを呼び出す) または再帰的 (指定した値を超えるパス内の要素を含む) にすることができます。

注記

/aws/service/global-infrastructure パスはすべてのリージョンのクエリでサポートされているわけではありません。詳細については、Parameter Store における、AWS のサービス、リージョン、エンドポイント、アベイラビリティーゾーン、Local Zones、Wavelength Zones のパブリックパラメータの呼び出し を参照してください。

指定したサービスの結果が返されない場合は、--recursive フラグを追加してコマンドを再実行してください。

aws ssm get-parameters-by-path --path /aws/service/global-infrastructure

これは、global-infrastructure が所有するすべてのパラメータを返します。次に例を示します。

{
    "Parameters": [
        {
            "Name": "/aws/service/global-infrastructure/current-region",
            "Type": "String",
            "LastModifiedDate": "2019-06-21T05:15:34.252000-07:00",
            "Version": 1,
            "Tier": "Standard",
            "Policies": [],
            "DataType": "text"
        },
        {
            "Name": "/aws/service/global-infrastructure/version",
            "Type": "String",
            "LastModifiedDate": "2019-02-04T06:59:32.875000-08:00",
            "Version": 1,
            "Tier": "Standard",
            "Policies": [],
            "DataType": "text"
        }
    ]
}

Option:BeginsWith フィルターを使用して、特定のサービスが所有するパラメータを表示することもできます。

aws ssm describe-parameters --parameter-filters "Key=Name, Option=BeginsWith, Values=/aws/service/ami-amazon-linux-latest"

このコマンドによって以下のような情報が返されます。この例では、出力はスペースの都合上、表示されていません。

{
    "Parameters": [
        {
            "Name": "/aws/service/ami-amazon-linux-latest/amzn-ami-hvm-x86_64-ebs",
            "Type": "String",
            "LastModifiedDate": "2021-01-26T13:39:40.686000-08:00",
            "Version": 25,
            "Tier": "Standard",
            "Policies": [],
            "DataType": "text"
        },
        {
            "Name": "/aws/service/ami-amazon-linux-latest/amzn-ami-hvm-x86_64-gp2",
            "Type": "String",
            "LastModifiedDate": "2021-01-26T13:39:40.807000-08:00",
            "Version": 25,
            "Tier": "Standard",
            "Policies": [],
            "DataType": "text"
        },
        {
            "Name": "/aws/service/ami-amazon-linux-latest/amzn-ami-hvm-x86_64-s3",
            "Type": "String",
            "LastModifiedDate": "2021-01-26T13:39:40.920000-08:00",
            "Version": 25,
            "Tier": "Standard",
            "Policies": [],
            "DataType": "text"
        }
    ]
}
注記

Option=BeginsWith では、別の検索パターンが使用されるため、返されるパラメータが異なる場合があります。