

• 2026 年 4 月 30 日之後將不再提供 AWS Systems Manager CloudWatch Dashboard。客戶可以繼續使用 Amazon CloudWatch 主控台來檢視、建立和管理其 Amazon CloudWatch 儀表板，就像現在一樣。如需詳細資訊，請參閱 [Amazon CloudWatch Dashboard 文件](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)。

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

# 管理Parameter Store輸送量
<a name="parameter-store-throughput"></a>

Parameter Store 輸送量定義 Systems Manager 可以處理的每秒 API 交易數 (TPS)。輸送量設定會套用至整體 Parameter Store ，而非個別 API。根據預設， Parameter Store設定的標準輸送量配額通常適用於中低容量工作負載。對於較高容量的工作負載，您可以啟用更高的輸送量，這會增加您帳戶和區域的每秒支援交易數量上限。您可以視需要啟用和停用更高的輸送量。

## 中的輸送量配額 Parameter Store
<a name="w2aac19c22c12c21c15b5"></a>

下表列出使用預設和更高輸送量的不同 API 類別的交易限制。API AWS CLI 動作包括 AWS 主控台用量、命令和應用程式讀取。如需配額和速率限制的詳細資訊，請參閱[AWS Systems Manager 端點和配額](https://docs.aws.amazon.com/general/latest/gr/ssm.html#parameter-store)。


| API 動作 | 預設輸送量 | 較高的輸送量 | 
| --- | --- | --- | 
|  [GetParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameter.html)、[GetParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameters.html) 和 [GetParametersByPath](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParametersByPath.html)  | 40 TPS 在所有三個 API 動作之間共用 |  [GetParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameter.html)：10,000 TPS；[GetParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameters.html)：1,000 TPS；[GetParametersByPath](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParametersByPath.html)： 100 TPS | 
|  [DeleteParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DeleteParameter.html) 和 [DeleteParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DeleteParameters.html)  | 3 TPS | 5 TPS | 
|  [DescribeParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DescribeParameters.html)、[GetParameterHistory](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameterHistory.html)、 [LabelParameterVersion](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_LabelParameterVersion.html)、[UnlabelParameterVersion](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_UnlabelParameterVersion.html) 和 [PutParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutParameter.html)  | 3 TPS | 10 TPS | 

在這種情況下，交易是單一區域中帳戶的一個 API 動作。例如，下列命令會建立單一交易。

```
aws ssm get-parameter --name "/myapp/prod/log-level"
```

API 動作可在應用程式之間分佈。例如，下列每個案例都會達到預設輸送量限制 40 TPS：
+ 1 個應用程式每秒進行 40 次`GetParameter`呼叫。
+ 10 個應用程式每秒進行 4 次`GetParameter`呼叫。
+ 40 個應用程式每秒呼叫 1 `GetParameter` 次。

輸送量限制適用於類別內的所有 APIs。例如，應用程式的下列同時參數呼叫組合符合參數擷取 APIs 的預設限制 40 TPS：
+ `GetParameter` 每秒進行 25 次呼叫。
+ `GetParameters` 每秒進行 10 次呼叫。
+ `GetParameterByPath` 每秒進行 5 次呼叫。

`DescribeParameters` 呼叫有個別的輸送量限制。應用程式可以進行上述呼叫，同時每秒進行 3 次`DescribeParameters`呼叫，而不會超過標準輸送量的整體限制。

 如果您的生產請求在標準操作或規劃的高流量期間超過輸送量限制，請使用下列最佳化技術。

**Topics**
+ [中的輸送量配額 Parameter Store](#w2aac19c22c12c21c15b5)
+ [在 中最佳化輸送量 Parameter Store](#parameter-store-throughput-optimizing)
+ [在 中變更輸送量設定 Parameter Store](#parameter-store-throughput-increasing)

## 在 中最佳化輸送量 Parameter Store
<a name="parameter-store-throughput-optimizing"></a>

當 在短間隔內Parameter Store收到多個參數請求時，您的應用程式可能會遇到*限流*。例如，CloudWatch Logs 或您的應用程式日誌會在呼叫 `GetParameter`、 `ThrottlingException`或 `GetParameters`時顯示軟體開發套件引發的`RateExceeded`錯誤`GetParametersByPath`。在其他情況下，應用程式邏輯會成功重試 API 呼叫，但應用程式延遲會增加。結果可能是應用程式中斷、使用者體驗不佳、部署失敗、複雜解決方法，以及開發人員時間損失。

多種因素可能會導致您的應用程式達到Parameter Store配額限制，包括下列項目：
+  由於流量激增，您的應用程式會快速擴展。例如，您的應用程式通常會在 5 個 Amazon EC2 執行個體上執行。當流量突然增加時，Amazon EC2 Auto Scaling 會再啟動 50 個執行個體。如果每個執行個體在啟動時讀取參數，則合併請求可能會超過預設請求限制。
+  您的容器服務會同時啟動許多任務。例如，Amazon ECS 服務可能會在更新期間啟動許多替代任務，而且每個任務可能會在啟動Parameter Store時從 讀取設定。
+  您的 Lambda 函數會同時收到許多請求。例如，Lambda 可能會啟動許多函數環境來處理增加的流量。每個函數環境可能會在啟動時讀取參數。
+  您的建置或發行程序會在短時間內讀取許多參數。例如，建置任務可能會讀取數個應用程式或環境的設定。
+  您的應用程式會依路徑讀取許多參數。例如，您的應用程式會重複讀取 下的所有參數，`/myapp/prod/`而不是只讀取所需的特定參數。這些重複的請求可能會超過預設的請求限制。

您可以透過下列互補方式處理Parameter Store限流：
+ 減少輸送量

  您的應用程式擷取的資料可能超過所需數量，或以低效率的方式擷取資料。
+ 啟用更高的輸送量

  您可以透過增加指定區域和帳戶的輸送量配額來提高應用程式彈性。您可以隨時在高流量期間啟用和停用較高輸送量設定。對於定期產生限流錯誤的生產工作負載，請考慮永久啟用 設定。

### 降低 中的輸送量 Parameter Store
<a name="parameter-store-throughput-reduce-requests"></a>

 無論您是使用標準或更高輸送量，請檢閱 呼叫的頻率和類型Parameter Store。在某些情況下，您可以減少請求數量，而無需變更參數。由於成本是根據用量而非訂閱或方案模型來決定，因此結果是較少的計費 API 互動。
+  快取應用程式中的參數值，而不是在每個請求上讀取相同的值。

   例如，如果您的應用程式每分鐘讀取`/myapp/prod/log-level`多次，應用程式可以讀取一次該值，並在短時間內重複使用該值。此技術可減少對 的重複呼叫Parameter Store。為經常變更的值選擇較短的重複使用期間，並為很少變更的值選擇較長的重複使用期間。
+  當您知道多個參數的名稱時，請使用 [GetParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameters.html)。

   例如，您可以在單一`GetParameters`請求中擷取這些參數的清單`/myapp/prod/vendor/merchant-id`，而不是對參數 `/myapp/prod/database/host`、 `/myapp/prod/log-level`和 進行單獨的 [GetParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameter.html) 呼叫。
+  避免讀取超過應用程式需求的參數。

  如果您的應用程式只需要一些已知參數，請使用 `GetParameter`或 ，`GetParameters`而不是重複讀取整個路徑，例如 `/myapp/prod/`。當您的應用程式在路徑下需要一組參數時，請使用 [GetParametersByPath](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParametersByPath.html)。當您使用更高的輸送量時，配額是 `GetParameter` 配額的 100 倍`GetParametersByPath`。
+  當許多資源同時啟動時，分散參數讀取。

   例如，如果許多 Amazon EC2 執行個體或 Amazon ECS 任務在更新期間啟動，請避免讓每個資源讀取參數完全在同一時間。配額為每秒。如果可能，請讀取參數一次，並將其值快取至應用程式，或新增一小段延遲，讓請求不會全部在同一秒內發生。
+  對於 Lambda 函數，請考慮使用[AWS 參數和秘密 Lambda 延伸](https://docs.aws.amazon.com/systems-manager/latest/userguide/ps-integration-lambda-extensions.html)。

   延伸模組可以在本機存放參數值，以供函數重複使用。此技術可以減少對 的呼叫次數Parameter Store，也可以減少擷取參數值所需的時間。如需此技術的範例演練，請參閱[使用 AWS 參數和秘密 Lambda 延伸來快取參數和秘密](https://aws.amazon.com/blogs/compute/using-the-aws-parameter-and-secrets-lambda-extension-to-cache-parameters-and-secrets/)。

### 增加輸送量
<a name="parameter-store-higher-throughput"></a>

對於較高容量的工作負載，您可以啟用較高的輸送量。此設定會為您的 帳戶和區域增加每秒支援的交易數量上限，但需付費。在下列情況下，請考慮提高輸送量：
+  您的應用程式暫時需要更高的輸送量。

   例如，網路商店可能會在週末銷售期間更頻繁地讀取參數。您可以在銷售開始之前啟用更高的輸送量，然後在銷售結束之後返回標準輸送量。您可以隨時從Parameter Store**設定**頁面或使用 啟用或停用更高的輸送量 AWS CLI。
+  您的生產應用程式會定期同時擷取參數，並執行調節問題。

   當多個執行個體、容器、函數或建置任務Parameter Store同時從 讀取參數時，可能會發生並行擷取。範例如下：
  +  您的應用程式會快速擴展。例如，您的應用程式通常會在 5 個 Amazon EC2 執行個體上執行。當流量突然增加時，Amazon EC2 Auto Scaling 會再啟動 50 個執行個體。如果每個執行個體在啟動時讀取參數，則合併請求可能會超過預設請求限制。
  +  您的容器服務會同時啟動許多任務。例如，Amazon ECS 服務可能會在更新期間啟動許多替代任務，而且每個任務可能會在啟動Parameter Store時從 讀取設定。
  +  您的 Lambda 函數會同時收到許多請求。例如，Lambda 可能會啟動許多函數環境來處理增加的流量。每個函數環境可能會在啟動時讀取參數。
  +  您的建置或發行程序會在短時間內讀取許多參數。例如，建置任務可能會讀取數個應用程式或環境的設定。

#### 提高輸送量的成本考量
<a name="parameter-store-throughput-cost"></a>

對於較高的輸送量選項，需支付額外費用。如需目前的 Parameter Store API 定價和範例，請參閱 [AWS Systems Manager 定價](https://aws.amazon.com/systems-manager/pricing/)。

費用是根據 Parameter Store API 互動而定。API 互動定義為 API 請求與個別參數之間的互動。例如，如果單一`GetParameter`請求傳回 10 個參數，則此請求會計入 10 個 Parameter Store API 互動以供計費之用。

假設您想要在短時間內切換到更高輸送量的情況。您的 Web 商店會舉行週末銷售，並在銷售期間進行 `1,000,000` Parameter Store API 互動。如果此範例中較高的輸送量成本是`$0.05`每個 `10,000` API 互動，則額外總成本約為 `$5`。您可以在銷售結束時切換回標準輸送量，並停止產生成本。

#### 結合輸送量和參數層
<a name="parameter-store-throughput-tiers"></a>

輸送量獨立於參數層運作。雖然參數層控制儲存限制和功能可用性，但輸送量設定控制請求磁碟區。若要符合效能和擴展需求，您可以同時使用層和輸送量。

例如，若要支援簡單且低負載的應用程式，您可以使用具有預設輸送量的標準參數。若要支援大規模、高頻率的存取模式，您可以結合進階參數與更高的輸送量。一般而言，當您的應用程式超過預設 TPS 限制時 （例如，在並行讀取或寫入的爆量期間），無論您使用的參數層為何，都需要提高輸送量。

如需最大輸送量和其他Parameter Store配額的詳細資訊，請參閱[AWS Systems Manager 端點和配額](https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)。

## 在 中變更輸送量設定 Parameter Store
<a name="parameter-store-throughput-increasing"></a>

下列程序說明如何使用 Systems Manager 變更每秒Parameter Store可處理目前 AWS 帳戶 和 的交易數量 AWS 區域。您可以隨時變更設定。

------
#### [ Console ]

**使用主控台變更Parameter Store輸送量**
**提示**  
如果您尚未建立參數，您可以使用 AWS Command Line Interface (AWS CLI) 或 AWS Tools for Windows PowerShell 來變更輸送量。如需相關資訊，請參閱[在 中變更輸送量設定 Parameter Store](#parameter-store-throughput-increasing)。

1. 在 https：//[https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/) 開啟 AWS Systems Manager 主控台。

1. 在導覽窗格中，選擇 **Parameter Store**。

1. 選擇 **Settings** (設定) 標籤。

1. 選擇**管理設定**。

1. 在**參數輸送量**區段中，選擇選項。

1. 如果出現提示，請選取 選項以核准變更並授權費用。選擇**儲存設定**。

------
#### [ CLI ]

**使用 變更Parameter Store輸送量 AWS CLI**

1. 開啟 AWS CLI 並執行 `aws ssm update-service-setting`命令，以增加或減少每秒Parameter Store可在目前 AWS 帳戶 和 中處理的交易 AWS 區域。下列範例會將輸送量提高到高層級。

   ```
   aws ssm update-service-setting \
   --setting-id arn:aws:ssm:{{region}}:{{account-id}}:servicesetting/ssm/parameter-store/high-throughput-enabled \
   --setting-value true
   ```

   如果命令成功，則無輸出訊息。若要關閉高輸送量，請將 `--setting-value`設定為 `false`。

1. 執行下列命令，以檢視目前 AWS 帳戶 和 Parameter Store中 的目前輸送量服務設定 AWS 區域。

   ```
   aws ssm get-service-setting \
   --setting-id arn:aws:ssm:{{region}}:{{account-id}}:servicesetting/ssm/parameter-store/high-throughput-enabled
   ```

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

   ```
   {
       "ServiceSetting": {
           "SettingId": "/ssm/parameter-store/high-throughput-enabled",
           "SettingValue": "true",
           "LastModifiedDate": 1556551683.923,
           "LastModifiedUser": "arn:aws:sts::123456789012:assumed-role/Administrator/Jasper",
           "ARN": "arn:aws:ssm:us-east-2:123456789012:servicesetting/ssm/parameter-store/high-throughput-enabled",
           "Status": "Customized"
       }
   }
   ```

------
#### [ PowerShell ]

**使用 PowerShell 變更Parameter Store輸送量**

1.  AWS 區域 使用 AWS Tools for PowerShell (Tools for PowerShell) 增加或減少目前 AWS 帳戶 和 中的Parameter Store輸送量。下列範例會將輸送量設定為高層級。

   ```
   Update-SSMServiceSetting -SettingId "arn:aws:ssm:{{region}}:{{account-id}}:servicesetting/ssm/parameter-store/high-throughput-enabled" -SettingValue "true" -Region {{region}}
   ```

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

1. 執行下列命令，以檢視目前 AWS 帳戶 和 Parameter Store中 的目前輸送量服務設定 AWS 區域。

   ```
   Get-SSMServiceSetting -SettingId "arn:aws:ssm:{{region}}:{{account-id}}:servicesetting/ssm/parameter-store/high-throughput-enabled" -Region {{region}}
   ```

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

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

------