管理參數層 - AWS Systems Manager

管理參數層

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

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

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

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

標準 Advanced (進階)

允許的參數總數

(按照 AWS 帳戶 和 AWS 區域)

10,000

100,000

參數值的大小上限。

4 KB

8 KB

是否可使用參數政策

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

成本

不收取其他費用

需支付費用

如需詳細資訊,請參閱 AWS Systems ManagerParameter 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 區域 中您的 AWS 帳戶 內已有超過 10,000 個參數。

預設層選項

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

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

  • 進階 - 使用進階參數層可讓您為 AWS 帳戶 在每個 AWS 區域 中建立最多 100,000 個參數。每個參數的內容大小最大可以等於 8 KB。進階參數支援參數政策。若要共用參數,該參數必須位於進階參數層。使用進階參數層需要付費。如需詳細資訊,請參閱 AWS Systems ManagerParameter Store 的定價。選擇 Advanced (進階) 做為預設層,表示 Parameter Store 一律會嘗試為沒有指定層的請求建立進階參數。

    注意

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

  • Intelligent-Tiering - Intelligent-Tiering 選項可讓 Parameter Store 根據請求的內容,決定是要使用標準參數層還是進階參數層。例如,若您執行命令建立內容小於 4 KB 的參數,且您 AWS 帳戶 中於目前 AWS 區域 內擁有少於 10,000 個參數,且您沒有指定參數政策,則會建立標準參數。若您執行命令建立內容大於 4 KB 的參數、您的 AWS 帳戶 在目前 AWS 區域 中已有超過 10,000 個參數,或是您指定了參數政策,則會建立進階參數。

    注意

    當您選擇 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": "*" } ] }

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

  • AWS IAM Identity Center 中的使用者和群組:

    建立權限合集。請按照 AWS IAM Identity Center使用者指南 中的 建立權限合集 說明進行操作。

  • 透過身分提供者在 IAM 中管理的使用者:

    建立聯合身分的角色。遵循《IAM 使用者指南》的為第三方身分提供者 (聯合) 建立角色中的指示。

  • IAM 使用者:

使用主控台指定或變更 Parameter Store 預設方案

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

提示

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

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

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

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

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

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

    • 標準

    • Advanced (進階)

    • Intelligent-Tiering

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

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

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

使用 AWS CLI 指定或變更 Parameter Store 預設方案

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

使用 AWS CLI 指定或變更 Parameter Store 預設層
  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 Systems Manager 支援之 AWS 區域 的識別符,例如 us-east-2 代表美國東部 (俄亥俄) 區域。如需支援的 region 值的清單,請參閱《Amazon Web Services 一般參考》Systems Manager 服務端點一節的區域資料欄。

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

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

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

    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 區域 的預設參數層設定。

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

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

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

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

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

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

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

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

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

    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 選項。

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

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

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

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

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

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

  5. 選擇 Advanced (進階)

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

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