問題公有參數 - AWS Systems Manager

問題公有參數

您可以使用 Parameter Store 主控台或 AWS Command Line Interface 來搜尋公有參數。公有參數名稱以 aws/service/list 開頭。名稱的下一個部分對應於擁有該參數的服務。

以下是一些提供公有參數的服務清單:

  • ami-al-latest

  • ami-amazon-linux-latest

  • ami-windows-latest

  • aws-storage-gateway-latest

  • bottlerocket

  • canonical

  • datasync

  • debian

  • ecs

  • global-infrastructure

  • redhat

  • storagegateway

  • suse

所有公有參數不會發佈到所有 AWS 區域。

使用 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-1::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-1::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-1::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-1::parameter/aws/service/list/global-infrastructure",
            "DataType": "text"
        },
        …
}

如果您想要檢視特定服務所擁有的參數,請從執行先前命令後產生的清單中選擇服務。然後,進行 describe-parameters 呼叫並使用所需服務的名稱篩選參數。例如: ./aws/service/global-infrastructure 路徑篩選條件可能是單層級 (只呼叫與給定的確切值匹配的參數) 或遞迴 (包含您給定的路徑以外的路徑中的元素)。路徑篩選條件預設為遞迴。如果不希望它遞迴,請指定 Option:OneLevel

aws ssm describe-parameters --parameter-filters "Key=Path, Values=/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 時,傳回的參數可能會不同,因為它使用了不同的搜尋模式。

使用 Parameter Store 主控台查找公有參數

您在 AWS 帳戶 和 AWS 區域 中必須至少擁有一個參數,然後才能使用主控台搜尋公有參數。

若要使用主控台查找公有參數

  1. 開啟位於 AWS Systems Managerhttps://console.aws.amazon.com/systems-manager/ 的 主控台。https://console.aws.amazon.com/systems-manager/

  2. 在導覽窗格中,選擇 Parameter Store

    -或-

    如果 AWS Systems Manager 首頁先開啟,選擇選單圖示 ( ) 以開啟導覽窗格,然後選擇 Parameter Store

  3. 選擇 Public parameters (公有參數) 索引標籤。

  4. 選擇 Select a service (選取服務) 下拉式選單。選擇您要使用其參數的服務。

  5. 在搜尋列中輸入更多資訊,以篩選所選服務所擁有的參數。

  6. 選擇您要使用的公有參數。