管理參數層 - 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

是否可使用參數政策

如需詳細資訊,請參閱指派參數政策

費用

不收取其他費用

需支付費用

如需詳細資訊,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 個參數配額時,智慧型分層會自動將您升級至進階參數層,而且程序不會中斷。 AWS CloudFormation

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

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

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

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

  • 參數使用參數政策。

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

預設層選項

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

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

  • 進階 — 使用進階參數層為每個參數建立最多 100,000 個 AWS 區域 參數。 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 帳戶,或者您指定了參數原則,則會建立進階參數。

    注意

    當您選擇智慧型分層時,請明確授權針對您建立的任何進階參數 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使用者:

    • 建立您的使用者可擔任的角色。請按照《用戶南》中的「為IAM用戶創建角色」中的IAM說明進行操作。

    • (不建議) 將政策直接附加至使用者,或將使用者新增至使用者群組。遵循《使用者指南》中的「向使用者 (主控台) 新增權限」IAM 中的示進行。

指定或變更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 區域。

使用 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 區域 支援的識別碼 AWS Systems Manager,us-east-2例如美國東部 (俄亥俄) 區域。如需支援的清單 region 值,請參閱中 Systems Manager 服務端點中的「區域」欄Amazon Web Services 一般參考

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

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

  2. 執行下列命令,以檢視目前 AWS 帳戶 和Parameter Store中目前的預設參數層服務設定 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)

下列程序顯示如何使用 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 值包括StandardAdvanced、和Intelligent-Tiering。如需這些選項的資訊,請參閱 指定預設參數層

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

  2. 執行下列命令,以檢視目前 AWS 帳戶 和Parameter Store中目前的預設參數層服務設定 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 選項。

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

請使用下列步驟,將現有的標準參數變更為進階參數。如需有關如何建立新的進階參數的資訊,請參閱 建立 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 (儲存變更)。