管理參數層 - AWS Systems Manager

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

管理參數層

Parameter Store是 的功能 AWS Systems Manager,包含標準參數進階參數 。您可以將參數個別設定為使用標準參數層級 (預設層級) 或進階參數層級。

您可以將標準參數變更為進階參數,但您無法將進階參數恢復為標準參數。將進階參數還原為標準參數會造成系統將參數的大小從 8 KB 截斷為 4 KB,從而造成資料遺失。還原也會移除連接到參數的任何政策。以外,進階參數使用的加密形式與標準參數不同。如需詳細資訊,請參閱如何 AWS Systems Manager Parameter Store 在 開發人員指南 AWS KMS中使用 。 AWS Key Management Service

如果您不再需要進階參數,或如果您不希望再支付費用,將它刪除,並將它重新建立為新的標準參數。

下表說明層級之間的差異。

標準 Advanced (進階)

允許的參數總數

(每個 AWS 帳戶 和 AWS 區域)

10,000

100,000

參數值的大小上限。

4 KB

8 KB

是否可使用參數政策

如需詳細資訊,請參閱在 中指派參數政策 Parameter Store

成本

不收取其他費用

需支付費用

如需詳細資訊,請參閱 的AWS Systems Manager 定價 Parameter Store.

指定預設參數層

在建立或更新參數的請求中 (即 PutParameter 操作),您可以指定要在請求中使用的參數層。以下是使用 AWS Command Line Interface (AWS CLI) 的範例。

Linux & macOS
aws ssm put-parameter \ --name "default-ami" \ --type "String" \ --value "t2.micro" \ --tier "Standard"
Windows
aws ssm put-parameter ^ --name "default-ami" ^ --type "String" ^ --value "t2.micro" ^ --tier "Standard"

每當您在請求中指定層級時,Parameter Store 會根據您的請求建立或更新 參數。不過,如果您未明確指定請求中的層,則 Parameter Store 預設層設定會決定在哪個層中建立參數。

開始使用 時的預設層級 Parameter Store 是標準參數層。若您使用進階參數層,您可以指定以下其中一項做為預設:

  • 進階:使用此選項,參數存放區會將所有請求評估為進階參數。

  • Intelligent-Tiering :使用此選項時,Parameter Store 會評估每個請求,以判斷 參數是標準或進階。

    若請求並未包含任何需要進階參數的選項,則參數會在標準參數層中建立。如果要求中包含一或多個需要進階參數的選項,Parameter Store 在進階參數層中建立 參數。

Intelligent-Tiering 的優點

以下是您可能會選擇將 Intelligent-Tiering 做為預設層的理由。

成本控制 – Intelligent-Tiering 可透過一律建立標準參數 (除非絕對需要進階參數) 來協助控制您的參數相關成本。

自動升級到進階參數層 – 當您變更程式碼而需要將標準參數升級到進階參數時,Intelligent-Tiering 會為您處理轉換。您不需要變更程式碼即可處理升級。

以下是一些自動升級的範例:

  • 您的 AWS CloudFormation 範本會在執行時佈建許多參數。當此程序導致您達到標準參數層中的 10,000 個參數配額時,Intelligent-Tiering 會自動將您升級至進階參數層,而且您的 AWS CloudFormation 程序不會中斷。

  • 您將憑證值存放在參數中,定期輪換憑證值,且內容小於標準參數層的 4 KB 配額。若替換用的憑證值超過 4 KB,Intelligent-Tiering 會自動將參數升級至進階參數層。

  • 您希望將多個現有的標準參數與參數政策建立關聯,但參數政策需要進階參數層。Intelligent-Tiering 會自動將參數升級至進階參數層,而不需在所有呼叫中包含 --tier Advanced 選項來更新參數。Intelligent-Tiering 選項會在每次滿足進階參數層的條件時,將參數從標準升級至進階。

需要進階參數的選項包含下列項目:

  • 參數的內容大小超過 4 KB。

  • 參數使用參數政策。

  • 目前的 中,您的 中已存在超過 AWS 帳戶 10,000 個參數 AWS 區域。

預設層選項

您可以指定做為預設的層選項包括下列項目。

  • 標準 – 標準參數層是開始使用時的預設層 Parameter Store。 您可以使用標準參數層,為 AWS 區域 中的每個參數建立 10,000 個參數 AWS 帳戶。每個參數的內容大小最大可以等於 4 KB。標準參數不支援參數政策。使用標準參數層無須另外付費。選擇標準作為預設層意味著 Parameter Store 一律會嘗試為未指定 層的請求建立標準參數。

  • 進階 – 使用進階參數層,為 AWS 區域 中的每個參數建立最多 100,000 個參數 AWS 帳戶。每個參數的內容大小最大可以等於 8 KB。進階參數支援參數政策。使用進階參數層需要付費。如需詳細資訊,請參閱 的AWS Systems Manager 定價 Parameter Store。 選擇 Advanced 作為預設層意味著 Parameter Store 一律會嘗試為未指定 層的請求建立進階參數。

    注意

    當您選擇進階參數層時,明確授權 AWS 向您的帳戶收取任何您所建立進階參數的費用。

  • Intelligent-Tiering – 使用 Intelligent-Tiering 選項,Parameter Store 根據請求的內容,決定是否使用標準參數層或進階參數層。例如,如果您執行 命令以建立 4 KB 以下內容的 參數,且 AWS 區域 中的目前 參數少於 10,000 個 AWS 帳戶,而且您未指定參數政策,則會建立標準參數。如果您執行 命令來建立具有超過 4 KB 內容的參數,則您在 AWS 區域 中目前的 參數已超過 10,000 AWS 帳戶個,或者您指定參數政策,則會建立進階參數。

    注意

    當您選擇 Intelligent-Tiering 時,請明確授權 AWS 向您的帳戶收取您建立的任何進階參數的費用。

您可以變更 Parameter Store 隨時進行預設層級設定。

設定許可以指定 Parameter Store 預設層

確認您在 AWS Identity and Access Management (IAM) 中具有變更 中預設參數層的許可 Parameter Store 執行下列其中一項操作:

將下列許可授予IAM實體,讓使用者檢視和變更 AWS 區域 中特定 參數的預設層設定 AWS 帳戶。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:GetServiceSetting" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:UpdateServiceSetting" ], "Resource": "arn:aws:ssm:region:account-id:servicesetting/ssm/parameter-store/default-parameter-tier" } ] }

管理員可以指派下列許可,以指定唯讀許可。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:GetServiceSetting" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "ssm:ResetServiceSetting", "ssm:UpdateServiceSetting" ], "Resource": "*" } ] }

若要提供存取權,請新增權限至您的使用者、群組或角色:

指定或變更 Parameter Store 使用主控台的預設層

下列程序說明如何使用 Systems Manager 主控台來指定或變更目前 AWS 帳戶 和 的預設參數層 AWS 區域。

提示

如果您尚未建立參數,您可以使用 AWS Command Line Interface (AWS CLI) 或 AWS Tools for Windows PowerShell 變更預設參數層。如需詳細資訊,請參閱 指定或變更 Parameter Store 使用 的預設層 AWS CLI指定或變更 Parameter Store 預設層 (PowerShell)

若要指定或變更 Parameter Store 預設層
  1. 在 開啟 AWS Systems Manager 主控台https://console.aws.amazon.com/systems-manager/

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

  3. 選擇 Settings (設定) 標籤。

  4. 選擇 Change default tier (變更預設層)。

  5. 選擇下列其中一個選項。

    • 標準

    • Advanced (進階)

    • Intelligent-Tiering

    如需這些選項的資訊,請參閱 指定預設參數層

  6. 檢閱訊息,然後選擇 Confirm (確認)

若您稍後希望變更預設層設定,請重複此程序,並指定不同的預設層選項。

指定或變更 Parameter Store 使用 的預設層 AWS CLI

下列程序說明如何使用 AWS CLI 來變更目前 AWS 帳戶 和 的預設參數層設定 AWS 區域。

若要指定或變更 Parameter Store 使用 的預設層 AWS CLI
  1. 開啟 AWS CLI 並執行下列命令,以變更 AWS 區域 中特定 的預設參數層設定 AWS 帳戶。

    aws ssm update-service-setting --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/parameter-store/default-parameter-tier --setting-value tier-option

    region 代表 支援的 AWS 區域 識別符 AWS Systems Manager,例如us-east-2美國東部 (俄亥俄) 區域。如需支援的清單 region 值,請參閱 中 Systems Manager 服務端點中的區域Amazon Web Services 一般參考

    tier-option 值包括 StandardAdvancedIntelligent-Tiering。如需這些選項的資訊,請參閱 指定預設參數層

    如果命令成功,則無輸出訊息。

  2. 執行下列命令以檢視 的目前預設參數層服務設定 Parameter Store 在目前的 AWS 帳戶 和 中 AWS 區域。

    aws ssm get-service-setting --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/parameter-store/default-parameter-tier

    系統會傳回與以下相似的資訊。

    {
        "ServiceSetting": {
            "SettingId": "/ssm/parameter-store/default-parameter-tier",
            "SettingValue": "Advanced",
            "LastModifiedDate": 1556551683.923,
            "LastModifiedUser": "arn:aws:sts::123456789012:assumed-role/Administrator/Jasper",
            "ARN": "arn:aws:ssm:us-east-2:123456789012:servicesetting/ssm/parameter-store/default-parameter-tier",
            "Status": "Customized"
        }
    }

若您希望再次變更預設層設定,請重複此程序,並指定不同的 SettingValue 選項。

指定或變更 Parameter Store 預設層 (PowerShell)

下列程序說明如何使用 Tools for Windows PowerShell 來變更 Amazon Web Services AWS 區域 帳戶中特定 的預設參數層設定。

若要指定或變更 Parameter Store 預設層使用 PowerShell
  1. 變更 Parameter Store 目前 AWS 帳戶 和 中的預設層 AWS 區域 使用 AWS Tools for PowerShell (適用於 的工具 PowerShell)。

    Update-SSMServiceSetting -SettingId "arn:aws:ssm:region:account-id:servicesetting/ssm/parameter-store/default-parameter-tier" -SettingValue "tier-option" -Region region

    region 代表 支援的 AWS 區域 識別符 AWS Systems Manager,例如us-east-2美國東部 (俄亥俄) 區域。如需支援的清單 region 值,請參閱 中 Systems Manager 服務端點中的區域Amazon Web Services 一般參考

    tier-option 值包括 StandardAdvancedIntelligent-Tiering。如需這些選項的資訊,請參閱 指定預設參數層

    如果命令成功,則無輸出訊息。

  2. 執行下列命令以檢視 的目前預設參數層服務設定 Parameter Store 在目前的 AWS 帳戶 和 中 AWS 區域。

    Get-SSMServiceSetting -SettingId "arn:aws:ssm:region:account-id:servicesetting/ssm/parameter-store/default-parameter-tier" -Region region

    region 代表 支援的 AWS 區域 識別符 AWS Systems Manager,例如us-east-2美國東部 (俄亥俄) 區域。如需支援的清單 region 值,請參閱 中 Systems Manager 服務端點中的區域Amazon Web Services 一般參考

    系統會傳回與以下相似的資訊。

    ARN : arn:aws:ssm:us-east-2:123456789012:servicesetting/ssm/parameter-store/default-parameter-tier
    LastModifiedDate : 4/29/2019 3:35:44 PM
    LastModifiedUser : arn:aws:sts::123456789012:assumed-role/Administrator/Jasper
    SettingId        : /ssm/parameter-store/default-parameter-tier
    SettingValue     : Advanced
    Status           : Customized
    

若您希望再次變更預設層設定,請重複此程序,並指定不同的 SettingValue 選項。

將標準參數變更為進階參數

請使用下列步驟,將現有的標準參數變更為進階參數。如需有關如何建立新的進階參數的資訊,請參閱 正在建立 Parameter Store Systems Manager 中的參數

若要將標準參數變更為進階參數
  1. 在 開啟 AWS Systems Manager 主控台https://console.aws.amazon.com/systems-manager/

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

  3. 選擇參數,然後選擇 Edit (編輯)

  4. 對於 Description (說明),請輸入有關此參數的資訊。

  5. 選擇 Advanced (進階)

  6. 對於 Value (值),請輸入此參數的值。進階參數的最大值限制為 8 KB。

  7. 選擇 Save changes (儲存變更)。