

• 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)。

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

# AWS Systems Manager 應用程式工具
<a name="systems-manager-application-management"></a>

應用程式工具是一套功能，可協助您管理在 AWS中執行的應用程式。

**Topics**
+ [AWS AppConfig](appconfig.md)
+ [AWS Systems Manager Application Manager](application-manager.md)
+ [AWS Systems Manager Parameter Store](systems-manager-parameter-store.md)

# AWS AppConfig
<a name="appconfig"></a>

AWS AppConfig 的相關資訊已移至單獨的指南。如需詳細資訊，請參閱下列內容：
+ [AWS AppConfig使用者指南](https://docs.aws.amazon.com/appconfig/latest/userguide/what-is-appconfig.html)
+ [AWS AppConfig API 參考](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/Welcome.html)

# AWS Systems Manager Application Manager
<a name="application-manager"></a>

Application Manager是 中的工具 AWS Systems Manager，可協助 DevOps 工程師在其應用程式和叢集的內容中調查和修復 AWS 資源的問題。 會將多個 AWS 服務 和 Systems Manager 工具的操作資訊Application Manager彙總到單一 AWS 管理主控台。

在 中Application Manager，*應用程式*是您想要做為單位運作的邏輯 AWS 資源群組。此邏輯群組可以代表應用程式的不同版本、運算子的擁有權邊界或開發人員環境等等。Application Manager 可支援容器叢集，包括 Amazon Elastic Kubernetes Service (Amazon EKS) 和 Amazon Elastic Container Service (Amazon ECS) 叢集。

第一次開啟 Application Manager 時，會顯示 **Application Manager 可為您做什麼**頁面。當您選擇**開始使用**時， Application Manager會自動匯入在其他 AWS 服務 或 Systems Manager 工具中建立之資源的中繼資料。 Application Manager 接著 會在依預先定義類別分組的清單中顯示這些資源。

對於 **Applications** (應用程式)，清單包含下列項目：
+ AWS CloudFormation 堆疊
+ 自訂應用程式
+ AWS Launch Wizard 應用程式
+ AppRegistry 應用程式
+ AWS SAP Enterprise 工作負載應用程式
+ Amazon ECS 叢集
+ Amazon EKS 叢集

在您[設定](https://docs.aws.amazon.com/systems-manager/latest/userguide/application-manager-getting-started-related-services.html)和設定 AWS 服務 和 Systems Manager 工具之後， Application Manager會顯示下列有關 資源的資訊類型：
+ 應用程式中 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體的目前狀態、狀態和 Amazon EC2 Auto Scaling 運作狀態相關資訊
+ Amazon CloudWatch 提供的警示
+  AWS Config 和 State Manager(Systems Manager 的元件） 提供的合規資訊
+ Amazon EKS 提供的 Kubernetes 叢集資訊
+  AWS CloudTrail 和 Amazon CloudWatch Logs 提供的日誌資料
+ Systems Manager OpsCenter 提供的 OpsItems
+ 託管資源 AWS 服務 的 所提供的資源詳細資訊。
+ Amazon ECS 提供的容器叢集資訊。

若要協助您修正元件或資源的問題，Application Manager 還會提供可與應用程式建立關聯的 Runbook。若要開始使用 Application Manager，請開啟 [Systems Manager 主控台](https://console.aws.amazon.com//systems-manager/appmanager)。在導覽窗格中，選擇 **Application Manager**。

## 使用 Application Manager 有哪些優點？
<a name="application-manager-learn-more-benefits"></a>

Application Manager 減少 DevOps 工程師偵測和調查 AWS 資源問題所需的時間。若要這樣做， 會在一個主控台中Application Manager顯示應用程式內容中的許多操作資訊類型。 Application Manager也提供執行 AWS 常見資源修復任務的 Runbook，以減少修復問題所需的時間。

## Application Manager 有哪些功能？
<a name="application-manager-learn-more-features"></a>

Application Manager 包含下列功能：
+ **自動匯入您的 AWS 資源**

  在初始設定期間，您可以選擇讓 AWS 帳戶 自動Application Manager匯入和顯示以 CloudFormation 堆疊、 AWS Resource Groups、啟動精靈部署、AppRegistry 應用程式，以及 Amazon ECS 和 Amazon EKS 叢集為基礎的 資源。系統會在預先定義的應用程式或叢集類別中顯示這些資源。之後，每當這些類型的新資源新增至您的 時 AWS 帳戶， Application Manager會自動在預先定義的應用程式和叢集類別中顯示新資源。
+ **建立或編輯 CloudFormation 堆疊和範本**

  Application Manager 可與 [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 整合，進而協助您佈建和管理應用程式的資源。您可以在 中建立、編輯和刪除 CloudFormation 範本和堆疊Application Manager。 Application Manager也包含範本程式庫，您可以在其中複製、建立和存放範本。 Application Manager和 CloudFormation 會顯示堆疊目前狀態的相同資訊。範本和範本更新會存放在 Systems Manager 中，直到您佈建堆疊為止，此時變更也會顯示在 CloudFormation 中。
+ **在應用程式環境中檢視執行個體相關資訊**

  Application Manager 與 Amazon Elastic Compute Cloud (Amazon EC2) 整合，以便在應用程式環境中顯示執行個體的相關資訊。Application Manager 以圖形格式顯示所選應用程式的執行個體狀態、狀態和 Amazon EC2 Auto Scaling 運作狀態。**Instances** (執行個體) 標籤也包含一個資料表，其中包含應用程式中每個執行個體的下列資訊。
  + 執行個體狀態 (待定、停止中、執行中、已停止)
  + SSM Agent 的 Ping 狀態
  + 在執行個體上處理的最新 Systems Manager Automation 執行手冊的狀態和名稱
  + 每個狀態的 Amazon CloudWatch Logs 警示計數。
    + `ALARM` – 指標或表達式在定義的閾值外。
    + `OK` – 指標或表達式在定義的閾值內。
    + `INSUFFICIENT_DATA` – 警示剛啟動，無法使用指標，或資料不足無法讓指標判斷警示狀態。
  + 父群組和個別自動擴展群組的 Auto Scaling 群組運作狀態
+ **檢視應用程式或叢集的操作指標和警示**

  Application Manager 可與 [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 整合，以提供應用程式或叢集的即時操作指標和警示。您可以深入了解應用程式樹狀結構，以檢視每個元件層級的警示，或檢視個別叢集的警示。
+ **檢視應用程式的日誌資料**

  Application Manager 可與 [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) 整合，以在您的應用程式環境中提供日誌資料，而不必離開 Systems Manager。
+ **檢視及管理應用程式或叢集的 OpsItems** 

  Application Manager 可與 [AWS Systems Manager OpsCenter](OpsCenter.md) 整合，以提供應用程式和叢集的營運工作項目 (OpsItems) 清單。該清單反映了自動產生和手動建立的 OpsItems。您可以檢視有關建立 OpsItem 和 OpsItem 狀態、來源和嚴重性的資源的詳細資訊。
+ **檢視應用程式或叢集的資源合規資料** 

  Application Manager 可與 [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html) 整合，以根據您指定的規則提供有關 AWS 資源的合規歷史記錄和詳細資訊。Application Manager 還可與 [AWS Systems Manager State Manager](systems-manager-state.md) 整合，提供有關您要為 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體維護的狀態的合規資訊。
+ **檢視 Amazon ECS 和 Amazon EKS 叢集基礎設施資訊**

  Application Manager 可與 [Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/) 和 [Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html) 整合，以提供有關叢集基礎設施運作狀態的資訊，以及從集中運算、聯網和儲存資源的元件執行時間檢視。

  但是，您無法在 Application Manager 中管理或檢視有關 Amazon EKS Pod 或容器的操作資訊。您只能管理和檢視託管 Amazon EKS 資源之基礎設施的操作資訊。
+ **檢視應用程式的資源成本詳細資訊**

  Application Manager 透過 AWS 帳單與成本管理**成本**小工具與 AWS Cost Explorer的功能整合。在帳單和成本管理主控台中啟用 Cost Explorer 後，Application Manager 中的 **Cost** (成本) 小工具會顯示特定非容器應用程式或應用程式元件的成本資料。您可以使用小工具中的篩選條件，根據長條圖或折線圖中的不同時間週期、粒度和成本類型來檢視成本資料。
+ **在單一主控台中檢視詳細的資源資訊**

  選擇 Application Manager 中列出的資源名稱，並檢視該資源的情境相關資訊和操作資訊，而不必離開 Systems Manager。
+ **接收應用程式的自動資源更新** 

  如果您對服務主控台中的資源進行變更，且該資源屬於 Application Manager 中的應用程式，則 Systems Manager 會自動顯示這些變更。例如，如果您在 CloudFormation 主控台中更新堆疊，而且該堆疊是Application Manager應用程式的一部分，則堆疊更新會自動反映在 中Application Manager。
+ **自動探索 Launch Wizard 應用程式**

  Application Manager 已與 [AWS Launch Wizard](https://docs.aws.amazon.com/launchwizard/?id=docs_gateway) 整合。如果您使用 Launch Wizard 來部署應用程式的資源，Application Manager 可以自動將其匯入並顯示在 Launch Wizard 區段中。
+ **使用 CloudWatch Application Insights 在 Application Manager 中監控應用程式資源**

  Application Manager 與 Amazon CloudWatch Application Insights 整合。Application Insights 會識別和設定金鑰指標、日誌，並在您所有的應用程式資源和技術堆疊中發出警示。Application Insights 持續監控指標和日誌，以偵測和建立異常及錯誤的關聯。系統偵測到錯誤和異常時，Application Insights 會產生 CloudWatch Events，可用於設定通知或採取動作。您可以在 Application Manager 中的 **Overview** (概觀) 和 **Monitoring** (監控) 標籤上啟用和檢視 Application Insights。如需有關 Application Insight 的詳細資訊，請參閱*《Amazon CloudWatch 使用者指南》*中的[什麼是 Amazon CloudWatch Application Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/appinsights-what-is.html)。
+ **使用 Runbook 修正問題** 

  Application Manager 包含預先定義的 Systems Manager Runbook，用於修復 AWS 資源的常見問題。您可以針對應用程式中所有適用資源執行執行手冊，而不必離開 Application Manager。

## 使用 Application Manager 需要付費嗎？
<a name="application-manager-learn-more-cost"></a>

Application Manager 是免費提供的。

## Application Manager 的資源配額是什麼？
<a name="application-manager-learn-more-quotas"></a>

您可以在 *Amazon Web Services 一般參考* 的 [Systems Manager Service Quotas](https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm) 中檢視所有 Systems Manager 工具的配額。除非另有說明，否則每個配額都是區域特定規定。

**Topics**
+ [使用 Application Manager 有哪些優點？](#application-manager-learn-more-benefits)
+ [Application Manager 有哪些功能？](#application-manager-learn-more-features)
+ [使用 Application Manager 需要付費嗎？](#application-manager-learn-more-cost)
+ [Application Manager 的資源配額是什麼？](#application-manager-learn-more-quotas)
+ [設定相關服務](application-manager-getting-started-related-services.md)
+ [設定的 Systems Manager Application Manager 的許可](application-manager-getting-started-permissions.md)
+ [將應用程式和容器叢集新增至 Application Manager](application-manager-getting-started-adding-applications.md)
+ [使用應用程式](application-manager-working-applications.md)

# 設定相關服務
<a name="application-manager-getting-started-related-services"></a>

Application Manager是 中的工具 AWS Systems Manager，會顯示來自其他 和 Systems Manager 工具的資源 AWS 服務 和資訊。若要最大化 Application Manager 中顯示的操作資訊量，建議您在使用 Application Manager *之前*，先設定和配置這些其他服務或工具。

**Topics**
+ [設定任務以匯入資源](#application-manager-getting-started-related-services-resources)
+ [設定任務，以檢視資源的操作資訊](#application-manager-getting-started-related-services-information)

## 設定任務以匯入資源
<a name="application-manager-getting-started-related-services-resources"></a>

下列設定任務可協助您檢視 中的 AWS 資源Application Manager。完成這些任務之後，Systems Manager 可以自動將資源匯入 Application Manager。匯入資源之後，您可以在 Application Manager 中建立應用程式並將您匯入的資源移至其中。這可協助您在應用程式環境中檢視操作資訊。

**（選用） 使用標籤組織您的 AWS 資源**  
您可以將中繼資料以標籤形式指派給 AWS 資源。每個標籤都是由使用者定義的金鑰和值組成的標籤。標籤可協助您管理、識別、組織、搜尋及篩選資源。您可建立標籤，以依照用途、擁有者、環境或其他條件分類資源。

**（選用） 使用 組織您的 AWS 資源 [AWS Resource Groups](https://docs.aws.amazon.com/ARG/latest/userguide/welcome.html)**  
您可以使用資源群組來組織您的 AWS 資源。資源群組可讓您更輕鬆地一次性管理、監控及自動化許多資源的任務。  
Application Manager 會自動匯入所有資源群組，並將它們列在**自訂應用程式**類別中。

**（選用） 使用 設定和部署您的 AWS 資源 [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)**  
CloudFormation 可讓您以可預測且重複的方式建立和佈建 AWS 基礎設施部署。它可以幫助您使用 AWS 服務 ，例如 Amazon EC2、Amazon Elastic Block Store (Amazon EBS)、Amazon Simple Notification Service (Amazon SNS)、Elastic Load Balancing 和 AWS Auto Scaling。使用 CloudFormation，您可以在雲端中建置可靠、可擴展且符合成本效益的應用程式，而不必擔心建立和設定基礎 AWS 基礎設施。  
Application Manager 會自動匯入您的所有 CloudFormation 資源，並將它們列在**CloudFormation 堆疊**類別中。您可以在 Application Manager 中建立 CloudFormation 堆疊。堆疊和範本變更會在 Application Manager 和 CloudFormation 之間自動同步。您也可以在 Application Manager 中建立應用程式並將堆疊移到其中。這樣可協助您在應用程式環境中檢視您堆疊中的資源的操作資訊。如需定價資訊，請參閱 [CloudFormation 定價](https://aws.amazon.com/cloudformation/pricing/)。

**（選用） 使用 設定和部署您的應用程式 AWS Launch Wizard**  
啟動精靈會引導您完成為第三方應用程式調整、設定和部署 AWS 資源的程序，而不需要手動識別和佈建個別 AWS 資源。  
Application Manager 會自動匯入所有的 Launch Wizard 資源，並將它們列在 **Launch Wizard** 堆疊類別中。如需 的詳細資訊 AWS Launch Wizard，請參閱適用於 [SQL Server AWS Launch Wizard 的 入門](https://docs.aws.amazon.com/launchwizard/latest/userguide/launch-wizard-getting-started.html)。Launch Wizard 是免費提供的。您只需支付為執行解決方案而佈建 AWS 的資源。

**(選用) 使用 [Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/) 和 [Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html) 設定及部署您的容器化應用程式**  
Amazon Elastic Container Service (Amazon ECS) 是具高可擴展性且快速的容器管理服務，可讓您輕鬆執行、停止和管理叢集上的容器。您可用來在服務中執行個別任務或任務的任務定義中會對您的容器進行定義。  
Amazon EKS 是一項受管服務，可協助您在 AWS 上執行 Kubernetes，而無需安裝、操作和維護您自己的 Kubernetes 控制平面或節點。Kubernetes 是一套開放原始碼系統，用於容器化應用程式的自動化部署、擴展與管理。  
Application Manager 會自動匯入所有 Amazon ECS 和 Amazon EKS 基礎設施資源，並將它們列在**容器叢集**標籤上。但是，您無法在 Application Manager 中管理或檢視有關 Amazon EKS Pod 或容器的操作資訊。您只能管理和檢視託管 Amazon EKS 資源之基礎設施的操作資訊。如需定價資訊，請參閱 [Amazon ECS 定價](https://aws.amazon.com/ecs/pricing/)和 [Amazon EKS 定價](https://aws.amazon.com/eks/pricing/)。

## 設定任務，以檢視資源的操作資訊
<a name="application-manager-getting-started-related-services-information"></a>

下列設定任務可協助您在 Application Manager 中檢視 AWS 資源的操作資訊。

**(建議) 驗證 [Runbook 許可](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-setup.html)**  
您可以使用 Application Manager Systems Manager Automation Runbook 修復 AWS 資源的問題。若要使用此修正工具，您必須設定或確認許可。如需定價資訊，請參閱 [AWS Systems Manager 定價](https://aws.amazon.com/systems-manager/pricing/)。

**(選用) 啟用 [Cost Explorer](https://docs.aws.amazon.com/cost-management/latest/userguide/ce-enable.html)**  
AWS Cost Explorer 是 的一項功能 AWS Cost Management ，可用來將成本資料視覺化以供進一步分析。啟用 Cost Explorer 時，您可以在 Application Manager 主控台中檢視應用程式資源的成本資訊、成本歷史記錄和有關成本最佳化的資訊。

**(選用) 安裝和設定 Amazon CloudWatch [日誌](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_GettingStarted.html)與[警示](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/GettingStarted.html)**  
CloudWatch 是一種監控和管理服務，可為 AWS混合多雲端應用程式和基礎設施資源提供資料和可行的洞察。使用 CloudWatch，您可以從單一平台以日誌和指標形式收集和存取所有效能和營運資料。若要在 Application Manager 中檢視您資源的 CloudWatch 日誌和警示，您必須安裝和設定 CloudWatch。如需定價資訊，請參閱 [CloudWatch 定價](https://aws.amazon.com/cloudwatch/pricing/)。  
CloudWatch Logs 支援僅適用於應用程式，而不適用於叢集。

**(選用) 安裝和設定 [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/getting-started.html)**  
AWS Config 提供與您 相關聯的資源的詳細檢視 AWS 帳戶，包括其設定方式、彼此的關係，以及組態及其關係如何隨著時間而改變。您可以使用 AWS Config 來評估 AWS 資源的組態設定。您可以透過建立規則來執行此操作，這些 AWS Config 規則代表您的理想組態設定。雖然 AWS Config 會持續追蹤 資源中發生的組態變更，但它會檢查這些變更是否違反規則中的任何條件。如果資源違反規則， 會將資源和規則 AWS Config 標記為*不合規*。 Application Manager會顯示 AWS Config 規則的合規資訊。若要在 中檢視此資料Application Manager，您必須設定 和 AWS Config。如需定價資訊，請參閱 [AWS Config 定價](https://aws.amazon.com/config/pricing/)。

**(選用) 建立 State Manager [關聯](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-state.html)**  
您可以使用 Systems Manager State Manager，以建立指派到受管節點的組態。稱為*關聯*的組態會定義您想在節點上維持的狀態。若要在 Application Manager 中檢視關聯合規資料，您必須設定一個或多個 State Manager 關聯。State Manager 無須額外付費。

**(選用) 安裝和設定 [https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html](https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html)**  
您可以使用 OpsCenter 在 Application Manager 中檢視有關您資源的營運工作項目 (OpsItems)。您可以根據警示和事件設定 Amazon CloudWatch 和 Amazon EventBridge，從而自動將 OpsItems 傳送至 OpsCenter。您也可以手動輸入 OpsItems。如需定價資訊，請參閱 [AWS Systems Manager 定價](https://aws.amazon.com/systems-manager/pricing/)。

# 設定的 Systems Manager Application Manager 的許可
<a name="application-manager-getting-started-permissions"></a>

如果您的 AWS Identity and Access Management (IAM) 實體 （例如使用者、群組或角色） 可存取本主題中列出的 API 操作 AWS Systems Manager，您可以使用 中Application Manager工具 的所有功能。API 操作分成兩個表格，可協助您了解它們執行的不同函數。

下表列出了您在 Application Manager 中選擇資源時 Systems Manager 會呼叫的 API 操作，因為您想要檢視資源詳細資訊。例如，如果 Application Manager 列出了 Amazon EC2 Auto Scaling 群組且您選擇該群組來檢視其詳細資訊，則 Systems Manager 會呼叫 `autoscaling:DescribeAutoScalingGroups` API 操作。如果您的帳戶中沒有任何 Auto Scaling 群組，則不會從 Application Manager 呼叫此 API 操作。


****  

| 僅限資源詳細資訊 | 
| --- | 
|  <pre>acm:DescribeCertificate <br />acm:ListTagsForCertificate<br />autoscaling:DescribeAutoScalingGroups <br />cloudfront:GetDistribution<br />cloudfront:ListTagsForResource <br />cloudtrail:DescribeTrails<br />cloudtrail:ListTags <br />cloudtrail:LookupEvents<br />codebuild:BatchGetProjects <br />codepipeline:GetPipeline<br />codepipeline:ListTagsForResource <br />dynamodb:DescribeTable<br />dynamodb:ListTagsOfResource <br />ec2:DescribeAddresses<br />ec2:DescribeCustomerGateways <br />ec2:DescribeHosts<br />ec2:DescribeInternetGateways <br />ec2:DescribeNetworkAcls<br />ec2:DescribeNetworkInterfaces <br />ec2:DescribeRouteTables<br />ec2:DescribeSecurityGroups <br />ec2:DescribeSubnets<br />ec2:DescribeVolumes <br />ec2:DescribeVpcs <br />ec2:DescribeVpnConnections<br />ec2:DescribeVpnGateways <br />elasticbeanstalk:DescribeApplications<br />elasticbeanstalk:ListTagsForResource<br />elasticloadbalancing:DescribeInstanceHealth<br />elasticloadbalancing:DescribeListeners<br />elasticloadbalancing:DescribeLoadBalancers<br />elasticloadbalancing:DescribeTags <br />iam:GetGroup <br />iam:GetPolicy<br />iam:GetRole <br />iam:GetUser <br />lambda:GetFunction<br />rds:DescribeDBClusters <br />rds:DescribeDBInstances<br />rds:DescribeDBSecurityGroups <br />rds:DescribeDBSnapshots<br />rds:DescribeDBSubnetGroups <br />rds:DescribeEventSubscriptions<br />rds:ListTagsForResource <br />redshift:DescribeClusterParameters<br />redshift:DescribeClusterSecurityGroups<br />redshift:DescribeClusterSnapshots<br />redshift:DescribeClusterSubnetGroups <br />redshift:DescribeClusters<br />s3:GetBucketTagging</pre>  | 

下表列出了 API 操作，其中 Systems Manager 會使用這些操作變更 Application Manager 中列出的應用程式和資源或檢視所選應用程式或資源的操作資訊。


****  

| 應用程式動作與詳細資訊 | 
| --- | 
|  <pre><br />applicationinsights:CreateApplication<br />applicationinsights:DescribeApplication<br />applicationinsights:ListProblems<br />ce:GetCostAndUsage<br />ce:GetTags<br />ce:ListCostAllocationTags<br />ce:UpdateCostAllocationTagsStatus<br />cloudformation:CreateStack<br />cloudformation:DeleteStack<br />cloudformation:DescribeStackDriftDetectionStatus<br />cloudformation:DescribeStackEvents<br />cloudformation:DescribeStacks<br />cloudformation:DetectStackDrift<br />cloudformation:GetTemplate<br />cloudformation:GetTemplateSummary<br />cloudformation:ListStacks<br />cloudformation:UpdateStack<br />cloudwatch:DescribeAlarms<br />cloudwatch:DescribeInsightRules<br />cloudwatch:DisableAlarmActions<br />cloudwatch:EnableAlarmActions<br />cloudwatch:GetMetricData<br />cloudwatch:ListTagsForResource<br />cloudwatch:PutMetricAlarm<br />config:DescribeComplianceByConfigRule<br />config:DescribeComplianceByResource<br />config:DescribeConfigRules<br />config:DescribeRemediationConfigurations<br />config:GetComplianceDetailsByConfigRule<br />config:GetComplianceDetailsByResource<br />config:GetResourceConfigHistory<br />config:ListDiscoveredResources<br />config:PutRemediationConfigurations<br />config:SelectResourceConfig<br />config:StartConfigRulesEvaluation<br />config:StartRemediationExecution<br />ec2:DescribeInstances<br />ecs:DescribeCapacityProviders<br />ecs:DescribeClusters<br />ecs:DescribeContainerInstances<br />ecs:ListClusters<br />ecs:ListContainerInstances<br />ecs:TagResource<br />eks:DescribeCluster<br />eks:DescribeFargateProfile<br />eks:DescribeNodegroup<br />eks:ListClusters<br />eks:ListFargateProfiles<br />eks:ListNodegroups<br />eks:TagResource<br />iam:CreateServiceLinkedRole<br />iam:ListRoles<br />logs:DescribeLogGroups<br />resource-groups:CreateGroup<br />resource-groups:DeleteGroup<br />resource-groups:GetGroup<br />resource-groups:GetGroupQuery<br />resource-groups:GetTags<br />resource-groups:ListGroupResources<br />resource-groups:ListGroups<br />resource-groups:Tag<br />resource-groups:Untag<br />resource-groups:UpdateGroup<br />s3:ListAllMyBuckets<br />s3:ListBucket<br />s3:ListBucketVersions<br />servicecatalog:GetApplication<br />servicecatalog:ListApplications<br />sns:CreateTopic<br />sns:ListSubscriptionsByTopic<br />sns:ListTopics<br />sns:Subscribe<br />ssm:AddTagsToResource<br />ssm:CreateDocument<br />ssm:CreateOpsMetadata<br />ssm:DeleteDocument<br />ssm:DeleteOpsMetadata<br />ssm:DescribeAssociation<br />ssm:DescribeAutomationExecutions<br />ssm:DescribeDocument<br />ssm:DescribeDocumentPermission<br />ssm:GetDocument<br />ssm:GetInventory<br />ssm:GetOpsMetadata<br />ssm:GetOpsSummary<br />ssm:GetServiceSetting<br />ssm:ListAssociations<br />ssm:ListComplianceItems<br />ssm:ListDocuments<br />ssm:ListDocumentVersions<br />ssm:ListOpsMetadata<br />ssm:ListResourceComplianceSummaries<br />ssm:ListTagsForResource<br />ssm:ModifyDocumentPermission<br />ssm:RemoveTagsFromResource<br />ssm:StartAssociationsOnce<br />ssm:StartAutomationExecution<br />ssm:UpdateDocument<br />ssm:UpdateDocumentDefaultVersion<br />ssm:UpdateOpsItem<br />ssm:UpdateOpsMetadata<br />ssm:UpdateServiceSetting<br />tag:GetTagKeys<br />tag:GetTagValues<br />tag:TagResources<br />tag:UntagResources</pre>  | 

## 所有 Application Manager 許可的範例政策
<a name="application-manager-getting-started-user-permissions"></a>

若要設定 IAM 實體 (例如使用者、群組或角色) 的 Application Manager 許可，請使用下列範例建立 IAM 政策。此政策範例包含 Application Manager 使用的所有 API 操作。

------
#### [ JSON ]

****  

```
                    {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "acm:DescribeCertificate",
                "acm:ListTagsForCertificate",
                "applicationinsights:CreateApplication",
                "applicationinsights:DescribeApplication",
                "applicationinsights:ListProblems",
                "autoscaling:DescribeAutoScalingGroups",
                "ce:GetCostAndUsage",
                "ce:GetTags",
                "ce:ListCostAllocationTags",
                "ce:UpdateCostAllocationTagsStatus",
                "cloudformation:CreateStack",
                "cloudformation:DeleteStack",
                "cloudformation:DescribeStackDriftDetectionStatus",
                "cloudformation:DescribeStackEvents",
                "cloudformation:DescribeStacks",
                "cloudformation:DetectStackDrift",
                "cloudformation:GetTemplate",
                "cloudformation:GetTemplateSummary",
                "cloudformation:ListStacks",
                "cloudformation:ListStackResources",
                "cloudformation:UpdateStack",
                "cloudfront:GetDistribution",
                "cloudfront:ListTagsForResource",
                "cloudtrail:DescribeTrails",
                "cloudtrail:ListTags",
                "cloudtrail:LookupEvents",
                "cloudwatch:DescribeAlarms",
                "cloudwatch:DescribeInsightRules",
                "cloudwatch:DisableAlarmActions",
                "cloudwatch:EnableAlarmActions",
                "cloudwatch:GetMetricData",
                "cloudwatch:ListTagsForResource",
                "cloudwatch:PutMetricAlarm",
                "codebuild:BatchGetProjects",
                "codepipeline:GetPipeline",
                "codepipeline:ListTagsForResource",
                "config:DescribeComplianceByConfigRule",
                "config:DescribeComplianceByResource",
                "config:DescribeConfigRules",
                "config:DescribeRemediationConfigurations",
                "config:GetComplianceDetailsByConfigRule",
                "config:GetComplianceDetailsByResource",
                "config:GetResourceConfigHistory",
                "config:ListDiscoveredResources",
                "config:PutRemediationConfigurations",
                "config:SelectResourceConfig",
                "config:StartConfigRulesEvaluation",
                "config:StartRemediationExecution",
                "dynamodb:DescribeTable",
                "dynamodb:ListTagsOfResource",
                "ec2:DescribeAddresses",
                "ec2:DescribeCustomerGateways",
                "ec2:DescribeHosts",
                "ec2:DescribeInstances",
                "ec2:DescribeInternetGateways",
                "ec2:DescribeNetworkAcls",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DescribeRouteTables",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSubnets",
                "ec2:DescribeVolumes",
                "ec2:DescribeVpcs",
                "ec2:DescribeVpnConnections",
                "ec2:DescribeVpnGateways",
                "ecs:DescribeCapacityProviders",
                "ecs:DescribeClusters",
                "ecs:DescribeContainerInstances",
                "ecs:ListClusters",
                "ecs:ListContainerInstances",
                "ecs:TagResource",
                "eks:DescribeCluster",
                "eks:DescribeFargateProfile",
                "eks:DescribeNodegroup",
                "eks:ListClusters",
                "eks:ListFargateProfiles",
                "eks:ListNodegroups",
                "eks:TagResource",
                "elasticbeanstalk:DescribeApplications",
                "elasticbeanstalk:ListTagsForResource",
                "elasticloadbalancing:DescribeInstanceHealth",
                "elasticloadbalancing:DescribeListeners",
                "elasticloadbalancing:DescribeLoadBalancers",
                "elasticloadbalancing:DescribeTags",
                "iam:CreateServiceLinkedRole",
                "iam:GetGroup",
                "iam:GetPolicy",
                "iam:GetRole",
                "iam:GetUser",
                "iam:ListRoles",
                "lambda:GetFunction",
                "logs:DescribeLogGroups",
                "rds:DescribeDBClusters",
                "rds:DescribeDBInstances",
                "rds:DescribeDBSecurityGroups",
                "rds:DescribeDBSnapshots",
                "rds:DescribeDBSubnetGroups",
                "rds:DescribeEventSubscriptions",
                "rds:ListTagsForResource",
                "redshift:DescribeClusterParameters",
                "redshift:DescribeClusters",
                "redshift:DescribeClusterSecurityGroups",
                "redshift:DescribeClusterSnapshots",
                "redshift:DescribeClusterSubnetGroups",
                "resource-groups:CreateGroup",
                "resource-groups:DeleteGroup",
                "resource-groups:GetGroup",
                "resource-groups:GetGroupQuery",
                "resource-groups:GetTags",
                "resource-groups:ListGroupResources",
                "resource-groups:ListGroups",
                "resource-groups:Tag",
                "resource-groups:Untag",
                "resource-groups:UpdateGroup",
                "s3:GetBucketTagging",
                "s3:ListAllMyBuckets",
                "s3:ListBucket",
                "s3:ListBucketVersions",
                "servicecatalog:GetApplication",
                "servicecatalog:ListApplications",
                "sns:CreateTopic",
                "sns:ListSubscriptionsByTopic",
                "sns:ListTopics",
                "sns:Subscribe",
                "ssm:AddTagsToResource",
                "ssm:CreateDocument",
                "ssm:CreateOpsMetadata",
                "ssm:DeleteDocument",
                "ssm:DeleteOpsMetadata",
                "ssm:DescribeAssociation",
                "ssm:DescribeAutomationExecutions",
                "ssm:DescribeDocument",
                "ssm:DescribeDocumentPermission",
                "ssm:GetDocument",
                "ssm:GetInventory",
                "ssm:GetOpsMetadata",
                "ssm:GetOpsSummary",
                "ssm:GetServiceSetting",
                "ssm:ListAssociations",
                "ssm:ListComplianceItems",
                "ssm:ListDocuments",
                "ssm:ListDocumentVersions",
                "ssm:ListOpsMetadata",
                "ssm:ListResourceComplianceSummaries",
                "ssm:ListTagsForResource",
                "ssm:ModifyDocumentPermission",
                "ssm:RemoveTagsFromResource",
                "ssm:StartAssociationsOnce",
                "ssm:StartAutomationExecution",
                "ssm:UpdateDocument",
                "ssm:UpdateDocumentDefaultVersion",
                "ssm:UpdateOpsMetadata",
                "ssm:UpdateOpsItem",
                "ssm:UpdateServiceSetting",
                "tag:GetResources",
                "tag:GetTagKeys",
                "tag:GetTagValues",
                "tag:TagResources",
                "tag:UntagResources"
            ],
            "Resource": "*"
        }
    ]
}
```

------

**注意**  
您可以從連接到使用者、群組或角色的 IAM 許可政策中刪除以下 API 操作，進而限制使用者在 Application Manager 變更應用程序和資源的能力。移除這些動作會在 Application Manager 中建立唯讀體驗。以下是允許使用者變更應用程式或任何其他相關資源的所有 API。  

```
applicationinsights:CreateApplication
ce:UpdateCostAllocationTagsStatus
cloudformation:CreateStack
cloudformation:DeleteStack
cloudformation:UpdateStack
cloudwatch:DisableAlarmActions
cloudwatch:EnableAlarmActions
cloudwatch:PutMetricAlarm
config:PutRemediationConfigurations
config:StartConfigRulesEvaluation
config:StartRemediationExecution
ecs:TagResource
eks:TagResource
iam:CreateServiceLinkedRole
resource-groups:CreateGroup
resource-groups:DeleteGroup
resource-groups:Tag
resource-groups:Untag
resource-groups:UpdateGroup
sns:CreateTopic
sns:Subscribe
ssm:AddTagsToResource
ssm:CreateDocument
ssm:CreateOpsMetadata
ssm:DeleteDocument
ssm:DeleteOpsMetadata
ssm:ModifyDocumentPermission
ssm:RemoveTagsFromResource
ssm:StartAssociationsOnce
ssm:StartAutomationExecution
ssm:UpdateDocument
ssm:UpdateDocumentDefaultVersion
ssm:UpdateOpsMetadata
ssm:UpdateOpsItem
ssm:UpdateServiceSetting
tag:TagResources
tag:UntagResources
```

如需有關建立和編輯 IAM 政策的資訊，請參閱《IAM 使用者指南》**中的[建立 IAM 政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)。如需有關如何將此政策指派給 IAM 實體 (例如使用者、群組或角色) 的資訊，請參閱[新增和移除 IAM 身分許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)。

# 將應用程式和容器叢集新增至 Application Manager
<a name="application-manager-getting-started-adding-applications"></a>

Application Manager 是 的元件 AWS Systems Manager。在 中Application Manager，*應用程式*是您想要做為單位運作的邏輯 AWS 資源群組。此邏輯群組可以代表應用程式的不同版本、運算子的擁有權邊界或開發人員環境等等。

第一次開啟 Application Manager 時，會顯示**Application Manager 可為您做什麼**頁面。當您選擇**開始使用**時，Application Manager 會自動匯入有關在其他 AWS 服務 或 Systems Manager 工具中建立之資源的中繼資料。然後 Application Manager 會在以預先定義類別分組的清單中顯示這些資源。

對於 **Applications** (應用程式)，清單包含下列項目：
+ AWS CloudFormation 堆疊
+ 自訂應用程式
+ AWS Launch Wizard 應用程式
+ AppRegistry 應用程式
+ AWS SAP Enterprise 工作負載應用程式
+ Amazon ECS 叢集
+ Amazon EKS 叢集

匯入完成後，您可以在這些預先定義的類別中檢視應用程式或特定資源的操作資訊。或者，如果您想要提供有關資源集合的更多內容，您可以在 Application Manager 中手動建立應用程式。然後，您可以將資源或資源群組新增至該應用程式中。在 Application Manager 中建立應用程式之後，您可以在應用程式環境中檢視資源的操作資訊。

## 在 Application Manager 中建立應用程式
<a name="application-manager-create-application"></a>

使用下列程序在 Application Manager 建立應用程式並將資源新增至該應用程式。

**在 Application Manager 中建立應用程式**

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

1. 在導覽窗格中，選擇 **Application Manager**。

1. 選擇**建立應用程式**。

1. 從下拉式清單中選擇選項，並填寫顯示頁面中的欄位。

# 使用應用程式
<a name="application-manager-working-applications"></a>

Application Manager 是 的元件 AWS Systems Manager。該區段包含可協助您使用 Application Manager 應用程式並檢視您的 AWS 資源的操作資訊的主題。

**Topics**
+ [Application Manager 中的應用程式概觀](application-manager-working-viewing-overview.md)
+ [管理應用程式 EC2 執行個體](application-manager-working-instances.md)
+ [檢視與應用程式關聯的資源](application-manager-working-viewing-resources.md)
+ [管理應用程式合規性](application-manager-working-viewing-resource-compliance.md)
+ [使用 CloudWatch Application Insights 監控應用程式](application-manager-working-viewing-monitors.md)
+ [檢視應用程式的 OpsItems](application-manager-working-viewing-OpsItems.md)
+ [管理應用程式日誌](application-manager-viewing-logs.md)
+ [使用自動化執行手冊修復應用程式問題](application-manager-working-runbooks.md)
+ [標記 Application Manager 中的資源](application-manager-working-tags.md)
+ [在 中使用 CloudFormation 範本和堆疊 Application Manager](application-manager-working-stacks.md)
+ [使用 Application Manager 中的叢集](application-manager-working-clusters.md)

# Application Manager 中的應用程式概觀
<a name="application-manager-working-viewing-overview"></a>

在 的Application Manager元件中 AWS Systems Manager，**概觀**索引標籤會顯示 Amazon CloudWatch 警示、操作工作項目 (OpsItems)、CloudWatch Application Insights 和 Runbook 歷史記錄的摘要。選擇任意卡的 **View all** (檢視所有) 以開啟相應的標籤，您可以在其中檢視所有應用程式洞察、警示、OpsItems 或 Runbook 歷史記錄。

**關於 Application Insights**  
CloudWatch Application Insights 會識別和設定金鑰指標、日誌，並在您所有的應用程式資源和技術堆疊中發出警示。Application Insights 持續監控指標和日誌，以偵測和建立異常及錯誤的關聯。系統偵測到錯誤和異常時，Application Insights 會產生 CloudWatch Events，可用於設定通知或採取動作。如果選擇 **Monitoring** (監控) 標籤上的 **Edit configuration** (編輯組態) 按鈕，系統會開啟 CloudWatch Application Insights 主控台。如需有關 Application Insight 的詳細資訊，請參閱*《Amazon CloudWatch 使用者指南》*中的[什麼是 Amazon CloudWatch Application Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/appinsights-what-is.html)。

**關於 Cost Explorer**  
Application Manager 透過成本小工具和**成本**索引標籤，與**成本**[AWS 管理](https://docs.aws.amazon.com/account-billing/index.html) AWS Cost Explorer的功能整合。在成本管理主控台中啟用 Cost Explorer 後，Application Manager 中的**成本**和**成本**索引標籤會顯示特定非容器應用程式或應用程式元件的成本資料。您可以使用小工具或索引標籤中的篩選條件，根據長條圖或折線圖中的不同時間週期、粒度和成本類型來檢視成本資料。

您可以選擇**前往 AWS 成本管理主控台按鈕來**啟用此功能。根據預設，系統會將資料篩選為過去三個月。對於非容器應用程式，如果您選擇 **View all** (檢視所有) 按鈕，則 Application Manager 會開啟 **Resources** (資源) 標籤。對於容器應用程式，**View all** (檢視所有) 按鈕會開啟 AWS Cost Explorer 主控台。

**您可以在此標籤上執行的動作**  
您可以在此頁面的 **Overview** (概觀) 標籤上開啟並存取下列小工具的相關資訊。啟用小工具時，請選擇 **View all** (檢視全部) 以查看該區域的相關應用程式詳細資訊。
+ 在 **Insights and Alarms** (深入解析和警示) 區段中，選擇嚴重性數字以開啟 **Monitoring** (監控) 標籤，您可以在其中檢視所選嚴重性警示的更多詳細資訊。
+ 在 **Cost** (成本) 區段中，選擇 **View all** (檢視全部) 以開啟 **Resources** (資源) 標籤，您可以在其中檢視特定應用程式或應用程式元件的成本資料。
+ 在**合規**區段中，選擇**檢視全部**以開啟**合規**索引標籤，您可以在其中檢視來自 AWS Config 和 State Manager關聯的合規資訊。
**注意**  
若要檢視修補程式合規詳細資訊，則請直接選擇 **Compliance** (合規) 標籤。然後，您可以檢視所選應用程式使用之受管節點的修補程式合規詳細資訊。
+ 在 **Runbooks** 區段中，選擇 Systems Manager **Documents** (文件) 頁面中的 Runbook 以將其開啟，您可以在其中檢視有關文件的更多詳細資訊。
+ 在 **OpsItems** 區段中，選擇一種嚴重性以開啟 **OpsItems** 標籤，您可以在其中檢視所選嚴重性的所有 OpsItems。
+ 選擇 **View all** (檢視所有) 按鈕來開啟相應的標籤。您可以檢視應用程式的所有警示、OpsItems 或 Runbook 歷程記錄項目。

**開啟 **Overview** (概觀) 標籤**

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

1. 在導覽窗格中，選擇 **Application Manager**。

1. 在 **Applications** (應用程式) 區段中，選擇類別。如果您想要在 Application Manager 中開啟您手動建立的應用程式，選擇 **Custom applications** (自訂應用程式)。

1. 在清單中選擇應用程式。Application Manager 會開啟 **Overview** (概觀) 標籤。

# 管理應用程式 EC2 執行個體
<a name="application-manager-working-instances"></a>

Application Manager 與 Amazon Elastic Compute Cloud (Amazon EC2) 整合，以便在應用程式環境中顯示執行個體的相關資訊。Application Manager 以圖形格式顯示所選應用程式的執行個體狀態、狀態和 Amazon EC2 Auto Scaling 運作狀態。**Instances** (執行個體) 標籤也包含一個資料表，其中包含應用程式中每個執行個體的下列資訊：
+ 執行個體狀態 (待定、停止中、執行中、已停止)
+ SSM Agent 的 Ping 狀態
+ 在執行個體上處理的最新 Systems Manager Automation 執行手冊的狀態和名稱
+ 每個狀態的 Amazon CloudWatch Logs 警示計數。
  + `ALARM` – 指標或表達式在定義的閾值外。
  + `OK` – 指標或表達式在定義的閾值內。
  + `INSUFFICIENT_DATA` – 警示剛啟動，無法使用指標，或資料不足無法讓指標判斷警示狀態。
+ 父群組和個別自動擴展群組的 Auto Scaling 群組運作狀態

如果您在 **All instances** (所有執行個體) 資料表中選擇執行個體，則 Application Manager 會在四個標籤中顯示該執行個體的相關資訊：
+ **Details** (詳細資訊) – 來自 Amazon EC2 的所有執行個體詳細資訊，包括 Amazon Machine Image (AMI)、DNS 資訊、IP 地址資訊等。
+ **Health** (運作狀態) – EC2 系統和執行個體狀態檢查提供的目前狀態。
+ **Execution history** (執行歷史記錄) – 執行個體所處理的 Systems Manager Automation 執行手冊和 API 呼叫的執行日誌。
+ **CloudWatch alarms** (CloudWatch 警示) – 執行個體引發的任何 CloudWatch 警示的名稱、狀態及其他資訊。

**您可以在此標籤上執行的動作**  
您也可以在此頁面上執行下列動作：
+ 啟動、停止和終止執行個體。
+ 套用 Chef 配方。
+ 將執行個體連接至 Auto Scaling 群組或從中分離。
+ 啟用 SSM Agent 的自動化更新。

**開啟 **Instances** (執行個體) 標籤**

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

1. 在導覽窗格中，選擇 **Application Manager**。

1. 在 **Applications** (應用程式) 區段中，選擇類別。如果您想要在 Application Manager 中開啟您手動建立的應用程式，則請選擇 **Custom applications** (自訂應用程式)。

1. 在清單中選擇應用程式。Application Manager 會開啟 **Overview** (概觀) 標籤。

1. 選擇**執行個體**標籤。

**檢視您的應用程式執行個體的詳細資訊**

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

1. 在導覽窗格中，選擇 **Application Manager**。

1. 在 **Applications** (應用程式) 區段中，選擇類別。如果您想要在 Application Manager 中開啟您手動建立的應用程式，則請選擇 **Custom applications** (自訂應用程式)。

1. 在清單中選擇應用程式。Application Manager 會開啟 **Overview** (概觀) 標籤。

1. 選擇**執行個體**標籤。

1. 選取您要檢視其詳細資訊之執行個體旁的按鈕。

1. 檢視頁面底部的執行個體詳細資訊。

**自動更新 SSM Agent**

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

1. 在導覽窗格中，選擇 **Application Manager**。

1. 在 **Applications** (應用程式) 區段中，選擇類別。如果您想要在 Application Manager 中開啟您手動建立的應用程式，則請選擇 **Custom applications** (自訂應用程式)。

1. 在清單中選擇應用程式。Application Manager 會開啟 **Overview** (概觀) 標籤。

1. 選擇**執行個體**標籤。

1. 在**代理程式動作**下拉式清單中，選擇**設定 SSM Agent 更新**。

1. 選擇**所有執行個體**以設定所有受管執行個體的自動 SSM Agent 更新。或者，選擇**執行個體**，為應用程式中的單一執行個體設定自動 SSM Agent 更新。

1. 選取**啟用自動更新**切換開關。

1. 在**指定排程**下拉式清單中，選擇您要用於 SSM Agent 更新的排程。

1. 選取**設定**。

# 檢視與應用程式關聯的資源
<a name="application-manager-working-viewing-resources"></a>

在 的Application Manager元件中 AWS Systems Manager，**資源**索引標籤會顯示應用程式中 AWS 的資源。如果您選擇頂層元件，此頁面會顯示該元件及任何子元件的所有資源。如果您選擇子元件，此頁面只會顯示指派給該子元件的資源。

**您可以在此標籤上執行的動作**  
您也可以在此頁面上執行下列動作：
+ 選擇資源名稱以檢視相關資訊，包括由建立資源的主控台提供的詳細資訊、標籤、Amazon CloudWatch 警示、 AWS Config 詳細資訊和 AWS CloudTrail 日誌資訊。
+ 選擇資源名稱旁邊的選項按鈕。然後，選擇**資源時間軸**按鈕以開啟 AWS Config 主控台，您可以在其中檢視所選資源的合規資訊。
+ 如果您啟用 AWS Cost Explorer，**Cost Explorer** 區段會顯示特定非容器應用程式或應用程式元件的成本資料。您可以選擇**前往 AWS 成本管理主控台按鈕來**啟用此功能。您可以使用本區段中的篩選條件來檢視應用程式的成本資訊。

**開啟 **Resources** (資源) 索引標籤**

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

1. 在導覽窗格中，選擇 **Application Manager**。

1. 在 **Applications** (應用程式) 區段中，選擇類別。如果您想要在 Application Manager 中開啟您手動建立的應用程式，選擇 **Custom applications** (自訂應用程式)。

1. 在清單中選擇應用程式。Application Manager 會開啟 **Overview** (概觀) 標籤。

1. 選擇 **Resources** (資源) 索引標籤。

# 管理應用程式合規性
<a name="application-manager-working-viewing-resource-compliance"></a>

在 的Application Manager元件中 AWS Systems Manager，**組態**頁面會顯示[AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/)資源和組態規則合規資訊。此頁面也會顯示 AWS Systems Manager [https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-state.html](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-state.html)關聯合規資訊。您可以選擇資源、規則或關聯，以開啟對應的主控台，進而取得詳細資訊。此頁面會顯示過去 90 天的合規資訊。

**您可以在此標籤上執行的動作**  
您也可以在此頁面上執行下列動作：
+ 選擇資源名稱以開啟 AWS Config 主控台，您可以在其中檢視所選資源的合規資訊。
+ 選擇資源名稱旁邊的選項按鈕。然後，選擇**資源時間軸**按鈕以開啟 AWS Config 主控台，您可以在其中檢視所選資源的合規資訊。
+ 在 **Config rules compliance** (組態規則合規) 區段中，您可以執行下列操作：
  + 選擇規則名稱以開啟 AWS Config 主控台，您可以在其中檢視該規則的相關資訊。
  + 選擇**新增規則**以開啟主控台，您可以在 AWS Config 其中建立規則。
  + 選擇規則名稱旁的選項按鈕，選擇 **Actions** (動作)，然後選擇 **Manage remediation** (管理修正) 以變更規則的修正動作。
  + 選擇規則名稱旁的選項按鈕，選擇**動作**，然後選擇**重新評估**，以對選取的規則 AWS Config 執行合規檢查。
+ 在 **Association compliance** (關聯合規) 區段中，您可以執行以下操作：
  + 選擇關聯名稱以開啟 **Associations** (關聯) 頁面，您可在其中檢視該關聯的相關資訊。
  + 選擇 **Create association** (建立關聯) 以開啟 Systems ManagerState Manager，您可以在其中建立關聯。
  + 選擇關聯名稱旁的選項按鈕，然後選擇 **Apply association** (套用關聯) 以立即啟動關聯中指定的所有動作。

**開啟 **Compliance** (合規) 標籤**

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

1. 在導覽窗格中，選擇 **Application Manager**。

1. 在 **Applications** (應用程式) 區段中，選擇類別。如果您想要在 Application Manager 中開啟您手動建立的應用程式，選擇 **Custom applications** (自訂應用程式)。

1. 在清單中選擇應用程式。Application Manager 會開啟 **Overview** (概觀) 標籤。

1. 選擇 **Compliance** (合規) 標籤。

# 使用 CloudWatch Application Insights 監控應用程式
<a name="application-manager-working-viewing-monitors"></a>

在 的Application Manager元件中 AWS Systems Manager，**監控**索引標籤會顯示應用程式中資源的 Amazon CloudWatch Application Insights 和警示詳細資訊。

**關於 Application Insights**  
CloudWatch Application Insights 會識別和設定金鑰指標、日誌，並在您所有的應用程式資源和技術堆疊中發出警示。Application Insights 持續監控指標和日誌，以偵測和建立異常及錯誤的關聯。系統偵測到錯誤和異常時，Application Insights 會產生 CloudWatch Events，可用於設定通知或採取動作。如果選擇 **Monitoring** (監控) 標籤上的 **Edit configuration** (編輯組態) 按鈕，系統會開啟 CloudWatch Application Insights 主控台。如需有關 Application Insight 的詳細資訊，請參閱*《Amazon CloudWatch 使用者指南》*中的[什麼是 Amazon CloudWatch Application Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/appinsights-what-is.html)。

**您可以在此標籤上執行的動作**  
您也可以在此頁面上執行下列動作：
+ 在**依服務排序警示區段中選擇 AWS **服務名稱，以開啟 CloudWatch 至選取的服務和警示。
+ 選取其中一個預先定義的時段值，在 **Recent alarms** (最近警示) 區段中，調整小工具中顯示的資料的時段。您可以選擇 **custom** (自訂) 來定義您自己的時段。  
![\[Application Manager Monitoring (監控) 標籤上的時段控制。\]](http://docs.aws.amazon.com/zh_tw/systems-manager/latest/userguide/images/application-manager-Monitoring-1.png)
+ 將游標暫留在 **Recent alarms** (最近警示) 區段中的小工具上，以檢視特定時間的資料快顯。  
![\[Application Manager Monitoring (監控) 標籤的 Recent alarms (最近警示) 區段中的警示小工具。\]](http://docs.aws.amazon.com/zh_tw/systems-manager/latest/userguide/images/application-manager-Monitoring-2.png)
+ 選擇小工具中的選項選單，以檢視顯示選項。選擇 **Enlarge** (放大) 以展開小工具。選擇 **Refresh** (重新整理) 以更新小工具中的資料。按一下您的游標，並將其拖曳至小工具資料上，以選取特定範圍。然後，您可以選擇 **Apply time range** (套用時間範圍)。  
![\[Application Manager 中的警示小工具選項。\]](http://docs.aws.amazon.com/zh_tw/systems-manager/latest/userguide/images/application-manager-Monitoring-3.png)
+ 選擇 **Actions** (動作) 選單，以檢視警示資料 **Override** (覆寫) 選項，其中包含下列項目：
  + 選擇是否要讓小工具顯示即時資料。即時資料是在尚未完全彙總的最後一分鐘內所發佈的資料。如果即時資料已關閉，則只會顯示至少過去一分鐘彙總期間內的資料點。例如，若使用 5 分鐘的期間，則 12:35 的資料點會從 12:35 彙總到 12:40，並在 12:41 顯示。

    如果即時資料已開啟，則會在對應彙總時間間隔內發布任何資料時，立即顯示最新資料點。每次重新整理顯示畫面時，最新資料點可能會在該彙總期間內發佈新資料的同時隨之變更。
  + 指定即時資料的時段。
  + 連結 **Recent alarms** (最近警示) 區段中的圖表，如此一來，當您放大或縮小某個圖表時，另一個圖表會同時放大或縮小。您可以取消連結圖表，以限制對一個圖表進行縮放。
  + 隱藏 Auto Scaling 警示。  
![\[Application Manager Monitoring (監控) 標籤的 Action (動作) 選單。\]](http://docs.aws.amazon.com/zh_tw/systems-manager/latest/userguide/images/application-manager-Monitoring-4.png)

**開啟 **Monitoring** (監控) 索引標籤**

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

1. 在導覽窗格中，選擇 **Application Manager**。

1. 在 **Applications** (應用程式) 區段中，選擇類別。如果您想要在 Application Manager 中開啟您手動建立的應用程式，選擇 **Custom applications** (自訂應用程式)。

1. 在清單中選擇應用程式。Application Manager 會開啟 **Overview** (概觀) 標籤。

1. 選擇 **Monitoring** (監控) 索引標籤。

# 檢視應用程式的 OpsItems
<a name="application-manager-working-viewing-OpsItems"></a>

在 的Application Manager元件中 AWS Systems Manager，**OpsItems**標籤會顯示所選應用程式中資源的操作工作項目 (OpsItems)。您可以設定 Systems Manager OpsCenter 以從 Amazon CloudWatch 警示和 Amazon EventBridge 事件自動建立 OpsItems。您也可以手動建立 OpsItems。

**您可以在此標籤上執行的動作**  
您也可以在此頁面上執行下列動作：
+ 使用搜尋欄位篩選 OpsItems 的清單。您可以依OpsItem 名稱、ID、來源 ID 或嚴重性進行篩選。您也可以根據狀態篩選清單。OpsItems 支援下列狀態：Open (開放)、In progress (正在進行)、Open and In progress (開放並正在進行)、Resolved (已解決) 或 All (所有)。
+ 選擇其旁邊的選項按鈕然後選擇 **Set status** (設定狀態) 選單中的選項，變更 OpsItem 的狀態。
+ 開啟 Systems Manager OpsCenter，以透過選擇 **Create OpsItem** (建立 OpsItem) 建立 OpsItem。

**若要開啟 **OpsItems** 標籤**

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

1. 在導覽窗格中，選擇 **Application Manager**。

1. 在 **Applications** (應用程式) 區段中，選擇類別。如果您想要在 Application Manager 中開啟您手動建立的應用程式，選擇 **Custom applications** (自訂應用程式)。

1. 在清單中選擇應用程式。Application Manager 會開啟 **Overview** (概觀) 標籤。

1. 選擇 ** (OpsItems)** 索引標籤。

# 管理應用程式日誌
<a name="application-manager-viewing-logs"></a>

在 的Application Manager元件中 AWS Systems Manager，**日誌**索引標籤會顯示來自 Amazon CloudWatch Logs 的日誌群組清單。

**您可以在此標籤上執行的動作**  
您也可以在此頁面上執行下列動作：
+ 選擇日誌群組名稱，以便在 CloudWatch Logs 中將其開啟。然後，您可以選擇日誌串流，以在應用程式環境中檢視資源的日誌。
+ 選擇 **Create log groups** (建立日誌群組) 以在 CloudWatch Logs 中建立日誌群組。

**開啟 **Logs** (日誌) 索引標籤**

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

1. 在導覽窗格中，選擇 **Application Manager**。

1. 在 **Applications** (應用程式) 區段中，選擇類別。如果您想要在 Application Manager 中開啟您手動建立的應用程式，選擇 **Custom applications** (自訂應用程式)。

1. 在清單中選擇應用程式。Application Manager 會開啟 **Overview** (概觀) 標籤。

1. 選擇 **Logs (日誌)** 索引標籤。

# 使用自動化執行手冊修復應用程式問題
<a name="application-manager-working-runbooks"></a>

您可以使用 AWS Systems Manager Automation Runbook 修復 中Application Manager工具 AWS 資源的問題。Automation Runbook 定義 Systems Manager 在自動化執行時，對受管執行個體和其他 AWS 資源執行的動作。Automation 是 AWS Systems Manager中的工具。Runbook 包含循序執行的一或多個步驟。每個步驟都是圍繞單一動作而建立的。來自一個步驟的輸出可以作為後續步驟中的輸入。

當您從 Application Manager 應用程式或叢集中選擇 **Start Runbook** (啟動 Runbook) 時，系統會根據應用程式或叢集中的資源類型，顯示篩選的可用 Runbook 清單。當您選擇您想要啟動的 Runbook 時，Systems Manager 會開啟 **Execute automation document** (執行自動化文件) 頁面。

Application Manager 包含下列增強功能，可搭配使用 Runbook。
+ 如果您在 Application Manager 中選擇資源的名稱，然後選擇 **Execute Runbook** (執行 Runbook) 時，系統會顯示該資源類型的 Runbook 篩選清單。
+ 您可以在清單中選擇 Runbook，然後選擇 **Run for resources of same type** (執行相同類型的資源)，從而針對所有相同類型的資源執啟動自動化。

**開始之前**  
在您開始從 Application Manager 啟動 Runbook 之前，請執行下列動作：
+ 請確認您有啟動 Runbook 的正確許可。如需詳細資訊，請參閱[設定自動化](automation-setup.md)。
+ 檢閱有關啟動 Runbook 的自動化程序文件。如需詳細資訊，請參閱[執行由 Systems Manager Automation 提供支援的自動化操作](running-simple-automations.md)。

**若要從 Application Manager 啟動 Runbook**

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

1. 在導覽窗格中，選擇 **Application Manager**。

1. 在 **Applications** (應用程式) 區段中，選擇類別。如果您想要在 Application Manager 中開啟您手動建立的應用程式，選擇 **Custom applications** (自訂應用程式)。

1. 在清單中選擇應用程式。Application Manager 會開啟 **Overview** (概觀) 標籤。

1. 選擇**開始執行手冊**。Application Manager 會開啟 **Automation 小工具**彈出視窗。如需有關 **Automation 小工具**中的選項的資訊，請參閱 [執行由 Systems Manager Automation 提供支援的自動化操作](running-simple-automations.md)。

# 標記 Application Manager 中的資源
<a name="application-manager-working-tags"></a>

您可以在 中快速新增或刪除應用程式 AWS 和資源上的標籤Application Manager。使用下列程序，從應用程式和該應用程式中的所有 AWS 資源新增或刪除標籤。

**若要從應用程式或該應用程式的所有 資源新增標籤，或從中刪除標籤。**

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

1. 在導覽窗格中，選擇 **Application Manager**。

1. 在 **Applications** (應用程式) 區段中，選擇類別。如果您想要在 Application Manager 中開啟您手動建立的應用程式，選擇 **Custom applications** (自訂應用程式)。

1. 在清單中選擇應用程式。Application Manager 會開啟 **Overview** (概觀) 標籤。

1. 在 **Application information** (應用程式資訊) 區段中，選擇 **Application tags** (應用程式標籤) 下的編號。如果未向應用程式指派任何標籤，則數字為零。

1. 若要新增標籤，請選擇 **Add new tag** (新增新標籤)。指定金鑰和選用的值。若要刪除標籤，請選擇 **Remove** (移除)。

1. 選擇**儲存**。

使用下列程序將標籤新增至 Application Manager 中的指定資源，或從中刪除標籤。

**若要將標籤新增至資源或從中刪除標籤**

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

1. 在導覽窗格中，選擇 **Application Manager**。

1. 在 **Applications** (應用程式) 區段中，選擇類別。如果您想要在 Application Manager 中開啟您手動建立的應用程式，選擇 **Custom applications** (自訂應用程式)。

1. 在清單中選擇應用程式。Application Manager 會開啟 **Overview** (概觀) 標籤。

1. 選擇 **Resources** (資源) 索引標籤。

1. 選擇資源名稱。

1. 在 **Tags** (標籤) 區段中，選擇 **Edit** (編輯)。

1. 若要新增標籤，請選擇 **Add new tag** (新增新標籤)。指定金鑰和選用的值。若要刪除標籤，請選擇 **Remove** (移除)。

1. 選擇**儲存**。

# 在 中使用 CloudFormation 範本和堆疊 Application Manager
<a name="application-manager-working-stacks"></a>

Application Manager是 中的工具 AWS Systems Manager，可透過與 整合，協助您佈建和管理應用程式的 資源 AWS CloudFormation。您可以在 Application Manager 中建立、編輯和刪除 CloudFormation 範本和堆疊。*堆疊*是一組 AWS 資源，您可將它視為單一單位進行管理。這表示您可以使用 CloudFormation 堆疊建立、更新或刪除 AWS 資源集合。*範本*是 JSON 或 YAML 格式的文字檔案，可指定您要在堆疊中佈建的資源。

 Application Manager也包含範本程式庫，您可以在其中複製、建立和存放範本。Application Manager 和 CloudFormation 會顯示有關堆疊目前狀態的相同資訊。範本和範本更新會存放在 Systems Manager 中，直到您佈建堆疊為止，此時變更也會顯示在 CloudFormation 中。

當您在 Application Manager 建立堆疊後，**CloudFormation stacks** (CloudFormation 堆疊) 頁面會顯示其相關的實用資訊。這包括用於建立它的範本、您堆疊中的資源的 [https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html](https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html) 資源計數、[堆疊狀態](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-view-stack-data-resources.html#cfn-console-view-stack-data-resources-status-codes)，以及[偏離狀態](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html)。

**關於 Cost Explorer**  
Application Manager 透過 [AWS Cost Widget 與 Cost Management](https://docs.aws.amazon.com/account-billing/index.html) 的一項 AWS Cost Explorer功能整合。 ****在成本管理主控台中啟用 Cost Explorer 後，Application Manager 中的 **Cost** (成本) 小工具會顯示特定非容器應用程式或應用程式元件的成本資料。您可以使用小工具中的篩選條件，根據長條圖或折線圖中的不同時間週期、粒度和成本類型來檢視成本資料。

您可以選擇**前往 AWS 成本管理主控台按鈕來**啟用此功能。根據預設，系統會將資料篩選為過去三個月。對於非容器應用程式，如果您選擇 **View all** (檢視所有) 按鈕，則 Application Manager 會開啟 **Resources** (資源) 標籤。對於容器應用程式，**View all** (檢視所有) 按鈕會開啟 AWS Cost Explorer 主控台。

**注意**  
Cost Explorer 使用標籤來追蹤應用程式成本。如果您的 CloudFormation 堆疊型應用程式未使用`AppManagerCFNStackKey`標籤索引鍵設定，Cost Explorer 無法在 中呈現準確的成本資料Application Manager。如果未偵測到 `AppManagerCFNStackKey` 標籤鍵，系統會在主控台中提示您將標籤新增至 CloudFormation 堆疊，以啟用成本追蹤。新增標籤索引鍵會將其映射至堆疊的 Amazon Resource Name (ARN)，並讓 **Cost** (成本) 小工具能顯示準確的成本資料。

**重要**  
新增 `AppManagerCFNStackKey` 標籤將觸發堆疊更新。在新增使用者標籤之後，任何在最初部署堆疊之後執行的手動組態都不會得到反映。如需有關資源更新行為的詳細資訊，請參閱《AWS CloudFormation 使用者指南》**中的[更新堆疊資源的行為](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/                             using-cfn-updating-stacks-update-behaviors.html)一節 

## 開始之前
<a name="application-manager-working-stacks-before-you-begin"></a>

在您使用 Application Manager 建立、編輯或刪除 CloudFormation 範本和堆疊之前，請使用下列連結了解 CloudFormation 概念。
+ [什麼是 AWS CloudFormation？](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)
+ [CloudFormation 最佳實務](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/best-practices.html)
+ [了解範本的基本知識](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/gettingstarted.templatebasics.html)
+ [使用 AWS CloudFormation 堆疊](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacks.html)
+ [使用 AWS CloudFormation 範本](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-guide.html)
+ [範例範本](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-sample-templates.html)

**Topics**
+ [開始之前](#application-manager-working-stacks-before-you-begin)
+ [使用 Application Manager 管理 CloudFormation 範本](application-manager-working-templates-overview.md)
+ [使用 Application Manager 管理 CloudFormation 堆疊](application-manager-working-stacks-overview.md)

# 使用 Application Manager 管理 CloudFormation 範本
<a name="application-manager-working-templates-overview"></a>

Application Manager中的工具 AWS Systems Manager包含範本程式庫和其他工具，可協助您管理 AWS CloudFormation 範本。此區段包含下列資訊：

**Topics**
+ [使用範本程式庫](#application-manager-working-stacks-template-library-working)
+ [建立範本](#application-manager-working-stacks-creating-template)
+ [編輯範本](#application-manager-working-stacks-editing-template)

## 使用範本程式庫
<a name="application-manager-working-stacks-template-library-working"></a>

Application Manager 範本程式庫提供的工具可協助您檢視、建立、編輯、刪除和複製範本。您也可以直接從範本程式庫佈建堆疊。範本會以類型 `CloudFormation` 的 Systems Manager (SSM) 文件形式存放。透過將範本儲存為 SSM 文件，您可以使用版本控制來處理範本的不同版本。您也可以設定許可及共享範本。成功佈建堆疊之後，Application Manager 和 CloudFormation 中會提供堆疊和範本。

**開始之前**  
我們建議您先閱讀下列主題，以進一步了解 SSM 文件，然後再開始使用 Application Manager 中的 CloudFormation 範本。
+ [AWS Systems Manager Documents](documents.md)
+ [共用 SSM 文件](documents-ssm-sharing.md)
+ [共用 SSM 文件的最佳實務](documents-ssm-sharing.md#best-practices-shared)

**若要在 Application Manager 中檢視範本程式庫**

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

1. 在導覽窗格中，選擇 **Application Manager**。

1. 選擇 **CloudFormation 範本程式庫**。

## 建立範本
<a name="application-manager-working-stacks-creating-template"></a>

下列程序說明如何在 Application Manager 中建立 CloudFormation 範本。當您建立範本時，您可以在 JSON 或 YAML 中輸入範本的堆疊詳細資訊。如果您不熟悉 JSON 或 YAML，您可以使用 AWS Infrastructure Composer，這是一種視覺化建立和修改範本的工具。如需詳細資訊，請參閱 *AWS CloudFormation User Guide* 中的 [Create templates visually with Infrastructure Composer](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/infrastructure-composer-for-cloudformation.html)。如需有關範本結構和語法的資訊，請參閱 *AWS CloudFormation User Guide* 中的 [CloudFormation template sections](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html)。

您也可以從多個範本程式碼片段建構範本。範本程式碼片段是可向您示範如何撰寫特定資源範本的範例。例如，您可以檢視 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體、Amazon Simple Storage Service (Amazon S3) 網域、 CloudFormation 映射等程式碼片段。程式碼片段會依資源分組。您可以在*《AWS CloudFormation 使用者指南》*中的[一般範本程式碼片段](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-general.html)區段中尋找一般用途 CloudFormation 程式碼片段。

### 在 Application Manager (主控台) 中建立 CloudFormation 範本
<a name="application-manager-working-stacks-creating-template-console"></a>

利用以下程序，使用 AWS 管理主控台在 Application Manager 中建立 CloudFormation 範本。

**若要在 Application Manager 中建立 CloudFormation 範本**

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

1. 在導覽窗格中，選擇 **Application Manager**。

1. 選擇 **CloudFormation 範本程式庫**，然後選擇**建立範本**或選擇現有範本，接著依次選擇**動作**、**複製**。

1. 對於 **Name** (名稱)，輸入範本的名稱，以協助您識別其建立的資源或堆疊的用途。

1. (選用) 對於 **Version name** (版本名稱)，輸入名稱或編號以識別範本版本。

1. 在 **Code editor** (程式碼編輯器) 區段中，選擇 **YAML** 或 **JSON**，然後輸入或複製並貼上您的範本程式碼。

1. (選用) 在 **Tags** (標籤) 區段中，將一個或多個標籤索引鍵名稱/值對套用到範本。

1. （選用） 在**許可**區段中，輸入 AWS 帳戶 ID 並選擇**新增帳戶**。此動作會提供範本的讀取許可。帳戶擁有者可以佈建和複製範本，但無法編輯或刪除範本。

1. 選擇**建立**。範本會存放在 Systems Manager (SSM) 文件服務中。

### 在 Application Manager (命令列) 中建立 CloudFormation 範本
<a name="application-manager-working-stacks-creating-template-cli"></a>

在 JSON 或 YAML 中建立 CloudFormation 範本的內容之後，您可以使用 AWS Command Line Interface (AWS CLI) 或 AWS Tools for PowerShell 將範本儲存為 SSM 文件。將每個*範例資源預留位置*取代為您自己的資訊。

**開始之前**  
 AWS Tools for PowerShell如果您尚未安裝和設定 AWS CLI 或 。如需相關資訊，請參閱[安裝或更新 AWS CLI的最新版本](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)和[安裝 AWS Tools for PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-getting-set-up.html)。

------
#### [ Linux & macOS ]

```
aws ssm create-document \
    --content file://path/to/template_in_json_or_yaml \
    --name "a_name_for_the_template" \
    --document-type "CloudFormation" \
    --document-format "JSON_or_YAML" \
    --tags "Key=tag-key,Value=tag-value"
```

------
#### [ Windows ]

```
aws ssm create-document ^
    --content file://C:\path\to\template_in_json_or_yaml ^
    --name "a_name_for_the_template" ^
    --document-type "CloudFormation" ^
    --document-format "JSON_or_YAML" ^
    --tags "Key=tag-key,Value=tag-value"
```

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

```
$json = Get-Content -Path "C:\path\to\template_in_json_or_yaml | Out-String
New-SSMDocument `
    -Content $json `
    -Name "a_name_for_the_template" `
    -DocumentType "CloudFormation" `
    -DocumentFormat "JSON_or_YAML" `
    -Tags "Key=tag-key,Value=tag-value"
```

------

如果成功，此命令會傳回類似如下的回應。

```
{
    "DocumentDescription": {
        "Hash": "c1d9640f15fbdba6deb41af6471d6ace0acc22f213bdd1449f03980358c2d4fb",
        "HashType": "Sha256",
        "Name": "MyTestCFTemplate",
        "Owner": "428427166869",
        "CreatedDate": "2021-06-04T09:44:18.931000-07:00",
        "Status": "Creating",
        "DocumentVersion": "1",
        "Description": "My test template",
        "PlatformTypes": [],
        "DocumentType": "CloudFormation",
        "SchemaVersion": "1.0",
        "LatestVersion": "1",
        "DefaultVersion": "1",
        "DocumentFormat": "YAML",
        "Tags": [
            {
                "Key": "Templates",
                "Value": "Test"
            }
        ]
    }
```

## 編輯範本
<a name="application-manager-working-stacks-editing-template"></a>

利用以下程序，在 Application Manager 中編輯 CloudFormation 範本。佈建使用已更新範本的堆疊之後，即可在 CloudFormation 中使用範本變更。

**若要在 Application Manager 中編輯 CloudFormation 範本**

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

1. 在導覽窗格中，選擇 **Application Manager**。

1. 選擇 **CloudFormation 範本程式庫**

1. 選擇一個範本，然後選擇 **Actions** (動作)、**Edit** (編輯)。您無法變更範本的名稱，但您可以變更所有其他詳細資訊。

1. 選擇**儲存**。範本會存放在 Systems Manager 文件服務中。

# 使用 Application Manager 管理 CloudFormation 堆疊
<a name="application-manager-working-stacks-overview"></a>

Application Manager是 中的工具 AWS Systems Manager，可透過與 整合，協助您佈建和管理應用程式的 資源 AWS CloudFormation。您可以在 Application Manager 中建立、編輯和刪除 CloudFormation 範本和堆疊。*堆疊*是您可以單一單位管理的一組 AWS 資源。這表示您可以使用 CloudFormation 堆疊建立、更新或刪除 AWS 資源集合。*範本*是 JSON 或 YAML 格式的文字檔案，可指定您要在堆疊中佈建的資源。此區段包含下列資訊：

**Topics**
+ [建立堆疊](#application-manager-working-stacks-creating-stack)
+ [更新堆疊](#application-manager-working-stacks-editing-stack)

## 建立堆疊
<a name="application-manager-working-stacks-creating-stack"></a>

下列程序說明如何使用 Application Manager 建立 CloudFormation 堆疊。堆疊以範本為基礎。建立堆疊時，您可以選擇現有的範本，或建立新的範本。建立堆疊之後，系統會立即嘗試建立堆疊中識別的資源。在系統成功佈建資源之後，範本和堆疊就可以在 Application Manager 和 CloudFormation 中檢視和編輯。

**注意**  
使用 Application Manager建立堆疊無需付費，但您需要為堆疊中建立 AWS 的資源付費。

### 使用 Application Manager (主控台) 建立 CloudFormation 堆疊
<a name="application-manager-working-stacks-creating-stack-console"></a>

利用以下程序使用 AWS 管理主控台中的 Application Manager 建立堆疊。

**若要刪除 CloudFormation 堆疊**

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

1. 在導覽窗格中，選擇 **Application Manager**。

1. 選擇**建立應用程式、CloudFormation 堆疊**。

1. 在 **Prepare a template** (準備範本) 區段中，選擇一個選項。如果您選擇 **Use an existing template** (使用現有的範本) 中的標籤，您可以使用 **Choose a template** (選擇範本) 區段以找出您想要的範本。(如果您選擇其他選項之一，請完成精靈以準備範本。)

1. 選取範本名稱旁的按鈕，然後選擇**下一步**。

1. 在 **Specify template details** (指定範本詳細資訊) 頁面上，確認範本的詳細資訊，以確保程序會建立您想要的資源。
   + (選用) 在 **Tags** (標籤) 區段中，將一個或多個標籤索引鍵名稱/值對套用到範本。
   + 標籤是您指派給資源的選用性中繼資料。使用標籤，您即可以不同的方式 (例如用途、擁有者或環境) 將資源分類。
   + 選擇**下一步**。

1. 在 **Edit stack details** (編輯堆疊詳細資訊) 頁面上，針對 **Stack name** (堆疊名稱)，輸入可協助您識別堆疊建立的資源或用途的名稱。
   + **Parameters** (參數) 區段包含範本中指定的所有選用和必要參數。在每個欄位中，輸入一個或多個參數。
   + (選用) 在 **Tags** (標籤) 區段中將一個或多個標籤索引鍵名稱/值對套用到堆疊。
   + （選用） 在**許可**區段中，指定 AWS Identity and Access Management (IAM) 角色名稱或 IAM Amazon Resource Name (ARN)。系統會使用指定的服務角色來建立堆疊中指定的所有資源。如果您未指定 IAM 角色，則 CloudFormation 會使用從您的使用者憑證產生的暫時工作階段。如需此 IAM 角色的詳細資訊，請參閱*《AWS CloudFormation 使用者指南》*中的 [CloudFormation 服務角色](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-servicerole.html)。
   + 選擇**下一步**。

1. 請詳閱 **Review and provision** (檢閱和佈建) 頁面上的堆疊詳細資訊。在此頁面上選擇 **Edit** (編輯) 按鈕，以進行變更。

1. 選擇 **Provision stack** (佈建堆疊)。

Application Manager 會顯示 **CloudFormation stacks** (CloudFormation 堆疊) 頁面以及堆疊建立和部署的狀態。如果 CloudFormation 無法建立和佈建堆疊，請參閱*《AWS CloudFormation 使用者指南》*。
+ [堆疊狀態碼](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-describing-stacks.html#w2ab1c23c15c17c11)
+ [疑難排解 CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html)

佈建和執行堆疊資源之後，使用者可以使用建立資源的底層服務，直接編輯資源。例如，使用者可以使用 Amazon Elastic Compute Cloud (Amazon EC2) 主控台來更新已建立成為 CloudFormation 堆疊一部分的伺服器執行個體。有些變更可能是意外，有些則是為了回應時間急迫性運作事件而刻意為之。無論如何，在 CloudFormation 外部所做的變更會使堆疊更新或刪除操作變得複雜。您可以使用偏離偵測或*偏離狀態*，來識別已在 CloudFormation 管理之外發生組態變更的堆疊資源。如需偏離狀態的詳細資訊，請參閱[偵測堆疊和資源未受管的組態變更](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html)。

### 使用 Application Manager (命令列) 建立 CloudFormation 堆疊
<a name="application-manager-working-stacks-creating-stack-cli"></a>

使用下列 AWS Command Line Interface (AWS CLI) 程序，使用儲存在 Systems Manager 中做為 SSM 文件的 CloudFormation 範本來佈建堆疊。將每個*範例資源預留位置*取代為您自己的資訊。如需有關建立堆疊的其他 AWS CLI 程序的資訊，請參閱*AWS CloudFormation 《 使用者指南*》中的[建立堆疊](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-cli-creating-stack.html)。

**開始之前**  
 AWS Tools for PowerShell如果您尚未安裝和設定 AWS CLI 或 。如需相關資訊，請參閱[安裝或更新 AWS CLI的最新版本](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)和[安裝 AWS Tools for PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-getting-set-up.html)。

------
#### [ Linux & macOS ]

```
aws cloudformation create-stack \
    --stack-name a_name_for_the_stack \
    --template-url "ssm-doc://arn:aws:ssm:Region:account_ID:document/template_name" \
```

------
#### [ Windows ]

```
aws cloudformation create-stack ^
     --stack-name a_name_for_the_stack ^
     --template-url "ssm-doc://arn:aws:ssm:Region:account_ID:document/template_name" ^
```

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

```
New-CFNStack `
    -StackName "a_name_for_the_stack" `
    -TemplateURL "ssm-doc://arn:aws:ssm:Region:account_ID:document/template_name" `
```

------

## 更新堆疊
<a name="application-manager-working-stacks-editing-stack"></a>

您可以直接在 Application Manager 中編輯堆疊，以將更新部署到 CloudFormation 堆疊中。使用直接更新，您可以指定範本或輸入參數的更新。在您儲存和部署變更之後，CloudFormation 會根據您指定的變更更新 AWS 資源。

您可以在進行更新堆疊之前，預覽 CloudFormation 將對堆疊進行的變更，請使用變更集。如需詳細資訊，請參閱*《AWS CloudFormation 使用者指南》*中的[使用變更集更新堆疊](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-changesets.html)。

**若要在 Application Manager 中更新 CloudFormation 堆疊**

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

1. 在導覽窗格中，選擇 **Application Manager**。

1. 選取應用程式名稱旁的選項按鈕，然後選擇**動作**、**更新堆疊**。

1. 在 **Specify template source** (指定範本來源) 頁面上，選擇下列其中一個選項，然後選擇 **Next** (下一步)。
   + 選擇 **Use the template code currently provisioned in the stack** (使用目前在堆疊中佈建的範本程式碼)，以檢視範本。選擇 **Versions** (版本) 清單的範本版本，然後選擇 **Next** (下一步)。
   + 選擇 **Switch to a different template** (切換至不同的範本)，以選擇或建立堆疊的新範本。

1. 完成範本的變更之後，請選擇 **Next** (下一步)。

1. 在 **Edit stack details** (編輯堆疊詳細資訊) 頁面上，您可以編輯參數、標籤和許可。您不能變更堆疊名稱。進行變更，然後選擇 **Next** (下一步)。

1. 請詳閱 **Review and provision** (檢閱和佈建) 頁面上的堆疊詳細資訊，然後選擇 **Provision stack** (佈建堆疊)。

# 使用 Application Manager 中的叢集
<a name="application-manager-working-clusters"></a>

本節包含的主題可協助您在 Application Manager的元件中使用 Amazon Elastic Container Service (Amazon ECS) 和 Amazon Elastic Kubernetes Service (Amazon EKS) 容器叢集 AWS Systems Manager。

**Topics**
+ [在 Application Manager 中使用 Amazon ECS](application-manager-working-ECS.md)
+ [在 Application Manager 中使用 Amazon EKS](application-manager-working-EKS.md)
+ [使用叢集的 Runbook](application-manager-working-runbooks-clusters.md)

# 在 Application Manager 中使用 Amazon ECS
<a name="application-manager-working-ECS"></a>

透過 中的Application Manager工具 AWS Systems Manager，您可以檢視和管理 Amazon Elastic Container Service (Amazon ECS) 叢集基礎設施。 會使用叢集的 Amazon Resource Name (ARN) 做為標籤值，將標籤Application Manager套用至 Amazon ECS 叢集。 Application Manager提供叢集中運算、聯網和儲存資源的元件執行期檢視。

**注意**  
您無法在 Application Manager 中管理或檢視有關容器的操作資訊。您只能管理和檢視託管 Amazon ECS 資源之基礎設施的操作資訊。

**您可以在此標籤上執行的動作**  
您也可以在此頁面上執行下列動作：
+ 選擇 **Manage cluster** (管理叢集) 以開啟 Amazon ECS 中的叢集。
+ 選擇 **View all** (檢視所有) 以檢視叢集中的資源清單。
+ 選擇 **View in CloudWatch** (在 CloudWatch 中檢視) 以在 Amazon CloudWatch 中檢視資源警示。
+ 選擇 **Manage nodes** (管理節點) 或 **Manage Fargate profiles** (管理 Fargate 設定檔)，以在 Amazon ECS 中檢視這些資源。
+ 選擇資源 ID，即可在建立資源的主控台中檢視資源 ID 的詳細資訊。
+ 檢視與您的叢集相關的 OpsItems 清單。
+ 檢視已在叢集上執行的 Runbook 歷程記錄。

**若要開啟 **ECS cluster** (ECS 叢集)**

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

1. 在導覽窗格中，選擇 **Application Manager**。

1. 在 **Container clusters** (容器叢集) 區段中，選擇 **ECS clusters** (ECS 叢集)。

1. 在清單中選擇叢集。Application Manager 會開啟 **Overview** (概觀) 標籤。

# 在 Application Manager 中使用 Amazon EKS
<a name="application-manager-working-EKS"></a>

Application Manager是 中的工具 AWS Systems Manager，與 [Amazon Elastic Kubernetes Service](https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html) (Amazon EKS) 整合，以提供 Amazon EKS 叢集基礎設施運作狀態的相關資訊。 會使用叢集的 Amazon Resource Name (ARN) 做為標籤值，將標籤Application Manager套用至 Amazon EKS 叢集。 Application Manager 提供叢集中運算、聯網和儲存資源的元件執行期檢視。

**注意**  
您無法在 Application Manager 中管理或檢視有關 Amazon EKS Pod 或容器的操作資訊。您只能管理和檢視託管 Amazon EKS 資源之基礎設施的操作資訊。

**您可以在此標籤上執行的動作**  
您也可以在此頁面上執行下列動作：
+ 選擇 **Manage cluster** (管理叢集) 以開啟 Amazon EKS 中的叢集。
+ 選擇 **View all** (檢視所有) 以檢視叢集中的資源清單。
+ 選擇 **View in CloudWatch** (在 CloudWatch 中檢視) 以在 Amazon CloudWatch 中檢視資源警示。
+ 選擇 **Manage nodes** (管理節點) 或 **Manage Fargate profiles** (管理 Fargate 設定檔)，以在 Amazon EKS 中檢視這些資源。
+ 選擇資源 ID，即可在建立資源的主控台中檢視資源 ID 的詳細資訊。
+ 檢視與您的叢集相關的 OpsItems 清單。
+ 檢視已在叢集上執行的 Runbook 歷程記錄。

**若要開啟 **EKS clusters** (EKS 叢集) 應用程式**

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

1. 在導覽窗格中，選擇 **Application Manager**。

1. 在 **Container clusters** (容器叢集) 區段中，選擇 **EKS clusters** (EKS 叢集)。

1. 在清單中選擇叢集。Application Manager 會開啟 **Overview** (概觀) 標籤。

# 使用叢集的 Runbook
<a name="application-manager-working-runbooks-clusters"></a>

您可以使用 AWS Systems Manager Systems Manager Automation Runbook 來修復 AWS 中Application Manager工具 資源的問題。當您從 Application Manager 叢集中選擇 **Start Runbook** (啟動 Runbook) 時，系統會根據叢集中的資源類型，顯示篩選的 Runbook 清單。當您選擇您想要啟動的 Runbook 時，Systems Manager 會開啟 **Execute automation document** (執行自動化文件) 頁面。

**開始之前**  
在您開始從 Application Manager 啟動 Runbook 之前，請執行下列動作：
+ 請確認您有啟動 Runbook 的正確許可。如需詳細資訊，請參閱[設定自動化](automation-setup.md)。
+ 檢閱有關啟動 Runbook 的自動化程序文件。如需詳細資訊，請參閱[執行由 Systems Manager Automation 提供支援的自動化操作](running-simple-automations.md)。
+ 如果您打算一次性在多個資源上啟動 Runbook，請檢閱有關使用目標和速率控制的文件。如需詳細資訊，請參閱[大規模執行自動化操作](running-automations-scale.md)。

**若要從 Application Manager 啟動叢集的 Runbook**

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

1. 在導覽窗格中，選擇 **Application Manager**。

1. 在 **Container clusters** (容器叢集) 區段中，選擇容器類型。

1. 在清單中選擇叢集。Application Manager 會開啟 **Overview** (概觀) 標籤。

1. 在 **Runbooks** 標籤上，選擇 **Start Runbook** (啟動 Runbook)。Application Manager 會在新的標籤中開啟 **Execute automation document** (執行自動化文件) 頁面。如需有關 **Execute automation document** (執行自動化文件) 頁面中的選項的資訊，請參閱 [執行由 Systems Manager Automation 提供支援的自動化操作](running-simple-automations.md)。

# AWS Systems Manager Parameter Store
<a name="systems-manager-parameter-store"></a>

Parameter Store是 中的工具 AWS Systems Manager，可為組態資料管理和秘密管理提供安全的階層式儲存。您可以存放密碼、資料庫字串、Amazon Machine Image (AMI) ID 和授權碼之類的資料做為參數值。您存放的值可以是純文字或加密資料。您可以使用您在建立參數時指定的唯一名稱，在您的指令碼、命令、SSM 文件，以及組態和自動化工作流程中參考 Systems Manager 參數。若要開始使用 Parameter Store，請開啟 [Systems Manager 主控台](https://console.aws.amazon.com//systems-manager/parameters)。在導覽窗格中，選擇 **Parameter Store**。

Parameter Store 也與 Secrets Manager 整合。您可以在使用其他已支援參考 Parameter Store 參數的 AWS 服務 時，擷取 Secrets Manager 秘密。如需詳細資訊，請參閱[從Parameter Store參數參考 AWS Secrets Manager 秘密](integration-ps-secretsmanager.md)。

**注意**  
若要實作密碼輪換生命週期，請使用 AWS Secrets Manager。您可以使用 Secrets Manager 在資料庫登入資料、API 金鑰和其他機密的整個生命週期輕鬆進行輪換、管理和擷取。如需詳細資訊，請參閱*AWS Secrets Manager 《 使用者指南*》中的[什麼是 AWS Secrets Manager？](https://docs.aws.amazon.com//secretsmanager/latest/userguide/intro.html)。

## Parameter Store 如何為我的組織帶來益處？
<a name="parameter-store-benefits"></a>

Parameter Store 提供這些好處：
+ 使用安全、可擴展的託管秘密管理服務 (無伺服器需要管理)。
+ 隔離您的資料與程式碼以改善您的安全態勢。
+ 將組態資料和加密字串存放在階層和追蹤版本中。
+ 以精密分級控制及稽核存取。
+ 可靠地存放參數，因為 Parameter Store 託管在 AWS 區域的多個可用區域中。

## 誰應該使用Parameter Store？
<a name="parameter-store-who"></a>
+ 任何想要以集中方式管理組態資料 AWS 的客戶。
+ 想要存放不同登入資料和參考串流的軟體開發人員。
+ 想要在其秘密和密碼發生變更或未變更時接收通知的系統管理員。

## Parameter Store 有哪些功能？
<a name="parameter-store-features"></a>
+ **變更通知**

  您可以同時為參數和參數政策設定變更通知和呼叫自動化動作。如需詳細資訊，請參閱[根據 Parameter Store 事件設定通知或觸發動作](sysman-paramstore-cwe.md)。
+ **組織參數**

  您可以單獨標記參數，以根據指派給參數的標籤協助您找出一或多個文件。例如，您可以為特定的環境或部門標記參數。
+ **標籤版本**

  您可以透過建立標籤來關聯參數版本的別名。如果參數有多個版本，標籤可協助您記住參數版本的目的。
+ **資料驗證**

  您可以建立指向 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體的參數，Parameter Store 會驗證這些參數，以確保它參考預期的資源類型，確保該資源存在並且客戶具有使用資源的許可。例如，您可以建立具有 Amazon Machine Image (AMI) ID 的參數作為具有 `aws:ec2:image` 資料類型的值，Parameter Store 會執行非同步驗證操作，以確保參數值符合 AMI ID 的格式要求，並且指定的 AMI 在您的 AWS 帳戶中可用。
+ **參考秘密**

  Parameter Store 已與 整合， AWS Secrets Manager 因此在使用已支援參考Parameter Store參數 AWS 服務 的其他 時，您可以擷取 Secrets Manager 秘密。
+ **與其他帳戶共用參數**

  您可以選擇將組態資料集中在單一 中， AWS 帳戶 並與需要存取它們的其他帳戶共用參數。
+ **可從其他 存取 AWS 服務**

  您可以使用Parameter Store參數搭配其他 Systems Manager 工具 AWS 服務 ，以及從中央存放區擷取秘密和組態資料。參數可與 Systems Manager 工具搭配使用Run Command，例如 、自動化和 State Manager中的工具 AWS Systems Manager。您也可以在許多其他 中參考參數 AWS 服務，包括下列項目：
  + Amazon Elastic Compute Cloud (Amazon EC2)
  + Amazon Elastic Container Service (Amazon ECS)
  + AWS Secrets Manager
  + AWS Lambda
  + AWS CloudFormation
  + AWS CodeBuild
  + AWS CodePipeline
  + AWS CodeDeploy
+ **與其他 整合 AWS 服務**

  設定與下列項目的整合， AWS 服務 以進行加密、通知、監控和稽核：
  + AWS Key Management Service (AWS KMS)
  + Amazon Simple Notification Service (Amazon SNS)
  + Amazon CloudWatch：如需詳細資訊，請參閱 [為參數及參數政策設定 EventBridge](sysman-paramstore-cwe.md#cwe-parameter-changes)。
  + Amazon EventBridge：如需詳細資訊，請參閱 [使用 Amazon SNS 通知監控 Systems Manager 狀態變更](monitoring-sns-notifications.md) 和 [參考：Systems Manager 的 Amazon EventBridge 事件模式和類型](reference-eventbridge-events.md)。
  + AWS CloudTrail︰如需詳細資訊，請參閱 [使用 記錄 AWS Systems Manager API 呼叫 AWS CloudTrail](monitoring-cloudtrail-logs.md)。

## 什麼是參數？
<a name="what-is-a-parameter"></a>

Parameter Store 參數是儲存在 Parameter Store 中的任何資料片段，例如文字區塊、名稱清單、密碼、AMI ID、授權金鑰等。您可以集中、安全地在您的指令碼、命令和 SSM 文件中參考這項資料。

當您參考參數時，使用以下慣例來指定參數名稱：

\$1\$1`ssm:parameter-name`\$1\$1

**注意**  
不能在其他參數的值中參考或巢套參數。參數值中不能包含 `{{}}` 或 `{{ssm:parameter-name}}`。

Parameter Store支援三種參數：`String`、`StringList` 和 `SecureString`。

除了一個例外狀況，當您建立或更新參數時，將參數值輸入為純文字，並且 Parameter Store 不對輸入的文字執行驗證。但是，對於 `String` 參數，您可以將資料類型指定為 `aws:ec2:image`，而 Parameter Store 便會驗證您輸入的數值是否為 Amazon EC2 AMI 的正確格式；例如：`ami-12345abcdeEXAMPLE`。

### 參數類型：String
<a name="parameter-type-string"></a>

依預設，`String` 參數的值由您輸入的任何文字區塊組成。例如：
+ `abc123`
+ `Example Corp`
+ `<img src="images/bannerImage1.png"/>`

### 參數類型：StringList
<a name="parameter-type-stringlist"></a>

`StringList` 參數的值包含以逗號分隔的值清單，如下列範例所示。

`Monday,Wednesday,Friday`

`CSV,TSV,CLF,ELF,JSON`

### 參數類型：SecureString
<a name="parameter-type-securestring"></a>

`SecureString` 參數的值是需要以安全方式存放和參考的任何敏感資料。如果您有資料不希望使用者更改或以純文字參考，例如密碼或授權金鑰，請使用 `SecureString` 資料類型建立這些參數。

**重要**  
請勿在 `String` 或 `StringList` 參數中存放敏感資料。對於所有必須保持加密的敏感資料，請僅使用 `SecureString` 參數類型。  
如需詳細資訊，請參閱[使用 建立 SecureString 參數 AWS CLI](param-create-cli.md#param-create-cli-securestring)。

在以下情況中，我們建議使用 `SecureString` 參數。
+ 您想要跨 使用資料/參數， AWS 服務 而不在命令、函數、代理程式日誌或 CloudTrail 日誌中將值公開為純文字。
+ 您希望控制哪些使用者可以存取敏感資料。
+ 您希望能夠在敏感資料被存取時進行稽核 (CloudTrail)。
+ 您希望將敏感資料加密，而且您希望使用自己的加密金鑰來管理存取。

**重要**  
僅加密 `SecureString` 參數的*值*。參數名稱、說明和其他屬性不會加密。

您可以針對想要加密的文字資料使用 `SecureString` 參數類型，例如密碼、應用程式秘密、機密組態資料，或您想要保護的任何其他資料類型。 `SecureString` 資料會使用 AWS KMS 金鑰加密和解密。您可以使用 提供的預設 KMS 金鑰， AWS 或建立和使用您自己的金鑰 AWS KMS key。(如果想限制使用者對 `SecureString` 參數的存取，請使用您自己的 AWS KMS key 。如需詳細資訊，請參閱 [使用 AWS 預設金鑰和客戶受管金鑰的 IAM 許可](sysman-paramstore-access.md#ps-kms-permissions)。)

您也可以將`SecureString`參數與其他 參數搭配使用 AWS 服務。在下列範例中，Lambda 函數使用 [GetParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameters.html) API 擷取 `SecureString` 參數。

```
import json
import boto3
ssm = boto3.client('ssm', 'us-east-2')
def get_parameters():
    response = ssm.get_parameters(
        Names=['LambdaSecureString'],WithDecryption=True
    )
    for parameter in response['Parameters']:
        return parameter['Value']
        
def lambda_handler(event, context):
    value = get_parameters()
    print("value1 = " + value)
    return value  # Echo back the first key value
```

**AWS KMS 加密和定價**  
如果您在建立`SecureString`參數時選擇 參數類型，Systems Manager 會使用 AWS KMS 來加密參數值。

**重要**  
Parameter Store 只支援[對稱加密 KMS 金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-choose-key-spec.html#symmetric-cmks)。您無法使用[非對稱加密 KMS 金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html)來加密您的參數。如需判斷 KMS 金鑰為對稱或非對稱的說明，請參閱《*AWS Key Management Service 開發人員指南*》中的[識別對稱鍵和非對稱金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/find-symm-asymm.html)。

Parameter Store 建立`SecureString`參數無需支付 的費用，但使用 AWS KMS 加密的費用確實適用。如需相關資訊，請參閱 [AWS Key Management Service 定價](https://aws.amazon.com/kms/pricing)。

如需 AWS 受管金鑰 和客戶受管金鑰的詳細資訊，請參閱《 *AWS Key Management Service 開發人員指南*》中的[AWS Key Management Service 概念](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html)。如需 Parameter Store和 AWS KMS 加密的詳細資訊，請參閱 [AWS Systems Manager Parameter Store如何使用 AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/services-parameter-store.html)。

**注意**  
若要檢視 AWS 受管金鑰，請使用 AWS KMS `DescribeKey`操作。此 AWS Command Line Interface (AWS CLI) 範例使用 `DescribeKey` 來檢視 AWS 受管金鑰。  

```
aws kms describe-key --key-id alias/aws/ssm
```

**詳細資訊**  
+ [在 Parameter Store 中建立 SecureString 參數並將節點加入網域 (PowerShell)](sysman-param-securestring-walkthrough.md)
+ [使用 Parameter Store 安全地存取 CodeDeploy 中的秘密與組態資料](https://aws.amazon.com/blogs/mt/use-parameter-store-to-securely-access-secrets-and-config-data-in-aws-codedeploy/)
+ [關於 Amazon EC2 Systems Manager Parameter Store 的有趣文章](https://aws.amazon.com/blogs/mt/interesting-articles-on-ec2-systems-manager-parameter-store/)

## 參數大小限制
<a name="parameter-size-limits"></a>

根據您使用的參數層，Parameter Store 對參數值有不同的大小限制：
+ **標準參數**：值大小上限為 4 KB
+ **進階參數**：值大小上限為 8 KB

如果您需要存放大於 4 KB 的參數值，則必須使用進階參數層。進階參數提供額外的功能，但 AWS 您的帳戶會產生費用。如需有關參數層及不同層的具體特點的詳細資訊，請參閱[管理參數層](parameter-store-advanced-parameters.md)。

有關 Parameter Store 配額和限制的完整清單，請參閱 *AWS General Reference* 中的 [AWS Systems Manager endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/ssm.html#parameter-store)。

# 設定 Parameter Store
<a name="parameter-store-setting-up"></a>

在 Parameter Store (AWS Systems Manager 中的工具) 中設定參數前，請先設定 AWS Identity and Access Management (IAM) 政策，以便為您帳戶中的使用者提供執行您所指定動作的許可。

本節包含如何使用 IAM 主控台手動設定這些政策的資訊，以及如何將他們指派給使用者及使用者群組。您也可以建立和指派政策，來控制可在受管節點上執行何種參數動作。

本節也包含如何建立 Amazon EventBridge 規則，讓您接收 Systems Manager 參數變更通知的資訊。您也可以使用 EventBridge 規則來根據 Parameter Store 中的變更，呼叫 AWS 中的其他動作。

**Topics**
+ [使用 IAM 政策限制對 Parameter Store 參數的存取](sysman-paramstore-access.md)
+ [管理參數層](parameter-store-advanced-parameters.md)
+ [增加或重設 Parameter Store 輸送量](parameter-store-throughput.md)
+ [根據 Parameter Store 事件設定通知或觸發動作](sysman-paramstore-cwe.md)

# 使用 IAM 政策限制對 Parameter Store 參數的存取
<a name="sysman-paramstore-access"></a>

您可以使用 AWS Identity and Access Management (IAM) 限制對 AWS Systems Manager 參數的存取。具體而言，您可以建立 IAM 政策以限制存取以下 API 操作：
+ [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)
+ [DescribeParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DescribeParameters.html)
+ [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)
+ [GetParameterHistory](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameterHistory.html)
+ [GetParametersByPath](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParametersByPath.html)
+ [PutParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutParameter.html)

使用 IAM 政策限制對 Systems Manager 參數的存取時，我們建議您建立和使用*限制性* IAM 政策。例如，以下政策可讓使用者為有限的一組資源呼叫 `DescribeParameters` 和 `GetParameters` API 操作。這表示使用者可以取得相關資訊，以及使用以 `prod-*` 開頭的所有參數。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:DescribeParameters"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetParameters"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/prod-*"
        }
    ]
}
```

------

**重要**  
如果使用者擁有路徑的存取權限，則該使用者可存取該路徑的所有層級。例如，如果使用者擁有存取路徑 `/a` 的許可，則該使用者也可以存取 `/a/b`。雖然使用者在 IAM 中被明確拒絕存取參數 `/a/b`，但他們仍能夠以遞迴方式呼叫 `/a` 的 `GetParametersByPath` API 操作，並檢視 `/a/b`。

針對信任的管理員，您可以使用類似以下範例的政策，提供所有 Systems Manager 參數 API 操作的完整存取。此政策可讓使用者完整存取所有以 `dbserver-prod-*` 開頭的生產參數。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:PutParameter",
                "ssm:DeleteParameter",
                "ssm:GetParameterHistory",
                "ssm:GetParametersByPath",
                "ssm:GetParameters",
                "ssm:GetParameter",
                "ssm:DeleteParameters"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/dbserver-prod-*"
        },
        {
            "Effect": "Allow",
            "Action": "ssm:DescribeParameters",
            "Resource": "*"
        }
    ]
}
```

------

## 拒絕許可
<a name="sysman-paramstore-deny-permissions"></a>

每個 API 都是唯一的，且具有不同的操作和許可，您可以單獨允許或拒絕它們。任何政策中的明確拒絕會覆寫任何允許。

**注意**  
default AWS Key Management Service (AWS KMS) 金鑰具有 內所有 IAM 主體的`Decrypt`許可 AWS 帳戶。如果您希望對帳戶中的 `SecureString` 參數擁有不同的存取級別，不建議您使用預設金鑰。

如果您希望擷取參數值的所有 API 操作具有相同的行為，那麼您可以在政策中使用 `GetParameter*` 等模式。下列範例會顯示如何拒絕以 `prod-*` 開頭的所有參數的 `GetParameter`、`GetParameters`、`GetParameterHistory` 以及 `GetParametersByPath`。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "ssm:GetParameter*"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/prod-*"
        }
    ]
}
```

------

下列範例顯示如何拒絕某些命令，同時允許使用者在以 `prod-*` 開頭的所有參數中執行其他命令。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "ssm:PutParameter",
                "ssm:DeleteParameter",
                "ssm:DeleteParameters",
                "ssm:DescribeParameters"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetParametersByPath",
                "ssm:GetParameters",
                "ssm:GetParameter",
                "ssm:GetParameterHistory"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/prod-*"
        }
    ]
}
```

------

**注意**  
參數歷程包含所有參數版本，包括目前的參數版本。因此，如果 `GetParameter`、`GetParameters` 和 `GetParameterByPath` 的使用者許可遭到拒絕、但允許 `GetParameterHistory` 的許可，則透過使用 `GetParameterHistory`，他們可以看到當前參數，包括 `SecureString` 參數。

## 僅允許特定參數在節點上執行
<a name="sysman-paramstore-access-inst"></a>

您可以控制存取，讓受管節點僅可執行您指定的參數。

如果您在建立`SecureString`參數時選擇 參數類型，Systems Manager 會使用 AWS KMS 來加密參數值。 會使用 AWS 受管金鑰 或客戶受管金鑰來 AWS KMS 加密值。如需 AWS KMS 和 的詳細資訊 AWS KMS key，請參閱 *[AWS Key Management Service 開發人員指南](https://docs.aws.amazon.com/kms/latest/developerguide/)*。

您可以從 AWS 受管金鑰 執行下列命令來檢視 AWS CLI。

```
aws kms describe-key --key-id alias/aws/ssm
```

下列範例允許節點僅取得以 `prod-` 開頭的參數的參數值。如果參數為 `SecureString` 參數，則節點會使用 AWS KMS來解密字串。

**注意**  
執行個體政策 (例如以下範例) 會指派給 IAM 中的執行個體角色。如需設定存取 Systems Manager 功能的詳細資訊，包括如何將政策指派給使用者和執行個體，請參閱 [使用 Systems Manager 管理 EC2 執行個體](systems-manager-setting-up-ec2.md)。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetParameters"
            ],
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:parameter/prod-*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:111122223333:key/4914ec06-e888-4ea5-a371-5b88eEXAMPLE"
            ]
        }
    ]
}
```

------

## 使用 AWS 預設金鑰和客戶受管金鑰的 IAM 許可
<a name="ps-kms-permissions"></a>

Parameter Store `SecureString` 參數會使用 AWS KMS 金鑰加密和解密。您可以選擇使用 AWS KMS key 或 提供的預設 KMS 金鑰來加密`SecureString`參數 AWS。

使用客戶受管金鑰時，授予使用者存取參數或參數路徑的 IAM 政策必須提供金鑰的明確 `kms:Encrypt` 許可。例如，以下政策允許使用者建立、更新和檢視在指定 AWS 區域 和 `prod-`中以 開頭的`SecureString`參數 AWS 帳戶。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:PutParameter",
                "ssm:GetParameter",
                "ssm:GetParameters"
            ],
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:parameter/prod-*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:Encrypt",
                "kms:GenerateDataKey"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-12345EXAMPLE"
            ]
        }
    ]
}
```

------

**注意**  
使用指定的客戶自管金鑰建立加密的進階參數時，需要 `kms:GenerateDataKey` 許可。

相反地，客戶帳戶中的所有使用者都可以存取預設的 AWS 受管金鑰。如果您使用此預設金鑰加密 `SecureString` 參數，但不希望使用者使用 `SecureString` 參數，則其 IAM 政策必須明確拒絕對預設金鑰的存取，如下列政策範例所示。

**注意**  
您可以在 [AWS 受管金鑰](https://console.aws.amazon.com/kms/home#/kms/defaultKeys)頁面的 AWS KMS 主控台中找到預設金鑰的 Amazon Resource Name (ARN)。預設金鑰在**別名**資料欄中用 `aws/ssm` 標識。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:111122223333:key/abcd1234-ab12-cd34-ef56-abcdeEXAMPLE"
            ]
        }
    ]
}
```

------

如果您需要對帳戶中的 `SecureString` 參數進行細微的存取控制，應該使用客戶受管金鑰來保護和限制對這些參數的存取。我們也建議使用 AWS CloudTrail 來監控`SecureString`參數活動。

如需詳細資訊，請參閱下列主題：
+ 《IAM 使用者指南**》中的[政策評估邏輯](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html)
+ 使用《AWS Key Management Service 開發人員指南》**中的[金鑰政策 AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)
+ 如需詳細資訊，請參閱《*AWS CloudTrail 使用者指南*》中的[使用 CloudTrail 事件歷史記錄檢視事件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)。

# 管理參數層
<a name="parameter-store-advanced-parameters"></a>

Parameter Store是 中的工具 AWS Systems Manager，包含*標準參數*和*進階參數*。您可以將參數個別設定為使用標準參數層級 (預設層級) 或進階參數層級。

您可以將標準參數變更為進階參數，但您無法將進階參數恢復為標準參數。將進階參數還原為標準參數會造成系統將參數的大小從 8 KB 截斷為 4 KB，從而造成資料遺失。還原也會移除連接到參數的任何政策。以外，進階參數使用的加密形式與標準參數不同。如需詳細資訊，請參閱《AWS Key Management Service 開發人員指南》**中的 [AWS Systems Manager  Parameter Store 如何使用 AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/services-parameter-store.html)。

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

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


****  

|  | 標準 | Advanced (進階) | 
| --- | --- | --- | 
|  允許的參數總數 （每個 AWS 帳戶 和 AWS 區域)  |  10,000  |  100,000  | 
|  參數值的大小上限。  |  4 KB  |  8 KB  | 
|  是否可使用參數政策  |  否  |  是 如需詳細資訊，請參閱[在 Parameter Store 中指派參數政策](parameter-store-policies.md)。  | 
|  Cost  |  不收取其他費用  |  需支付費用 如需詳細資訊，請參閱 [AWS Systems ManagerParameter Store 的定價](https://aws.amazon.com/systems-manager/pricing/#Parameter_Store)。  | 

**Topics**
+ [指定預設參數層](#ps-default-tier)
+ [將標準參數變更為進階參數](#parameter-store-advanced-parameters-enabling)

## 指定預設參數層
<a name="ps-default-tier"></a>

在建立或更新參數的請求中 (即 `[https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutParameter.html](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutParameter.html)` 操作)，您可以指定要在請求中使用的參數層。以下是使用 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 會自動將您升級至進階參數層，而且您的 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。標準參數不支援參數政策。使用標準參數層無須另外付費。選擇 **Standard (標準)** 做為預設層，表示 Parameter Store 一律會嘗試為沒有指定層的請求建立標準參數。
+ **進階** – 使用進階參數層，為 AWS 區域 中的每個參數建立最多 100，000 個參數 AWS 帳戶。每個參數的內容大小最大可以等於 8 KB。進階參數支援參數政策。若要共用參數，該參數必須位於進階參數層。使用進階參數層需要付費。如需詳細資訊，請參閱 [AWS Systems ManagerParameter Store 的定價](https://aws.amazon.com/systems-manager/pricing/#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預設層
<a name="parameter-store-tier-permissions"></a>

Parameter Store 執行下列其中一項動作，確認您在 AWS Identity and Access Management (IAM) 中具有變更 中預設參數層的許可：
+ 確定將 `AdministratorAccess` 政策連接到您的 IAM 實體 (如使用者、群組或角色)。
+ 確認您具備使用下列 API 操作變更預設層設定的許可：
  + [GetServiceSetting](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetServiceSetting.html)
  + [UpdateServiceSetting](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_UpdateServiceSetting.html)
  + [ResetServiceSetting](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_ResetServiceSetting.html)

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

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetServiceSetting"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:UpdateServiceSetting"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:servicesetting/ssm/parameter-store/default-parameter-tier"
        }
    ]
}
```

------

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

------
#### [ JSON ]

****  

```
{
    "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 使用者指南*》中的[建立權限合集](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html)說明進行操作。
+ 透過身分提供者在 IAM 中管理的使用者：

  建立聯合身分的角色。遵循《*IAM 使用者指南*》的[為第三方身分提供者 (聯合) 建立角色](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html)中的指示。
+ IAM 使用者：
  + 建立您的使用者可擔任的角色。請按照《*IAM 使用者指南*》的[為 IAM 使用者建立角色](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html)中的指示。
  + (不建議) 將政策直接附加至使用者，或將使用者新增至使用者群組。請遵循《*IAM 使用者指南*》的[新增許可到使用者 (主控台)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) 中的指示。

### 使用主控台指定或變更 Parameter Store 預設方案
<a name="parameter-store-tier-changing"></a>

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

**提示**  
如果您尚未建立參數，您可以使用 AWS Command Line Interface (AWS CLI) 或 AWS Tools for Windows PowerShell 來變更預設參數層。如需詳細資訊，請參閱 [使用 指定或變更Parameter Store預設層 AWS CLI](#parameter-store-tier-changing-cli) 及 [指定或變更Parameter Store預設層 (PowerShell)](#parameter-store-tier-changing-ps)。

**指定或變更 Parameter Store 預設層**

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. 選擇 **Change default tier** (變更預設層)。

1. 選擇下列其中一個選項。
   + **標準**
   + **Advanced (進階)**
   + **Intelligent-Tiering**

   如需這些選項的資訊，請參閱 [指定預設參數層](#ps-default-tier)。

1. 檢閱訊息，然後選擇 **Confirm (確認)**。

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

### 使用 指定或變更Parameter Store預設層 AWS CLI
<a name="parameter-store-tier-changing-cli"></a>

下列程序說明如何使用 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* 值的清單，請參閱《Amazon Web Services 一般參考》**中 [Systems Manager 服務端點](https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region)一節的**區域**資料欄。

   *tier-option* 值包含 `Standard`、`Advanced` 和 `Intelligent-Tiering`。如需這些選項的資訊，請參閱 [指定預設參數層](#ps-default-tier)。

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

1. 執行下列命令，以檢視目前 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)
<a name="parameter-store-tier-changing-ps"></a>

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

**使用 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/default-parameter-tier" -SettingValue "tier-option" -Region region
   ```

   *region* 代表 AWS 區域 支援的 識別符 AWS Systems Manager，例如`us-east-2`美國東部 （俄亥俄） 區域。如需支援的 *region* 值的清單，請參閱《Amazon Web Services 一般參考》**中 [Systems Manager 服務端點](https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region)一節的**區域**資料欄。

   *tier-option* 值包含 `Standard`、`Advanced` 和 `Intelligent-Tiering`。如需這些選項的資訊，請參閱 [指定預設參數層](#ps-default-tier)。

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

1. 執行下列命令，以檢視目前 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* 值的清單，請參閱《Amazon Web Services 一般參考》**中 [Systems Manager 服務端點](https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region)一節的**區域**資料欄。

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

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

## 將標準參數變更為進階參數
<a name="parameter-store-advanced-parameters-enabling"></a>

請使用下列步驟，將現有的標準參數變更為進階參數。如需有關如何建立新的進階參數的資訊，請參閱 [在 Systems Manager 中建立 Parameter Store 參數](sysman-paramstore-su-create.md)。

**若要將標準參數變更為進階參數**

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

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

1. 選擇參數，然後選擇 **Edit (編輯)**。

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

1. 選擇 **Advanced (進階)**。

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

1. 選擇**儲存變更**。

# 增加或重設 Parameter Store 輸送量
<a name="parameter-store-throughput"></a>

提高Parameter Store輸送量會增加 中Parameter Store工具 AWS Systems Manager每秒可處理的最大交易數 (TPS)。增加的輸送量可讓您以更大的流量操作 Parameter Store，以支援需要並行存取多種參數的應用程式和工作負載。您可以將配額提高到 **Settings** (設定) 索引標籤中的最大輸送量。

Parameter Store 輸送量設定適用於目前 AWS 帳戶 和 中所有 IAM 使用者建立的所有交易 AWS 區域。輸送量設定適用於標準和進階參數。

**注意**  
一般而言，更新會立即顯示在 Service Quotas 中。在極少數情況下，最多可能需要 24 小時更新才會顯示出來。

如需有關輸送量預設值上限與限制上限的詳細資訊，請參閱 [AWS Systems Manager endpoints and quotas](https://docs.aws.amazon.com//general/latest/gr/ssm.html#limits_ssm)。

增加輸送量配額會產生 費用 AWS 帳戶。如需詳細資訊，請參閱[AWS Systems Manager 定價](https://aws.amazon.com/systems-manager/pricing/)。

**Topics**
+ [設定許可以變更 Parameter Store 輸送量](#parameter-store-throughput-permissions)
+ [使用主控台增加或重設輸送量](#parameter-store-throughput-increasing)
+ [使用 增加或重設輸送量 AWS CLI](#parameter-store-throughput-increasing-cli)
+ [提高或重設輸送量 (PowerShell)](#parameter-store-throughput-increasing-ps)

## 設定許可以變更 Parameter Store 輸送量
<a name="parameter-store-throughput-permissions"></a>

請執行以下其中一項，驗證您擁有在 IAM 中變更 Parameter Store 輸送量的許可：
+ 確定將 `AdministratorAccess` 政策連接到您的 IAM 實體 (使用者、群組或角色)。
+ 確認您擁有使用以下 API 操作變更輸送量服務設定的許可：
  + [GetServiceSetting](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetServiceSetting.html)
  + [UpdateServiceSetting](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_UpdateServiceSetting.html)
  + [ResetServiceSetting](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_ResetServiceSetting.html)

將下列許可授予 IAM 實體，以允許使用者檢視和變更 AWS 帳戶中特定 AWS 區域 內參數的參數輸送量設定。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetServiceSetting"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:UpdateServiceSetting"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:servicesetting/ssm/parameter-store/high-throughput-enabled"
        }
    ]
}
```

------

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

------
#### [ JSON ]

****  

```
{
    "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 使用者指南*》中的[建立權限合集](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html)說明進行操作。
+ 透過身分提供者在 IAM 中管理的使用者：

  建立聯合身分的角色。遵循《*IAM 使用者指南*》的[為第三方身分提供者 (聯合) 建立角色](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html)中的指示。
+ IAM 使用者：
  + 建立您的使用者可擔任的角色。請按照《*IAM 使用者指南*》的[為 IAM 使用者建立角色](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html)中的指示。
  + (不建議) 將政策直接附加至使用者，或將使用者新增至使用者群組。請遵循《*IAM 使用者指南*》的[新增許可到使用者 (主控台)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) 中的指示。

## 使用主控台增加或重設輸送量
<a name="parameter-store-throughput-increasing"></a>

以下程序示範如何使用 Systems Manager 主控台來增加 Parameter Store 每秒鐘可以為目前 AWS 帳戶 和 AWS 區域處理的交易數。此外，這會說明您不再需要更高的輸送量或不想再產生費用時如何還原為標準設定。

**使用主控台增加或重設 Parameter Store 輸送量**
**提示**  
如果您尚未建立參數，您可以使用 AWS Command Line Interface (AWS CLI) 或 AWS Tools for Windows PowerShell 來增加輸送量。如需詳細資訊，請參閱 [使用 增加或重設輸送量 AWS CLI](#parameter-store-throughput-increasing-cli) 及 [提高或重設輸送量 (PowerShell)](#parameter-store-throughput-increasing-ps)。

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. 如果您要提高限制，請執行下列動作：
   + 選取**我接受變更此設定會在我的 AWS 帳戶上產生費用**核取方塊。
   + 選擇 **Set limit (設定限制)**。

   -或-

   如果要將限制重設為預設值，請執行下列動作：
   + 選取**我接受重設為預設輸送量限制會導致 Parameter Store 每秒處理較少的交易**核取方塊。
   + 選擇**重設限制**。

## 使用 增加或重設輸送量 AWS CLI
<a name="parameter-store-throughput-increasing-cli"></a>

下列程序說明如何使用 AWS CLI 來增加Parameter Store每秒可處理目前 AWS 帳戶 和 的交易數量 AWS 區域。您也可以還原為預設限制。

**使用 增加Parameter Store輸送量 AWS CLI**

1. 開啟 AWS CLI 並執行下列命令，以增加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
   ```

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

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"
       }
   }
   ```

如果您不再需要更高的輸送量，或如果您不希望再支付費用，您可以恢復為標準的設定。若要恢復您的設定，請執行以下命令。

```
aws ssm reset-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": "false",
        "LastModifiedDate": 1555532818.578,
        "LastModifiedUser": "System",
        "ARN": "arn:aws:ssm:us-east-2:123456789012:servicesetting/ssm/parameter-store/high-throughput-enabled",
        "Status": "Default"
    }
}
```

## 提高或重設輸送量 (PowerShell)
<a name="parameter-store-throughput-increasing-ps"></a>

以下程序示範如何使用 Tools for Windows PowerShell 來增加 Parameter Store 每秒鐘可以為目前 AWS 帳戶 和 AWS 區域處理的交易數。您也可以還原為預設限制。

**使用 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
   ```

如果您不再需要更高的輸送量，或如果您不希望再支付費用，您可以恢復為標準的設定。若要恢復您的設定，請執行以下命令。

```
Reset-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/17/2019 8:26:58 PM
LastModifiedUser : System
SettingId        : /ssm/parameter-store/high-throughput-enabled
SettingValue     : false
Status           : Default
```

# 根據 Parameter Store 事件設定通知或觸發動作
<a name="sysman-paramstore-cwe"></a>

本節中的主題說明如何使用 Amazon EventBridge 和 Amazon Simple Notification Service (Amazon SNS) 來通知您 AWS Systems Manager 參數的變更。您可以建立 EventBridge 規則，在參數或參數標籤版本建立、更新或遭到刪除時通知您。盡可能發出事件。您可以接收與參數政策相關變更或狀態的通知，例如參數過期、參數即將過期，或是在指定的時間期間內並未發生變更。

**注意**  
參數政策適用於使用進階參數方案的參數。需支付費用。如需詳細資訊，請參閱 [在 Parameter Store 中指派參數政策](parameter-store-policies.md) 及 [管理參數層](parameter-store-advanced-parameters.md)。

此部分的主題也說明了如何為特定參數事件，在目標上開啟其他動作。例如，您可以執行 AWS Lambda 函數，在參數過期或刪除時自動重新建立參數。您可以設定一個通知，在您的資料庫密碼更新時呼叫 Lambda 函數。Lambda 函數可以強制您的資料庫連線重設或以新的密碼重新連線。EventBridge 也支援執行Run Command命令和自動化執行，以及許多其他 中的動作 AWS 服務。 Run Command和 自動化都是其中的工具 AWS Systems Manager。如需詳細資訊，請參閱《[Amazon EventBridge 使用者指南](https://docs.aws.amazon.com/eventbridge/latest/userguide/)**》。

**開始之前**  
建立任何您需要的資源，為您建立的規則指定目標動作。例如，若您建立的規格是用來傳送通知，請先建立 Amazon SNS 主題。如需詳細資訊，請參閱《Amazon Simple Notification Service 開發人員指南》**中的 [Amazon SNS 入門](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.htmlGettingStarted.html)。

## 為參數及參數政策設定 EventBridge
<a name="cwe-parameter-changes"></a>

本主題說明下列內容：
+ 如何建立 EventBridge 規則，根據您 AWS 帳戶帳戶中一或多個參數上發生的事件目標。
+ 如何建立 EventBridge 規則，根據您 AWS 帳戶帳戶中一或多個參數政策上發生的事件目標。當您建立進階參數時，您可以指定參數過期的時間、參數過期前何時要接收到通知，以及在參數沒有變更的情況下要等待多久的時間才傳送通知。您可以使用下列程序來設定這些事件的通知。如需詳細資訊，請參閱[在 Parameter Store 中指派參數政策](parameter-store-policies.md)及[管理參數層](parameter-store-advanced-parameters.md)。

**為 Systems Manager 參數或參數政策設定 EventBridge**

1. 前往 [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/) 開啟 Amazon EventBridge 主控台。

1. 在導覽窗格中，選擇 **Rules** (規則)，然後選擇 **Create rule** (建立規則)。

   -或-

   如果 EventBridge 首頁先開啟，請選擇 **Create rule** (建立規則)。

1. 輸入規則的名稱和描述。

   在同一個區域和同一個事件匯流排上，規則不能與另一個規則同名。

1. 針對**事件匯流排**，選擇要與此規則建立關聯的事件匯流排。如果您希望此規則在來自您自己的相符事件上啟動 AWS 帳戶，請選取**預設 **。當您帳戶中 AWS 服務 的 發出事件時，一律會前往您帳戶的預設事件匯流排。

1. 針對 **Rule type** (規則類型)，請保持選取預設的 **Rule with an event pattern** (具有事件模式的規則)。

1. 選擇**下一步**。

1. 針對**事件來源**，請保持選取預設的 **AWS 事件或 EventBridge 合作夥伴事件**。您可以略過 **Sample event ** (示範活動) 部分。

1. 針對 **Event pattern** (事件模式) 請執行下列動作：
   + 選擇 **Custom patterns (JSON editor)** (自訂模式 (JSON 編輯器))。
   + 針對 **Event pattern** (活動模式)，將以下內容之一貼到方塊中，取決於是為參數還是為參數政策建立規則：

------
#### [ Parameter ]

     ```
     {
         "source": [
             "aws.ssm"
         ],
         "detail-type": [
             "Parameter Store Change"
         ],
         "detail": {
             "name": [
                 "parameter-1-name",
                 "/parameter-2-name/level-2",
                 "/parameter-3-name/level-2/level-3"
             ],
             "operation": [
                 "Create",
                 "Update",
                 "Delete",
                 "LabelParameterVersion"
             ]
         }
     }
     ```

------
#### [ Parameter policy ]

     ```
     {
         "source": [
             "aws.ssm"
         ],
         "detail-type": [
             "Parameter Store Policy Action"
         ],
         "detail": {
             "parameter-name": [
                 "parameter-1-name",
                 "/parameter-2-name/level-2",
                 "/parameter-3-name/level-2/level-3"
             ],
             "policy-type": [
                 "Expiration",
                 "ExpirationNotification",
                 "NoChangeNotification"
             ]
         }
     }
     ```

------
   + 修改參數的內容，以及您希望採取的動作，參閱以下範例。

------
#### [ Parameter ]

     在範例中，會在名為/`Oncall` 及 `/Project/Teamlead` 的參數更新時採取動作：

     ```
     {
         "source": [
             "aws.ssm"
         ],
         "detail-type": [
             "Parameter Store Change"
         ],
         "detail": {
             "name": [
                 "/Oncall",
                 "/Project/Teamlead"
             ],
             "operation": [
                 "Update"
             ]
         }
     }
     ```

------
#### [ Parameter policy ]

     在範例中，會在名為/`OncallDuties` 的參數過期或遭刪除時採取動作：

     ```
     {
         "source": [
             "aws.ssm"
         ],
         "detail-type": [
             "Parameter Store Policy Action"
         ],
         "detail": {
             "parameter-name": [
                 "/OncallDuties"
             ],
             "policy-type": [
                 "Expiration"
             ]
         }
     }
     ```

------

1. 選擇**下一步**。

1. 針對 **Target 1** (目標 1 ) 選取目標類型及資源。例如，如果您選擇 **SNS topic** (SNS 主題)，請選取 **Topic** (主題)。如果選取 **CodePipeline**，請在 **Pipeline ARN** 輸入管線 ARN。根據需要提供其他設定值。
**提示**  
如果您的規則需要其他目標，請選擇 **Add another target** (新增另一個目標)。

1. 選擇**下一步**。

1. (選用) 為規則輸入一或多個標籤。如需詳細資訊，請參閱《Amazon EventBridge 使用者指南》**中的 [Amazon EventBridge 標籤](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-tagging.html)。

1. 選擇**下一步**。

1. 選擇**建立規則**。

**詳細資訊**  
+ [使用參數標籤以在環境中輕鬆地更新組態](https://aws.amazon.com/blogs/mt/use-parameter-labels-for-easy-configuration-update-across-environments/)
+ [《Amazon EventBridge 使用者指南》中的教學課程：使用 EventBridge 將事件轉送至 AWS Systems Manager  Run Command](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-ec2-run-command.html) * EventBridge *
+ [《Amazon EventBridge 使用者指南》中的教學課程：將 AWS Systems Manager 自動化設定為 EventBridge 目標](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-ssm-automation-as-target.html) * EventBridge *

# 使用 Parameter Store
<a name="parameter-store-working-with"></a>

本節說明如何組織、建立及標記參數，以及如何建立不同版本的參數。

您可以使用 AWS Systems Manager 主控台、AWS Command Line Interface (AWS CLI)、AWS Tools for PowerShell 和 AWS SDK 來建立和使用參數。如需參數的詳細資訊，請參閱[什麼是參數？](systems-manager-parameter-store.md#what-is-a-parameter)。

**Topics**
+ [在 Systems Manager 中建立 Parameter Store 參數](sysman-paramstore-su-create.md)
+ [在 Systems Manager 中搜尋 Parameter Store 參數](parameter-search.md)
+ [在 Parameter Store 中指派參數政策](parameter-store-policies.md)
+ [在 Parameter Store 中使用參數階層](sysman-paramstore-hierarchies.md)
+ [防止存取 Parameter Store API 操作](parameter-store-policy-conditions.md)
+ [在 Parameter Store 中使用參數標籤](sysman-paramstore-labels.md)
+ [在Parameter Store中使用參數版本](sysman-paramstore-versions.md)
+ [在 Parameter Store 中使用共用參數](parameter-store-shared-parameters.md)
+ [在 Parameter Store 中透過 Run Command 命令來使用參數](sysman-param-runcommand.md)
+ [使用 Parameter Store 中 Amazon Machine Image ID 的原生參數支援](parameter-store-ec2-aliases.md)
+ [從 Parameter Store 中刪除參數](deleting-parameters.md)

# 在 Systems Manager 中建立 Parameter Store 參數
<a name="sysman-paramstore-su-create"></a>

使用以下主題中的資訊，協助您使用 AWS Systems Manager 主控台、 AWS Command Line Interface (AWS CLI) 或 AWS Tools for Windows PowerShell (Tools for Windows PowerShell) 建立 Systems Manager 參數。

此區段展示如何在測試環境中，使用 Parameter Store 建立、存放和執行參數。它也會示範如何Parameter Store搭配其他 Systems Manager 工具使用 AWS 服務。如需詳細資訊，請參閱[什麼是參數？](systems-manager-parameter-store.md#what-is-a-parameter)

## 了解參數名稱的要求與限制
<a name="sysman-parameter-name-constraints"></a>

使用此主題中的資訊，在建立參數時協助您為參數名稱指定有效的值。

此資訊可補充 *AWS Systems Manager API 參考*中 [PutParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutParameter.html) 主題的詳細資訊，它還提供有關 **AllowedPattern** (允許的模式)、**Description** (說明)、**KeyId** (金鑰 ID)、**Overwrite** (覆寫)、**Type** (類型) 以及 **Value** (值) 等值的資訊。

參數名稱的要求和條件約束包含下列項目：
+ **區分大小寫**：參數名稱一律區分大小寫。
+ **空格**：參數名稱不可包含空格。
+ **有效字元**：參數名稱只能包含下列符號和字母：`a-zA-Z0-9_.-`

  此外，斜線字元 (/) 用於在參數名稱中描述階層。例如：`/Dev/Production/East/Project-ABC/MyParameter`
+ **有效的 AMI 格式**：當您選擇 `aws:ec2:image` 做為 `String` 參數的資料類型時，您輸入的 ID 必須是有效的 AMI ID 格式 `ami-12345abcdeEXAMPLE`。
+ **完整**：當您在階層中建立或參考參數時，包含前置正斜線字元 (/)。如果您參考的參數屬於階層一部分，則指定整個階層路徑，包括初始斜線 (/)。
  + 完整參數名稱：`MyParameter1`、`/MyParameter2`、`/Dev/Production/East/Project-ABC/MyParameter`
  + 非完整參數名稱：`MyParameter3/L1`
+ **長度**：您指定的參數名稱的長度上限為 1,011 個字元。1,011 個字元計數包括 ARN 中您指定的名稱前面的字元，例如 `arn:aws:ssm:us-east-2:111122223333:parameter/` 中的 45 個字元。
+ **字首**：參數名稱的字首不得為「`aws`」或「`ssm`」(無論大小寫)。例如，嘗試使用以下名稱建立參數將會失敗及例外狀況：
  + `awsTestParameter`
  + `SSM-testparameter`
  + `/aws/testparam1`
**注意**  
當您在 SSM 文件、命令或指令碼中指定參數時，您在語法中包含 `ssm`。例如：\$1\$1ssm:*parameter\$1name*\$1\$1 及 \$1\$1 ssm:*parameter-name* \$1\$1，例如 `{{ssm:MyParameter}}` 及 `{{ ssm:MyParameter }}.`
+ **唯一性**：參數名稱在一個 AWS 區域中必須是唯一的。例如，Systems Manager 會將以下視為不同的參數，如果它們存在於相同的區域：
  + `/Test/TestParam1`
  + `/TestParam1`

  以下範例也都是唯一的：
  + `/Test/TestParam1/Logpath1`
  + `/Test/TestParam1`

  不過，如果位在同一區域，則以下範例不是唯一的：
  + `/TestParam1`
  + `TestParam1`
+ **階層深度**：如果您指定參數階層，階層深度最多為 15 個層級。您可以定義任何層級的參數。以下兩個範例在結構上都是有效的：
  + `/Level-1/L2/L3/L4/L5/L6/L7/L8/L9/L10/L11/L12/L13/L14/parameter-name`
  + `parameter-name`

  嘗試建立以下參數將會失敗並出現 `HierarchyLevelLimitExceededException` 例外狀況：
  + `/Level-1/L2/L3/L4/L5/L6/L7/L8/L9/L10/L11/L12/L13/L14/L15/L16/parameter-name`

**重要**  
如果使用者擁有路徑的存取權限，則該使用者可存取該路徑的所有層級。例如，如果使用者擁有存取路徑 `/a` 的許可，則該使用者也可以存取 `/a/b`。即使使用者在 參數 AWS Identity and Access Management (IAM) 中明確遭到拒絕存取`/a/b`，他們仍然可以遞迴呼叫 的 [GetParametersByPath](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParametersByPath.html) API 操作`/a`並檢視 `/a/b`。

**Topics**
+ [了解參數名稱的要求與限制](#sysman-parameter-name-constraints)
+ [使用主控台建立 Parameter Store 參數](parameter-create-console.md)
+ [使用 建立Parameter Store參數 AWS CLI](param-create-cli.md)
+ [使用 Tools for Windows PowerShell 建立 Parameter Store 參數](param-create-ps.md)

# 使用主控台建立 Parameter Store 參數
<a name="parameter-create-console"></a>

您可以使用 AWS Systems Manager 主控台來建立和執行 `String`、 `StringList`和 `SecureString` 參數類型。刪除參數後，請等待至少 30 秒以建立具有相同名稱的參數。

**注意**  
參數僅適用於建立參數 AWS 區域 的 。

以下程序將帶您演練使用 Parameter Store 主控台建立參數的過程。您可以在主控台中建立 `String`、`StringList` 和 `SecureString` 參數類型。

**若要建立參數**

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

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

1. 選擇 **Create parameter (建立參數)**。

1. 在 **Name (名稱)** 方塊中，輸入階層和名稱。例如，​輸入 **/Test/helloWorld**。

   如需參數階層的詳細資訊，請參閱[在 Parameter Store 中使用參數階層](sysman-paramstore-hierarchies.md)。

1. 在 **Description (描述)** 方塊中輸入描述，以識別此參數為測試參數。

1. 對於 **Parameter tier (參數層級)**，請選擇 **Standard (標準)** 或 **Advanced (進階)**。如需關於進階參數的詳細資訊，請參閱 [管理參數層](parameter-store-advanced-parameters.md)。

1. 在 **Type (類型)** 中選擇 **String**、**StringList** 或 **SecureString**。
   + 如果您選擇 **String (字串)**，則會顯示 **Data type (資料類型)** 欄位。如果您要建立參數來保留 Amazon Machine Image (AMI) 的資源 ID，請選取 `aws:ec2:image`。否則，請將預設的 `text` 維持在選取狀態。
   + 如果您選擇 **SecureString**，將會顯示 **KMS Key ID (KMS 金鑰 ID)** 欄位。如果您不提供 AWS Key Management Service AWS KMS key ID、 AWS KMS key Amazon Resource Name (ARN)、別名名稱或別名 ARN，則系統會使用 `alias/aws/ssm`，這是 Systems Manager AWS 受管金鑰 的 。如果您不想使用此金鑰，您可以使用客戶管理的金鑰。如需 AWS 受管金鑰 和客戶受管金鑰的詳細資訊，請參閱 *AWS Key Management Service 開發人員指南*中的 [AWS Key Management Service 概念](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html)。如需 Parameter Store和 AWS KMS 加密的詳細資訊，請參閱 [AWS Systems Manager Parameter Store如何使用 AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/services-parameter-store.html)。
**重要**  
Parameter Store 只支援[對稱加密 KMS 金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-choose-key-spec.html#symmetric-cmks)。您無法使用[非對稱加密 KMS 金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html)來加密您的參數。如需判斷 KMS 金鑰為對稱或非對稱的說明，請參閱《*AWS Key Management Service 開發人員指南*》中的[識別對稱鍵和非對稱金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/find-symm-asymm.html)。
   + 在主控台使用 `key-id` 參數及客戶受管金鑰別名名稱或別名 ARN 來建立 `SecureString` 參數時，需要在別名前面指定字首 `alias/`。以下是 ARN 範例：

     ```
     arn:aws:kms:us-east-2:123456789012:alias/abcd1234-ab12-cd34-ef56-abcdeEXAMPLE
     ```

     以下是別名名稱範例：

     ```
     alias/MyAliasName
     ```

1. 在 **Value (數值)** 方塊中輸入值。例如，輸入 **This is my first parameter** 或 **ami-0dbf5ea29aEXAMPLE**。
**注意**  
不能在其他參數的值中參考或巢套參數。參數值中不能包含 `{{}}` 或 `{{ssm:parameter-name}}`。  
如果您選擇了 **SecureString**，當您稍後在參數**概觀**索引標籤中檢視參數時，預設會遮罩參數的值 ("\$1\$1\$1\$1\$1\$1")，如下圖所示。選擇 **Show** (顯示)，以顯示參數值。  

![\[SecureString 參數的值會以顯示該值的選項加以遮罩。\]](http://docs.aws.amazon.com/zh_tw/systems-manager/latest/userguide/images/ps-overview-show-secstring.png)


1. (選用) 在 **Tags (標記)** 區域中將一個或多個標記索引鍵/值對套用到該參數。

   標籤是您指派給資源的選用性中繼資料。標籤允許您以不同的方式 (例如用途、擁有者或環境) 將資源分類。例如，您可能想要標記 Systems Manager 參數，以識別其適用的資源類型、環境或該參數所參考的組態資料的類型。在這種情況下，您可以指定以下索引鍵/值組：
   + `Key=Resource,Value=S3bucket`
   + `Key=OS,Value=Windows`
   + `Key=ParameterType,Value=LicenseKey`

1. 選擇 **Create parameter (建立參數)**。

1. 在參數清單中，選擇您剛才建立的參數名稱。確認 **Overview (概觀)** 索引標籤上的詳細資訊。如果您建立 `SecureString` 參數，請選擇 **Show (顯示)** 以檢視未加密的值。

**注意**  
您無法將進階參數變更為標準參數。如果您不再需要進階參數，或如果您不希望再支付費用，將它刪除，並將它重新建立為新的標準參數。

**注意**  
您無法使用 主控台變更現有參數的類型 （例如，從 `String`變更為 `SecureString`)。若要變更參數的類型，您必須使用 AWS CLI 或 搭配 `--overwrite`選項。如需詳細資訊，請參閱[使用 建立Parameter Store參數 AWS CLI](param-create-cli.md)。

# 使用 建立Parameter Store參數 AWS CLI
<a name="param-create-cli"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 來建立 `String`、 `StringList`和 `SecureString` 參數類型。刪除參數後，請等待至少 30 秒以建立具有相同名稱的參數。

不能在其他參數的值中參考或巢套參數。參數值中不能包含 `{{}}` 或 `{{ssm:parameter-name}}`。

**注意**  
參數僅適用於建立參數 AWS 區域 的 。

**Topics**
+ [使用 建立`String`參數 AWS CLI](#param-create-cli-string)
+ [使用 建立 StringList 參數 AWS CLI](#param-create-cli-stringlist)
+ [使用 建立 SecureString 參數 AWS CLI](#param-create-cli-securestring)
+ [使用 建立多行參數 AWS CLI](#param-create-cli-multiline)

## 使用 建立`String`參數 AWS CLI
<a name="param-create-cli-string"></a>

1. 如果您尚未安裝並設定 AWS Command Line Interface (AWS CLI)，請安裝並設定 。

   如需相關資訊，請參閱[安裝或更新最新版本的 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)。

1. 請執行以下命令以建立 `String`-類參數。將每個*範例資源預留位置*取代為您自己的資訊。

------
#### [ Linux & macOS ]

   ```
   aws ssm put-parameter \
       --name "parameter-name" \
       --value "parameter-value" \
       --type String \
       --tags "Key=tag-key,Value=tag-value"
   ```

------
#### [ Windows ]

   ```
   aws ssm put-parameter ^
       --name "parameter-name" ^
       --value "parameter-value" ^
       --type String ^
       --tags "Key=tag-key,Value=tag-value"
   ```

------

   -或-

   執行下列命令，以建立包含 Amazon Machine Image (AMI) ID 做為參數值的參數。

------
#### [ Linux & macOS ]

   ```
   aws ssm put-parameter \
       --name "parameter-name" \
       --value "an-AMI-id" \
       --type String \
       --data-type "aws:ec2:image" \
       --tags "Key=tag-key,Value=tag-value"
   ```

------
#### [ Windows ]

   ```
   aws ssm put-parameter ^
       --name "parameter-name" ^
       --value "an-AMI-id" ^
       --type String ^
       --data-type "aws:ec2:image" ^
       --tags "Key=tag-key,Value=tag-value"
   ```

------

   `--name` 選項支援階層。如需有關階層的詳細資訊，請參閱[在 Parameter Store 中使用參數階層](sysman-paramstore-hierarchies.md)。

   只有在建立包含 AMI ID 的參數時，才需要指定 `--data-type` 選項。它會驗證您輸入的參數值是否為格式正確的 Amazon Elastic Compute Cloud (Amazon EC2) AMI ID。對於所有其他參數，預設資料類型為 `text`，可選擇指定一個值。如需詳細資訊，請參閱[使用 Parameter Store 中 Amazon Machine Image ID 的原生參數支援](parameter-store-ec2-aliases.md)。
**重要**  
如果成功，該命令將會傳回參數的版本號碼。**例外狀況**：如果您已將 `aws:ec2:image` 指定為資料類型，則回應中的新版本號碼並不表示參數值已經過驗證。如需詳細資訊，請參閱[使用 Parameter Store 中 Amazon Machine Image ID 的原生參數支援](parameter-store-ec2-aliases.md)。

   此範例將兩個索引鍵/值對標籤新增至參數。

------
#### [ Linux & macOS ]

   ```
   aws ssm put-parameter \
       --name parameter-name \
       --value "parameter-value" \
       --type "String" \
       --tags '[{"Key":"Region","Value":"East"},{"Key":"Environment", "Value":"Production"}]'
   ```

------
#### [ Windows ]

   ```
   aws ssm put-parameter ^
       --name parameter-name ^
       --value "parameter-value" ^
       --type "String" ^
       --tags [{\"Key\":\"Region1\",\"Value\":\"East1\"},{\"Key\":\"Environment1\",\"Value\":\"Production1\"}]
   ```

------

   以下範例在名稱中使用參數階層來建立純文字 `String` 參數。傳回參數的版本號碼。如需參數階層的詳細資訊，請參閱[在 Parameter Store 中使用參數階層](sysman-paramstore-hierarchies.md)。

------
#### [ Linux & macOS ]

   **不在階層中的參數**

   ```
   aws ssm put-parameter \
       --name "golden-ami" \
       --type "String" \
       --value "ami-12345abcdeEXAMPLE"
   ```

   **在階層中的參數**

   ```
   aws ssm put-parameter \
       --name "/amis/linux/golden-ami" \
       --type "String" \
       --value "ami-12345abcdeEXAMPLE"
   ```

------
#### [ Windows ]

   **不在階層中的參數**

   ```
   aws ssm put-parameter ^
       --name "golden-ami" ^
       --type "String" ^
       --value "ami-12345abcdeEXAMPLE"
   ```

   **在階層中的參數**

   ```
   aws ssm put-parameter ^
       --name "/amis/windows/golden-ami" ^
       --type "String" ^
       --value "ami-12345abcdeEXAMPLE"
   ```

------

1. 執行下列命令以檢視最新的參數值，並確認新參數的詳細資訊。

   ```
   aws ssm get-parameters --names "/Test/IAD/helloWorld"
   ```

   系統會傳回如下資訊。

   ```
   {
       "InvalidParameters": [],
       "Parameters": [
           {            
               "Name": "/Test/IAD/helloWorld",
               "Type": "String",
               "Value": "My updated parameter value",
               "Version": 2,
               "LastModifiedDate": "2020-02-25T15:55:33.677000-08:00",
               "ARN": "arn:aws:ssm:us-east-2:123456789012:parameter/Test/IAD/helloWorld"            
           }
       ]
   }
   ```

執行以下命令，以變更參數值。傳回參數的版本號碼。

```
aws ssm put-parameter --name "/Test/IAD/helloWorld" --value "My updated 1st parameter" --type String --overwrite
```

執行以下命令，以檢視參數值的歷程記錄。

```
aws ssm get-parameter-history --name "/Test/IAD/helloWorld"
```

執行以下命令，以便在命令中使用此參數。

```
aws ssm send-command --document-name "AWS-RunShellScript" --parameters '{"commands":["echo {{ssm:/Test/IAD/helloWorld}}"]}' --targets "Key=instanceids,Values=instance-ids"
```

如果您只想擷取參數值，請執行下列命令。

```
aws ssm get-parameter --name testDataTypeParameter --query "Parameter.Value"
```

如果您只想使用 `get-parameters` 來擷取參數值，請執行下列命令。

```
aws ssm get-parameters --names "testDataTypeParameter" --query "Parameters[*].Value"
```

執行以下命令，以檢視參數中繼資料。

```
aws ssm describe-parameters --filters "Key=Name,Values=/Test/IAD/helloWorld"
```

**注意**  
*名稱* 必須是大寫。

系統會傳回如下資訊。

```
{
    "Parameters": [
        {
            "Name": "helloworld",
            "Type": "String",
            "LastModifiedUser": "arn:aws:iam::123456789012:user/JohnDoe",
            "LastModifiedDate": 1494529763.156,
            "Version": 1,
            "Tier": "Standard",
            "Policies": []           
        }
    ]
}
```

## 使用 建立 StringList 參數 AWS CLI
<a name="param-create-cli-stringlist"></a>

1. 如果您尚未安裝並設定 AWS Command Line Interface (AWS CLI)，請安裝並設定 。

   如需相關資訊，請參閱[安裝或更新最新版本的 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)。

1. 請執行以下命令以建立參數。將每個*範例資源預留位置*取代為您自己的資訊。

------
#### [ Linux & macOS ]

   ```
   aws ssm put-parameter \
       --name "parameter-name" \
       --value "a-comma-separated-list-of-values" \
       --type StringList \
       --tags "Key=tag-key,Value=tag-value"
   ```

------
#### [ Windows ]

   ```
   aws ssm put-parameter ^
       --name "parameter-name" ^
       --value "a-comma-separated-list-of-values" ^
       --type StringList ^
       --tags "Key=tag-key,Value=tag-value"
   ```

------
**注意**  
如果成功，該命令將會傳回參數的版本號碼。

   此範例將兩個索引鍵/值組新增至參數。根據您的本機電腦的作業系統類型，執行以下其中一個命令。從區域 Windows 機器運行的版本包含從命令列工具執行命令所需的逸出字元 ("\$1"))。

   以下是使用參數階層的 `StringList` 範例。

------
#### [ Linux & macOS ]

   ```
   aws ssm put-parameter \
       --name /IAD/ERP/Oracle/addUsers \
       --value "Milana,Mariana,Mark,Miguel" \
       --type StringList
   ```

------
#### [ Windows ]

   ```
   aws ssm put-parameter ^
       --name /IAD/ERP/Oracle/addUsers ^
       --value "Milana,Mariana,Mark,Miguel" ^
       --type StringList
   ```

------
**注意**  
`StringList` 中的項目必須以逗號 (,) 分隔。您無法使用其他標點符號或特殊字元來逸出此清單中的項目。如果您有個參數值需要逗號，那麼請使用 `String` 資料類型。

1. 執行 `get-parameters` 命令，以確認參數的詳細資訊。例如：

   ```
   aws ssm get-parameters --name "/IAD/ERP/Oracle/addUsers"
   ```

## 使用 建立 SecureString 參數 AWS CLI
<a name="param-create-cli-securestring"></a>

使用下列程序建立 `SecureString` 參數。將每個*範例資源預留位置*取代為您自己的資訊。

**重要**  
僅加密 `SecureString` 參數的*值*。參數名稱、說明和其他屬性不會加密。

**重要**  
Parameter Store 只支援[對稱加密 KMS 金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-choose-key-spec.html#symmetric-cmks)。您無法使用[非對稱加密 KMS 金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html)來加密您的參數。如需判斷 KMS 金鑰為對稱或非對稱的說明，請參閱《*AWS Key Management Service 開發人員指南*》中的[識別對稱鍵和非對稱金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/find-symm-asymm.html)。

1. 如果您尚未安裝並設定 AWS Command Line Interface (AWS CLI)，請安裝並設定 。

   如需相關資訊，請參閱[安裝或更新最新版本的 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)。

1. 執行以下其中**一**個命令，以建立使用 `SecureString` 資料類型的參數。

------
#### [ Linux & macOS ]

   **使用預設值建立`SecureString`參數 AWS 受管金鑰 **

   ```
   aws ssm put-parameter \
       --name "parameter-name" \
       --value "parameter-value" \
       --type "SecureString"
   ```

   **建立使用自訂受管金鑰的 `SecureString` 參數**

   ```
   aws ssm put-parameter \
       --name "parameter-name" \
       --value "a-parameter-value, for example P@ssW%rd#1" \
       --type "SecureString"
       --tags "Key=tag-key,Value=tag-value"
   ```

   **建立使用自訂 AWS KMS 金鑰的`SecureString`參數**

   ```
   aws ssm put-parameter \
       --name "parameter-name" \
       --value "a-parameter-value, for example P@ssW%rd#1" \
       --type "SecureString" \
       --key-id "your-account-ID/the-custom-AWS KMS-key" \
       --tags "Key=tag-key,Value=tag-value"
   ```

------
#### [ Windows ]

   **使用預設值建立`SecureString`參數 AWS 受管金鑰**

   ```
   aws ssm put-parameter ^
       --name "parameter-name" ^
       --value "parameter-value" ^
       --type "SecureString"
   ```

   **建立使用自訂受管金鑰的 `SecureString` 參數**

   ```
   aws ssm put-parameter ^
       --name "parameter-name" ^
       --value "a-parameter-value, for example P@ssW%rd#1" ^
       --type "SecureString" ^
       --tags "Key=tag-key,Value=tag-value"
   ```

   **建立使用自訂 AWS KMS 金鑰的`SecureString`參數**

   ```
   aws ssm put-parameter ^
       --name "parameter-name" ^
       --value "a-parameter-value, for example P@ssW%rd#1" ^
       --type "SecureString" ^
       --key-id " ^
       --tags "Key=tag-key,Value=tag-value"account-ID/the-custom-AWS KMS-key"
   ```

------

   如果您在帳戶和區域中使用 AWS 受管金鑰 金鑰 建立 `SecureString` 參數，則*不*必提供 `--key-id` 參數的值。
**注意**  
若要使用 AWS KMS key 指派給您 AWS 帳戶 和 的 AWS 區域，請從 命令中移除 `key-id` 參數。如需 AWS KMS keys的詳細資訊，請參閱《*AWS Key Management Service 開發人員指南*》中的 [AWS Key Management Service 概念](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk)。

   若要使用客戶受管金鑰，而不是 AWS 受管金鑰 指派給您帳戶的 ，請使用 `--key-id` 參數指定金鑰。此參數支援下列 KMS 參數格式。
   + 關鍵 Amazon Resource Name (ARN) 範例：

      `arn:aws:kms:us-east-2:123456789012:key/key-id`
   + 別名 ARN 範例：

     `arn:aws:kms:us-east-2:123456789012:alias/alias-name`
   + Key ID 範例：

     `12345678-1234-1234-1234-123456789012`
   + 別名範例：

     `alias/MyAliasName`

   您可以使用 AWS 管理主控台 或 API 來建立客戶受管 AWS KMS 金鑰。下列 AWS CLI 命令會在 AWS 區域 目前的 中建立客戶受管金鑰 AWS 帳戶。

   ```
   aws kms [create-key](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)
   ```

   使用以下格式的命令，以您剛建立的金鑰建立 `SecureString` 參數。

   以下範例使用混淆代碼名稱 (`3l3vat3131`) 作為密碼參數，並使用 AWS KMS key。

------
#### [ Linux & macOS ]

   ```
   aws ssm put-parameter \
       --name /Finance/Payroll/3l3vat3131 \
       --value "P@sSwW)rd" \
       --type SecureString \
       --key-id arn:aws:kms:us-east-2:123456789012:key/1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e
   ```

------
#### [ Windows ]

   ```
   aws ssm put-parameter ^
       --name /Finance/Payroll/3l3vat3131 ^
       --value "P@sSwW)rd" ^
       --type SecureString ^
       --key-id arn:aws:kms:us-east-2:123456789012:key/1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e
   ```

------

1. 執行以下命令，以驗證參數的詳細資訊。

   如果您不指定 `with-decryption` 參數，或如果您指定了 `no-with-decryption` 參數，命令將會傳回加密的 GUID。

------
#### [ Linux & macOS ]

   ```
   aws ssm get-parameters \
       --name "the-parameter-name-you-specified" \
       --with-decryption
   ```

------
#### [ Windows ]

   ```
   aws ssm get-parameters ^
       --name "the-parameter-name-you-specified" ^
       --with-decryption
   ```

------

1. 執行以下命令，以檢視參數中繼資料。

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-parameters \
       --filters "Key=Name,Values=the-name-that-you-specified"
   ```

------
#### [ Windows ]

   ```
   aws ssm describe-parameters ^
       --filters "Key=Name,Values=the-name-that-you-specified"
   ```

------

1. 如果您**不**使用客戶受管 AWS KMS key，請執行下列命令以變更參數值。

------
#### [ Linux & macOS ]

   ```
   aws ssm put-parameter \
       --name "the-name-that-you-specified" \
       --value "a-new-parameter-value" \
       --type "SecureString" \
       --overwrite
   ```

------
#### [ Windows ]

   ```
   aws ssm put-parameter ^
       --name "the-name-that-you-specified" ^
       --value "a-new-parameter-value" ^
       --type "SecureString" ^
       --overwrite
   ```

------

   -或-

   如果您**使用**客戶受管 AWS KMS key，請執行下列命令之一以變更參數值。

------
#### [ Linux & macOS ]

   ```
   aws ssm put-parameter \
       --name "the-name-that-you-specified" \
       --value "a-new-parameter-value" \
       --type "SecureString" \
       --key-id "the-KMSkey-ID" \
       --overwrite
   ```

   ```
   aws ssm put-parameter \
       --name "the-name-that-you-specified" \
       --value "a-new-parameter-value" \
       --type "SecureString" \
       --key-id "account-alias/the-KMSkey-ID" \
       --overwrite
   ```

------
#### [ Windows ]

   ```
   aws ssm put-parameter ^
       --name "the-name-that-you-specified" ^
       --value "a-new-parameter-value" ^
       --type "SecureString" ^
       --key-id "the-KMSkey-ID" ^
       --overwrite
   ```

   ```
   aws ssm put-parameter ^
       --name "the-name-that-you-specified" ^
       --value "a-new-parameter-value" ^
       --type "SecureString" ^
       --key-id "account-alias/the-KMSkey-ID" ^
       --overwrite
   ```

------

1. 執行以下命令，以檢視最新的參數值。

------
#### [ Linux & macOS ]

   ```
   aws ssm get-parameters \
       --name "the-name-that-you-specified" \
       --with-decryption
   ```

------
#### [ Windows ]

   ```
   aws ssm get-parameters ^
       --name "the-name-that-you-specified" ^
       --with-decryption
   ```

------

1. 執行以下命令，以檢視參數值的歷程記錄。

------
#### [ Linux & macOS ]

   ```
   aws ssm get-parameter-history \
       --name "the-name-that-you-specified"
   ```

------
#### [ Windows ]

   ```
   aws ssm get-parameter-history ^
       --name "the-name-that-you-specified"
   ```

------

**注意**  
您可以手動建立具有加密值的參數。在此案例中，因為值已加密，您無需選擇 `SecureString` 參數類型。如果您選擇 `SecureString`，您的參數將被加密兩次。

依預設，所有 `SecureString` 值都顯示為加密文字。若要解密`SecureString`值，使用者必須具有呼叫 AWS KMS [解密](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) API 操作的許可。如需有關設定 AWS KMS 存取控制的資訊，請參閱《*AWS Key Management Service 開發人員指南*》中的 [​ AWS KMS的身分驗證與存取控制](https://docs.aws.amazon.com/kms/latest/developerguide/control-access.html)。

**重要**  
如果您變更用於加密參數之 KMS 金鑰的 KMS 金鑰別名，則也必須更新參數用來參考 AWS KMS的金鑰別名。這只適用於 KMS 金鑰別名；別名連接的金鑰 ID 會保持不變，除非您刪除整個金鑰。

## 使用 建立多行參數 AWS CLI
<a name="param-create-cli-multiline"></a>

您可以使用 AWS CLI 建立具有換行符號的參數。使用分行符號來分割較長參數值中的文字以提高可讀性，或者更新網頁的多段落參數內容。使用分行字元 (例如 `\n`)，您可以將內容包含在 JSON 檔案中並使用 `--cli-input-json` 選項，如下列範例所示。

1. 如果您尚未安裝並設定 AWS Command Line Interface (AWS CLI)，請安裝並設定 。

   如需相關資訊，請參閱[安裝或更新最新版本的 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)。

1. 執行下列命令以建立多列參數。

------
#### [ Linux & macOS ]

   ```
   aws ssm put-parameter \
       --name "MultiLineParameter" \
       --type String \
       --cli-input-json file://MultiLineParameter.json
   ```

------
#### [ Windows ]

   ```
   aws ssm put-parameter ^
       --name "MultiLineParameter" ^
       --type String ^
       --cli-input-json file://MultiLineParameter.json
   ```

------

   下列範例顯示 `MultiLineParameter.json` 檔案的內容。

   ```
   {
       "Value": "<para>Paragraph One</para>\n<para>Paragraph Two</para>\n<para>Paragraph Three</para>"
   }
   ```

儲存的參數值存放如下。

```
<para>Paragraph One</para>
<para>Paragraph Two</para>
<para>Paragraph Three</para>
```

# 使用 Tools for Windows PowerShell 建立 Parameter Store 參數
<a name="param-create-ps"></a>

您可以使用 AWS Tools for Windows PowerShell 建立 `String`、 `StringList`和 `SecureString` 參數類型。刪除參數後，請等待至少 30 秒以建立具有相同名稱的參數。

不能在其他參數的值中參考或巢套參數。參數值中不能包含 `{{}}` 或 `{{ssm:parameter-name}}`。

**注意**  
參數僅適用於建立參數 AWS 區域 的 。

**Topics**
+ [建立字串參數 (Tools for Windows PowerShell)](#param-create-ps-string)
+ [建立 StringList 參數 (Tools for Windows PowerShell)](#param-create-ps-stringlist)
+ [建立 SecureString 參數 (Tools for Windows PowerShell)](#param-create-ps-securestring)

## 建立字串參數 (Tools for Windows PowerShell)
<a name="param-create-ps-string"></a>

1. 如果您尚未安裝並設定 AWS Tools for PowerShell (Tools for Windows PowerShell)。

   如需相關資訊，請參閱[安裝 AWS Tools for PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-getting-set-up.html)。

1. 執行下列命令，以建立包含純文字值的參數。將每個*範例資源預留位置*取代為您自己的資訊。

   ```
   Write-SSMParameter `
       -Name "parameter-name" `
       -Value "parameter-value" `
       -Type "String"
   ```

   -或-

   執行下列命令，以建立包含 Amazon Machine Image (AMI) ID 做為參數值的參數。
**注意**  
若要建立具有標籤的參數，請先建立 Service.model.tag 作為變數。請見此處範例。  

   ```
   $tag = New-Object Amazon.SimpleSystemsManagement.Model.Tag
   $tag.Key = "tag-key"
   $tag.Value = "tag-value"
   ```

   ```
   Write-SSMParameter `
       -Name "parameter-name" `
       -Value "an-AMI-id" `
       -Type "String" `
       -DataType "aws:ec2:image" `
       -Tags $tag
   ```

   只有在建立包含 AMI ID 的參數時，才需要指定 `-DataType` 選項。對於所有其他參數，預設資料類型為 `text`。如需詳細資訊，請參閱[使用 Parameter Store 中 Amazon Machine Image ID 的原生參數支援](parameter-store-ec2-aliases.md)。

   以下是使用參數階層的範例。

   ```
   Write-SSMParameter `
       -Name "/IAD/Web/SQL/IPaddress" `
       -Value "99.99.99.999" `
       -Type "String" `
       -Tags $tag
   ```

1. 執行以下命令，以驗證參數的詳細資訊。

   ```
   (Get-SSMParameterValue -Name "the-parameter-name-you-specified").Parameters
   ```

## 建立 StringList 參數 (Tools for Windows PowerShell)
<a name="param-create-ps-stringlist"></a>

1. 如果您尚未安裝並設定 AWS Tools for PowerShell (Tools for Windows PowerShell)。

   如需相關資訊，請參閱[安裝 AWS Tools for PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-getting-set-up.html)。

1. 執行下列命令以建立 StringList 參數。將每個*範例資源預留位置*取代為您自己的資訊。
**注意**  
若要建立具有標籤的參數，請先建立 Service.model.tag 作為變數。請見此處範例。  

   ```
   $tag = New-Object Amazon.SimpleSystemsManagement.Model.Tag
   $tag.Key = "tag-key"
   $tag.Value = "tag-value"
   ```

   ```
   Write-SSMParameter `
       -Name "parameter-name" `
       -Value "a-comma-separated-list-of-values" `
       -Type "StringList" `
       -Tags $tag
   ```

   如果成功，該命令將會傳回參數的版本號碼。

   請見此處範例。

   ```
   Write-SSMParameter `
       -Name "stringlist-parameter" `
       -Value "Milana,Mariana,Mark,Miguel" `
       -Type "StringList" `
       -Tags $tag
   ```
**注意**  
`StringList` 中的項目必須以逗號 (,) 分隔。您無法使用其他標點符號或特殊字元來逸出此清單中的項目。如果您有個參數值需要逗號，那麼請使用 `String` 資料類型。

1. 執行以下命令，以驗證參數的詳細資訊。

   ```
   (Get-SSMParameterValue -Name "the-parameter-name-you-specified").Parameters
   ```

## 建立 SecureString 參數 (Tools for Windows PowerShell)
<a name="param-create-ps-securestring"></a>

建立 `SecureString` 參數之前，請先閱讀這種參數的需求。如需詳細資訊，請參閱[使用 建立 SecureString 參數 AWS CLI](param-create-cli.md#param-create-cli-securestring)。

**重要**  
僅加密 `SecureString` 參數的*值*。參數名稱、說明和其他屬性不會加密。

**重要**  
Parameter Store 只支援[對稱加密 KMS 金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-choose-key-spec.html#symmetric-cmks)。您無法使用[非對稱加密 KMS 金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html)來加密您的參數。如需判斷 KMS 金鑰為對稱或非對稱的說明，請參閱《*AWS Key Management Service 開發人員指南*》中的[識別對稱鍵和非對稱金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/find-symm-asymm.html)。

1. 如果您尚未安裝並設定 AWS Tools for PowerShell (Tools for Windows PowerShell)。

   如需相關資訊，請參閱[安裝 AWS Tools for PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-getting-set-up.html)。

1. 請執行以下命令以建立參數。將每個*範例資源預留位置*取代為您自己的資訊。
**注意**  
若要建立具有標籤的參數，請先建立 Service.model.tag 做為變數。請見此處範例。  

   ```
   $tag = New-Object Amazon.SimpleSystemsManagement.Model.Tag
   $tag.Key = "tag-key"
   $tag.Value = "tag-value"
   ```

   ```
   Write-SSMParameter `
       -Name "parameter-name" `
       -Value "parameter-value" `
       -Type "SecureString"  `
       -KeyId "an AWS KMS key ID, an AWS KMS key ARN, an alias name, or an alias ARN" `
       -Tags $tag
   ```

   如果成功，該命令將會傳回參數的版本號碼。
**注意**  
若要使用 AWS 受管金鑰 指派給您帳戶的 ，請從 命令中移除 `-KeyId` 參數。

   以下範例將混淆代碼名稱 (3l3vat3131) 使用於密碼參數和 AWS 受管金鑰。

   ```
   Write-SSMParameter `
       -Name "/Finance/Payroll/3l3vat3131" `
       -Value "P@sSwW)rd" `
       -Type "SecureString"`
       -Tags $tag
   ```

1. 執行以下命令，以驗證參數的詳細資訊。

   ```
   (Get-SSMParameterValue -Name "the-parameter-name-you-specified" –WithDecryption $true).Parameters
   ```

依預設，所有 `SecureString` 值都顯示為加密文字。若要解密`SecureString`值，使用者必須具有呼叫 AWS KMS [解密](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) API 操作的許可。如需有關設定 AWS KMS 存取控制的資訊，請參閱《*AWS Key Management Service 開發人員指南*》中的 [​ AWS KMS的身分驗證與存取控制](https://docs.aws.amazon.com/kms/latest/developerguide/control-access.html)。

**重要**  
如果您變更用於加密參數之 KMS 金鑰的 KMS 金鑰別名，則也必須更新參數用來參考 AWS KMS的金鑰別名。這只適用於 KMS 金鑰別名；別名連接的金鑰 ID 會保持不變，除非您刪除整個金鑰。

# 在 Systems Manager 中搜尋 Parameter Store 參數
<a name="parameter-search"></a>

當您的帳戶中有大量參數時，可能很難一次找到僅一個或幾個參數的相關資訊。在此情況下，您可以使用篩選工具，根據所指定的搜尋條件，來搜尋需要相關資訊的項目。您可以使用 AWS Systems Manager 主控台、 AWS Command Line Interface (AWS CLI) AWS Tools for PowerShell、 或 [DescribeParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DescribeParameters.html) API 來搜尋參數。

**Topics**
+ [使用主控台搜尋參數](#parameter-search-console)
+ [使用 搜尋參數 AWS CLI](#parameter-search-cli)

## 使用主控台搜尋參數
<a name="parameter-search-console"></a>

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

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

1. 在搜尋方塊中選擇，然後選擇您要搜尋的方式。例如 `Type` 或 `Name`。

1. 為您選取的搜尋類型提供資訊。例如：
   + 如果要依據 `Type` 搜尋，請選擇 `String`、`StringList` 或 `SecureString`。
   + 如果要依據 `Name` 搜尋，請選擇 `contains`、`equals` 或 `begins-with`，然後輸入全部或部分參數名稱。
**注意**  
在主控台中，`Name` 的預設搜尋類型為 `contains`。

1. 按 **Enter**。

參數的清單會隨您的搜尋結果更新。

**注意**  
您的搜尋包含的結果可能多於結果首頁上顯示的結果。使用參數清單 (如果可用) 主題的向右箭頭 (**>**) 來檢視下一組結果。

## 使用 搜尋參數 AWS CLI
<a name="parameter-search-cli"></a>

使用 `describe-parameters` 命令來檢視 AWS CLI中一或多個參數的資訊。

下列範例示範各種選項，您可以用來檢視 中參數的相關資訊 AWS 帳戶。如需這些選項的詳細資訊，請參閱*《AWS Command Line Interface 使用者指南》*中的 [https://docs.aws.amazon.com/cli/latest/reference/ssm/describe-parameters.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/describe-parameters.html) 一節。

1. 如果您尚未安裝並設定 AWS Command Line Interface (AWS CLI)，請安裝並設定 。

   如需相關資訊，請參閱[安裝或更新最新版本的 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)。

1. 以可反映在您的帳戶中所建立參數的值取代下列命令中的範例值。

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-parameters \
       --parameter-filters "Key=Name,Values=MyParameterName"
   ```

------
#### [ Windows ]

   ```
   aws ssm describe-parameters ^
       --parameter-filters "Key=Name,Values=MyParameterName"
   ```

------
**注意**  
對於 `describe-parameters`，`Name` 的預設搜尋類型為 `Equals`。在參數篩選器中，指定 `"Key=Name,Values=MyParameterName"` 與指定 `"Key=Name,Option=Equals,Values=MyParameterName"` 相同。

   ```
   aws ssm describe-parameters \
       --parameter-filters "Key=Name,Option=Contains,Values=Product"
   ```

   ```
   aws ssm describe-parameters \
       --parameter-filters "Key=Type,Values=String"
   ```

   ```
   aws ssm describe-parameters \
       --parameter-filters "Key=Path,Values=/Production/West"
   ```

   ```
   aws ssm describe-parameters \
       --parameter-filters "Key=Tier,Values=Standard"
   ```

   ```
   aws ssm describe-parameters \
       --parameter-filters "Key=tag:tag-key,Values=tag-value"
   ```

   ```
   aws ssm describe-parameters \
       --parameter-filters "Key=KeyId,Values=key-id"
   ```
**注意**  
在最後一個範例中，*key-id* 代表用來加密在您帳戶中建立之`SecureString`參數的 AWS Key Management Service (AWS KMS) 金鑰 ID。或者，您也可以輸入 **alias/aws/ssm** 來使用您帳戶的預設 AWS KMS 金鑰。如需詳細資訊，請參閱[使用 建立 SecureString 參數 AWS CLI](param-create-cli.md#param-create-cli-securestring)。

   如果成功，此命令傳回的輸出會類似如下。

   ```
   {
       "Parameters": [
           {
               "Name": "/Production/West/Manager",
               "Type": "String",
               "LastModifiedDate": 1573438580.703,
               "LastModifiedUser": "arn:aws:iam::111122223333:user/Mateo.Jackson",
               "Version": 1,
               "Tier": "Standard",
               "Policies": []
           },
           {
               "Name": "/Production/West/TeamLead",
               "Type": "String",
               "LastModifiedDate": 1572363610.175,
               "LastModifiedUser": "arn:aws:iam::111122223333:user/Mateo.Jackson",
               "Version": 1,
               "Tier": "Standard",
               "Policies": []
           },
           {
               "Name": "/Production/West/HR",
               "Type": "String",
               "LastModifiedDate": 1572363680.503,
               "LastModifiedUser": "arn:aws:iam::111122223333:user/Mateo.Jackson",
               "Version": 1,
               "Tier": "Standard",
               "Policies": []
           }
       ]
   }
   ```

# 在 Parameter Store 中指派參數政策
<a name="parameter-store-policies"></a>

參數政策讓您可以將特定條件 (例如過期日期或*存留時間*) 指派給一個參數，以協助您管理一群不斷增長的參數。參數政策對於強制更新或刪除密碼和儲存於 Parameter Store ( AWS Systems Manager中的工具) 中的組態資料特別有幫助。Parameter Store 提供以下政策類型：`Expiration`、`ExpirationNotification` 和 `NoChangeNotification`。

**注意**  
若要實作密碼輪換生命週期，請使用 AWS Secrets Manager。您可以使用 Secrets Manager 在資料庫登入資料、API 金鑰和其他機密的整個生命週期輕鬆進行輪換、管理和擷取。如需詳細資訊，請參閱*AWS Secrets Manager 《 使用者指南*》中的[什麼是 AWS Secrets Manager？](https://docs.aws.amazon.com//secretsmanager/latest/userguide/intro.html)。

Parameter Store 使用非同步、定期掃描，強制執行參數政策。建立政策之後，您不需要執行額外的動作，即可強制執行政策。Parameter Store 會依據您指定的條件，獨立執行由政策定義的動作。

**注意**  
參數政策適用於使用進階參數方案的參數。如需詳細資訊，請參閱[管理參數層](parameter-store-advanced-parameters.md)。

參數政策為一 JSON 陣列，如下表所示。當您建立新的進階參數時，可以指派政策，或藉由更新參數來指派政策。Parameter Store 支援以下類型的參數政策。


| 政策 | 詳細資訊 | 範例 | 
| --- | --- | --- | 
|  **Expiration**  |  此政策會刪除參數。您可以透過使用 `ISO_INSTANT` 格式或 `ISO_OFFSET_DATE_TIME` 格式來指定特定的日期和時間。若要變更您希望參數被刪除的時間，請更新政策。更新*參數*不會影響過期日期或連接到它的政策。到達過期日期和時間時，Parameter Store 會刪除參數。  此範例使用 `ISO_INSTANT` 格式。您也可以透過使用 `ISO_OFFSET_DATE_TIME` 格式來指定日期和時間。請見此處範例：`2019-11-01T22:13:48.87+10:30:00`。   |  <pre>{<br />    "Type": "Expiration",<br />    "Version": "1.0",<br />    "Attributes": {<br />        "Timestamp": "2018-12-02T21:34:33.000Z"<br />    }<br />}</pre>  | 
|  **ExpirationNotification**  |  此政策在 Amazon EventBridge (EventBridge) 中啟動事件，藉此通知您有關過期的資訊。使用此政策，您可以在過期時間到達之前接收到通知，以天或小時為單位。  |  <pre>{<br />    "Type": "ExpirationNotification",<br />    "Version": "1.0",<br />    "Attributes": {<br />        "Before": "15",<br />        "Unit": "Days"<br />    }<br />}</pre>  | 
|  **NoChangeNotification**  |  如果在指定的時間段*沒有*修改參數，此政策會啟動 EventBridge 中的事件。例如，當密碼必須在一時間段內變更時，此一政策類型就很有用。 此政策會讀取參數的 `LastModifiedTime` 屬性，以決定何時傳送通知。如果您變更或編輯參數，系統會依據 `LastModifiedTime` 的新值重設通知的時間間隔。  |  <pre>{<br />    "Type": "NoChangeNotification",<br />    "Version": "1.0",<br />    "Attributes": {<br />        "After": "20",<br />        "Unit": "Days"<br />    }<br />}</pre>  | 

您可以將多個政策指派給一個參數。例如，您可以指派 `Expiration` 和 `ExpirationNotification` 政策，讓系統觸發 EventBridge 事件來通知您參數即將刪除。您最多可以將十 (10) 個政策指派給一個參數。

以下範例顯示 [PutParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutParameter.html) API 請求語法，該請求會將四個政策指派給新的 `SecureString` 參數，名為 `ProdDB3`。

```
{
    "Name": "ProdDB3",
    "Description": "Parameter with policies",
    "Value": "P@ssW*rd21",
    "Type": "SecureString",
    "Overwrite": "True",
    "Policies": [
        {
            "Type": "Expiration",
            "Version": "1.0",
            "Attributes": {
                "Timestamp": "2018-12-02T21:34:33.000Z"
            }
        },
        {
            "Type": "ExpirationNotification",
            "Version": "1.0",
            "Attributes": {
                "Before": "30",
                "Unit": "Days"
            }
        },
        {
            "Type": "ExpirationNotification",
            "Version": "1.0",
            "Attributes": {
                "Before": "15",
                "Unit": "Days"
            }
        },
        {
            "Type": "NoChangeNotification",
            "Version": "1.0",
            "Attributes": {
                "After": "20",
                "Unit": "Days"
            }
        }
    ]
}
```

## 將政策新增至現有參數
<a name="sysman-paramstore-su-policy-create"></a>

本節包含如何使用 AWS Systems Manager 主控台、 AWS Command Line Interface (AWS CLI) 和 將政策新增至現有參數的相關資訊 AWS Tools for Windows PowerShell 。如需關於如何建立包含政策的新參數的資訊，請參閱 [在 Systems Manager 中建立 Parameter Store 參數](sysman-paramstore-su-create.md)。

**Topics**
+ [使用主控台將政策新增至現有參數](#sysman-paramstore-policy-create-console)
+ [使用 將政策新增至現有參數 AWS CLI](#sysman-paramstore-policy-create-cli)
+ [將政策新增至現有參數 (Tools for Windows PowerShell)](#sysman-paramstore-policy-create-ps)

### 使用主控台將政策新增至現有參數
<a name="sysman-paramstore-policy-create-console"></a>

請使用下列程序，以使用 Systems Manager 主控台，將政策新增至現有參數。

**將政策新增至現有參數**

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

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

1. 選擇您要更新之參數旁的選項，以納入政策，然後選擇 **Edit (編輯)**。

1. 選擇 **Advanced (進階)**。

1. (選用) 在 **Parameter policies (參數政策)** 部分，請選擇 **Enabled (啟用)**。您可以為該參數指定過期日期和一個或多個通知政策。

1. 選擇**儲存變更**。

**重要**  
Parameter Store 會保留參數的政策，直到您用新的政策覆寫該政策或將其移除。
若要從現有參數中移除所有政策，請編輯參數，並使用括弧和大括號套用空的政策，如以下所示：`[{}]`
如果您將新政策新增至已經有政策的參數，則 Systems Manager 會覆寫連接到該參數的政策。現有的政策會被刪除。如果您想要將政策新增至已經有一個或多個政策的參數，則複製並貼上原有的政策，輸入新的政策，然後儲存您的變更。

### 使用 將政策新增至現有參數 AWS CLI
<a name="sysman-paramstore-policy-create-cli"></a>

請使用下列步驟，利用 AWS CLI將政策新增至現有參數。

**將政策新增至現有參數**

1. 如果您尚未安裝並設定 AWS Command Line Interface (AWS CLI)，請安裝並設定 。

   如需相關資訊，請參閱[安裝或更新最新版本的 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)。

1. 執行以下命令，將政策新增至現有參數。將每個*範例資源預留位置*取代為您自己的資訊。

------
#### [ Linux & macOS ]

   ```
   aws ssm put-parameter   
       --name "parameter name" \
       --value 'parameter value' \
       --type parameter type \
       --overwrite \
       --policies "[{policies-enclosed-in-brackets-and-curly-braces}]"
   ```

------
#### [ Windows ]

   ```
   aws ssm put-parameter   
       --name "parameter name" ^
       --value 'parameter value' ^
       --type parameter type ^
       --overwrite ^
       --policies "[{policies-enclosed-in-brackets-and-curly-braces}]"
   ```

------

   以下範例包含過期政策，該政策在 15 天之後會將參數刪除。此範例也包含通知政策，該政策會在參數被刪除的五 (5) 天以前產生 EventBridge 事件。最後，它包含 `NoChangeNotification` 政策，如果 60 天之後該參數沒有變更。此範例使用混淆代碼名稱 (`3l3vat3131`) 做為密碼參數，並使用 AWS Key Management Service AWS KMS key。如需詳細資訊 AWS KMS keys，請參閱《 *AWS Key Management Service 開發人員指南*》中的[AWS Key Management Service 概念](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk)。

------
#### [ Linux & macOS ]

   ```
   aws ssm put-parameter \
       --name "/Finance/Payroll/3l3vat3131" \
       --value "P@sSwW)rd" \
       --type "SecureString" \
       --overwrite \
       --policies "[{\"Type\":\"Expiration\",\"Version\":\"1.0\",\"Attributes\":{\"Timestamp\":\"2020-05-13T00:00:00.000Z\"}},{\"Type\":\"ExpirationNotification\",\"Version\":\"1.0\",\"Attributes\":{\"Before\":\"5\",\"Unit\":\"Days\"}},{\"Type\":\"NoChangeNotification\",\"Version\":\"1.0\",\"Attributes\":{\"After\":\"60\",\"Unit\":\"Days\"}}]"
   ```

------
#### [ Windows ]

   ```
   aws ssm put-parameter ^
       --name "/Finance/Payroll/3l3vat3131" ^
       --value "P@sSwW)rd" ^
       --type "SecureString" ^
       --overwrite ^
       --policies "[{\"Type\":\"Expiration\",\"Version\":\"1.0\",\"Attributes\":{\"Timestamp\":\"2020-05-13T00:00:00.000Z\"}},{\"Type\":\"ExpirationNotification\",\"Version\":\"1.0\",\"Attributes\":{\"Before\":\"5\",\"Unit\":\"Days\"}},{\"Type\":\"NoChangeNotification\",\"Version\":\"1.0\",\"Attributes\":{\"After\":\"60\",\"Unit\":\"Days\"}}]"
   ```

------

1. 執行以下命令，以驗證參數的詳細資訊。將*參數名稱*取代為您自己的資訊。

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-parameters  \
       --parameter-filters "Key=Name,Values=parameter name"
   ```

------
#### [ Windows ]

   ```
   aws ssm describe-parameters  ^
       --parameter-filters "Key=Name,Values=parameter name"
   ```

------

**重要**  
Parameter Store 會保留參數的政策，直到您用新的政策覆寫該政策或將其移除。
若要從現有參數中移除所有的政策，請編輯該參數，並套用由括弧和大括號組成的空白政策。將每個*範例資源預留位置*取代為您自己的資訊。例如：  

  ```
  aws ssm put-parameter \
      --name parameter name \
      --type parameter type  \
      --value 'parameter value' \
      --policies "[{}]"
  ```

  ```
  aws ssm put-parameter ^
      --name parameter name ^
      --type parameter type  ^
      --value 'parameter value' ^
      --policies "[{}]"
  ```
如果您將新政策新增至已經有政策的參數，則 Systems Manager 會覆寫連接到該參數的政策。現有的政策會被刪除。如果您想要將政策新增至已經有一個或多個政策的參數，則複製並貼上原有的政策，輸入新的政策，然後儲存您的變更。

### 將政策新增至現有參數 (Tools for Windows PowerShell)
<a name="sysman-paramstore-policy-create-ps"></a>

請使用下列程序，以使用 Tools for Windows PowerShell，將政策新增至現有參數。將每個*範例資源預留位置*取代為您自己的資訊。

**將政策新增至現有參數**

1. 開啟 Tools for Windows PowerShell 並執行以下命令，以指定您的登入資料。您必須在 Amazon Elastic Compute Cloud (Amazon EC2) 中擁有管理員許可，或必須在 AWS Identity and Access Management (IAM) 中授予適當的許可。

   ```
   Set-AWSCredentials `
       –AccessKey access-key-name `
       –SecretKey secret-key-name
   ```

1. 執行以下命令，以設定 PowerShell 工作階段的區域。此範例會使用美國東部 (俄亥俄) 區域 (US-east-2)。

   ```
   Set-DefaultAWSRegion `
       -Region us-east-2
   ```

1. 執行以下命令，將政策新增至現有參數。將每個*範例資源預留位置*取代為您自己的資訊。

   ```
   Write-SSMParameter `
       -Name "parameter name" `
       -Value "parameter value" `
       -Type "parameter type" `
       -Policies "[{policies-enclosed-in-brackets-and-curly-braces}]" `
       -Overwrite
   ```

   以下的範例包含過期政策，該政策將在 2020 年 5 月 13 日的午夜 (GMT) 將參數刪除。此範例也包含通知政策，該政策會在參數被刪除的五 (5) 天以前產生 EventBridge 事件。最後，它包含 `NoChangeNotification` 政策，如果 60 天之後該參數沒有變更。此範例使用混淆代碼名稱 (`3l3vat3131`) 作為密碼參數，並使用 AWS 受管金鑰。

   ```
   Write-SSMParameter `
       -Name "/Finance/Payroll/3l3vat3131" `
       -Value "P@sSwW)rd" `
       -Type "SecureString" `
       -Policies "[{\"Type\":\"Expiration\",\"Version\":\"1.0\",\"Attributes\":{\"Timestamp\":\"2018-05-13T00:00:00.000Z\"}},{\"Type\":\"ExpirationNotification\",\"Version\":\"1.0\",\"Attributes\":{\"Before\":\"5\",\"Unit\":\"Days\"}},{\"Type\":\"NoChangeNotification\",\"Version\":\"1.0\",\"Attributes\":{\"After\":\"60\",\"Unit\":\"Days\"}}]" `
       -Overwrite
   ```

1. 執行以下命令，以驗證參數的詳細資訊。將*參數名稱*取代為您自己的資訊。

   ```
   (Get-SSMParameterValue -Name "parameter name").Parameters
   ```

**重要**  
Parameter Store 會保留參數的政策，直到您用新的政策覆寫該政策或將其移除。
若要從現有參數中移除所有的政策，請編輯該參數，並套用由括弧和大括號組成的空白政策。例如：  

  ```
  Write-SSMParameter `
      -Name "parameter name" `
      -Value "parameter value" `
      -Type "parameter type" `
      -Policies "[{}]"
  ```
如果您將新政策新增至已經有政策的參數，則 Systems Manager 會覆寫連接到該參數的政策。現有的政策會被刪除。如果您想要將政策新增至已經有一個或多個政策的參數，則複製並貼上原有的政策，輸入新的政策，然後儲存您的變更。

# 在 Parameter Store 中使用參數階層
<a name="sysman-paramstore-hierarchies"></a>

以一般清單來管理數十或數百個參數不僅耗時且容易出錯。同時也很難識別任務的正確參數。這表示您可能會不小心使用錯誤的參數，或者可能會建立多個使用相同組態資料的參數。

您可以使用參數階層結構，來協助您整理和管理 參數。階層結構是一種參數名稱，其中包含您使用正斜線 (/) 定義的路徑。

**Topics**
+ [透過範例了解參數階層](#ps-hierarchy-examples)
+ [查詢階層中的參數](#ps-hierarchy-queries)
+ [使用 管理使用階層的參數 AWS CLI](#sysman-paramstore-walk-hierarchy)

## 透過範例了解參數階層
<a name="ps-hierarchy-examples"></a>

以下範例在名稱中使用三個階層來識別下列各項：

`/Environment/Type of computer/Application/Data`

`/Dev/DBServer/MySQL/db-string13`

您可以建立最多 15 個層級的階層。建議您建立階層以反映環境中現有的階層架構，如下範例所示：
+ 您的[持續整合](https://aws.amazon.com/devops/continuous-integration/)與[持續交付](https://aws.amazon.com/devops/continuous-delivery/)環境 (CI/CD 工作流程)

  `/Dev/DBServer/MySQL/db-string`

  `/Staging/DBServer/MySQL/db-string`

  `/Prod/DBServer/MySQL/db-string`
+ 使用容器的應用程式

  ```
  /MyApp/.NET/Libraries/my-password
  ```
+ 您的商業組織

  `/Finance/Accountants/UserList`

  `/Finance/Analysts/UserList`

  `/HR/Employees/EU/UserList`

參數階層將您建立參數的方式標準化，並讓您更輕鬆地隨時管理參數。參數階層也可以協助您識別設定任務的正確參數。這可協助您建立多個使用相同組態資料的參數。

您可以建立階層，讓您在不同的環境中共用參數，如以下在開發和臨時環境中使用密碼的範例所示。

`/DevTest/MyApp/database/my-password`

然後，您可以為生產環境建立唯一的密碼，如以下範例所示：

`/prod/MyApp/database/my-password`

您無需指定參數階層。您可以在第一層建立參數。這些稱為*根*參數。有關回溯相容性，在發佈階層之前於 Parameter Store 建立的所有參數皆為根參數。系統會將以下兩個參數視為根參數。

`/parameter-name`

`parameter-name`

## 查詢階層中的參數
<a name="ps-hierarchy-queries"></a>

使用階層的另一個好處是能夠使用 [GetParametersByPath](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParametersByPath.html) API 操作，來查詢在階層中某個層級*下*的所有參數。例如，如果您從 AWS Command Line Interface (AWS CLI) 執行下列命令，系統會傳回`Oncall`關卡下的所有參數：

```
aws ssm get-parameters-by-path --path /Dev/Web/Oncall
```

輸出範例：

```
{
    "Parameters": [
        {
            "Name": "/Dev/Web/Oncall/Week1",
            "Type": "String",
            "Value": "John Doe",
            "Version": 1,
            "LastModifiedDate": "2024-11-22T07:18:53.510000-08:00",
            "ARN": "arn:aws:ssm:us-east-2:123456789012:parameter/Dev/Web/Oncall/Week1",
            "DataType": "text"
        },
        {
            "Name": "/Dev/Web/Oncall/Week2",
            "Type": "String",
            "Value": "Mary Major",
            "Version": 1,
            "LastModifiedDate": "2024-11-22T07:21:25.325000-08:00",
            "ARN": "arn:aws:ssm:us-east-2:123456789012:parameter/Dev/Web/Oncall/Week2",
            "DataType": "text"
        }
    ]
}
```

若要檢視階層中已解密的 `SecureString` 參數，請指定路徑和 `--with-decryption` 參數，如以下範例所示。

```
aws ssm get-parameters-by-path --path /Prod/ERP/SAP --with-decryption
```

## 使用 管理使用階層的參數 AWS CLI
<a name="sysman-paramstore-walk-hierarchy"></a>

此程序示範如何利用 AWS CLI，來使用參數和參數階層。

**使用階層管理參數**

1. 如果您尚未安裝並設定 AWS Command Line Interface (AWS CLI)，請安裝並設定 。

   如需相關資訊，請參閱[安裝或更新最新版本的 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)。

1. 執行以下命令，以建立使用 `allowedPattern` 參數和 `String` 參數類型的參數。此範例中允許的模式表示參數值必須介於 1 位數到 4 位數。

------
#### [ Linux & macOS ]

   ```
   aws ssm put-parameter \
       --name "/MyService/Test/MaxConnections" \
       --value 100 --allowed-pattern "\d{1,4}" \
       --type String
   ```

------
#### [ Windows ]

   ```
   aws ssm put-parameter ^
       --name "/MyService/Test/MaxConnections" ^
       --value 100 --allowed-pattern "\d{1,4}" ^
       --type String
   ```

------

   該命令會傳回參數的版本號碼。

1. 執行以下命令，以 *嘗試* 以新的值覆寫您剛建立的參數。

------
#### [ Linux & macOS ]

   ```
   aws ssm put-parameter \
       --name "/MyService/Test/MaxConnections" \
       --value 10,000 \
       --type String \
       --overwrite
   ```

------
#### [ Windows ]

   ```
   aws ssm put-parameter ^
       --name "/MyService/Test/MaxConnections" ^
       --value 10,000 ^
       --type String ^
       --overwrite
   ```

------

   系統返回以下錯誤，因為新的值不符合您在上個步驟指定的允許模式的要求。

   ```
   An error occurred (ParameterPatternMismatchException) when calling the PutParameter operation: Parameter value, cannot be validated against allowedPattern: \d{1,4}
   ```

1. 執行以下其中`SecureString`一個命令，以建立使用 AWS 受管金鑰的 參數。此範例中允許的模式表示使用者可以指定任何字元，其值必須介於 8 到 20 個字元。

------
#### [ Linux & macOS ]

   ```
   aws ssm put-parameter \
       --name "/MyService/Test/my-password" \
       --value "p#sW*rd33" \
       --allowed-pattern ".{8,20}" \
       --type SecureString
   ```

------
#### [ Windows ]

   ```
   aws ssm put-parameter ^
       --name "/MyService/Test/my-password" ^
       --value "p#sW*rd33" ^
       --allowed-pattern ".{8,20}" ^
       --type SecureString
   ```

------

1. 執行以下命令，以建立更多使用先前步驟的階層結構的參數。

------
#### [ Linux & macOS ]

   ```
   aws ssm put-parameter \
       --name "/MyService/Test/DBname" \
       --value "SQLDevDb" \
       --type String
   ```

   ```
   aws ssm put-parameter \
       --name "/MyService/Test/user" \
       --value "SA" \
       --type String
   ```

   ```
   aws ssm put-parameter \
       --name "/MyService/Test/userType" \
       --value "SQLuser" \
       --type String
   ```

------
#### [ Windows ]

   ```
   aws ssm put-parameter ^
       --name "/MyService/Test/DBname" ^
       --value "SQLDevDb" ^
       --type String
   ```

   ```
   aws ssm put-parameter ^
       --name "/MyService/Test/user" ^
       --value "SA" ^
       --type String
   ```

   ```
   aws ssm put-parameter ^
       --name "/MyService/Test/userType" ^
       --value "SQLuser" ^
       --type String
   ```

------

1. 執行以下命令，以取得兩個參數的值。

------
#### [ Linux & macOS ]

   ```
   aws ssm get-parameters \
       --names "/MyService/Test/user" "/MyService/Test/userType"
   ```

------
#### [ Windows ]

   ```
   aws ssm get-parameters ^
       --names "/MyService/Test/user" "/MyService/Test/userType"
   ```

------

1. 執行以下命令，查詢單一層級下的所有參數。

------
#### [ Linux & macOS ]

   ```
   aws ssm get-parameters-by-path \
       --path "/MyService/Test"
   ```

------
#### [ Windows ]

   ```
   aws ssm get-parameters-by-path ^
       --path "/MyService/Test"
   ```

------

1. 執行下列命令，以刪除兩個參數

------
#### [ Linux & macOS ]

   ```
   aws ssm delete-parameters \
       --names "/IADRegion/Dev/user" "/IADRegion/Dev/userType"
   ```

------
#### [ Windows ]

   ```
   aws ssm delete-parameters ^
       --names "/IADRegion/Dev/user" "/IADRegion/Dev/userType"
   ```

------

# 防止存取 Parameter Store API 操作
<a name="parameter-store-policy-conditions"></a>

使用 Systems Manager for AWS Identity and Access Management (IAM) 政策支援的服務特定*[條件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)*，您可以明確允許或拒絕存取 Parameter Store API 操作和內容。若使用這些條件，您只能允許組織中的特定 IAM 實體 (使用者和角色) 呼叫特定 API 動作，或防止特定 IAM 實體執行這些動作。這包括透過 Parameter Store 主控台、 AWS Command Line Interface (AWS CLI) 和 SDKs執行的動作。

Systems Manager 目前支援特定於 Parameter Store 的三個條件。

**Topics**
+ [使用 `ssm:Overwrite` 防止變更現有參數](#overwrite-condition)
+ [防止使用 `ssm:Policies` 建立或更新使用參數政策的參數](#parameter-policies-condition)
+ [使用 `ssm:Recursive` 防止存取階層參數中的層級](#recursive-condition)

## 使用 `ssm:Overwrite` 防止變更現有參數
<a name="overwrite-condition"></a>

使用 `ssm:Overwrite` 條件來控制 IAM 實體是否可以更新現有參數。

在下列範例政策中， `"Allow"`陳述式會授予在美國東部 （俄亥俄） 區域 (us-east-2) 的 AWS 帳戶 123456789012 中執行 `PutParameter` API 操作來建立參數的許可。

但是，`"Deny"` 陳述式會防止實體變更*現有*參數的值，因為 `PutParameter` 操作會明確拒絕 `Overwrite` 選項。因此，經指派此政策的實體可以建立參數，但無法變更現有參數。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:PutParameter"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/*"
        },
        {
            "Effect": "Deny",
            "Action": [
                "ssm:PutParameter"
            ],
            "Condition": {
                "StringEquals": {
                    "ssm:Overwrite": [
                        "true"
                    ]
                }
            },
            "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/*"
        }
    ]
}
```

------

## 防止使用 `ssm:Policies` 建立或更新使用參數政策的參數
<a name="parameter-policies-condition"></a>

使用 `ssm:Policies` 條件，控制實體是否可以建立包含參數政策的參數，並更新包含參數政策的現有參數。

在下列政策範例中， `"Allow"`陳述式會授予建立參數的一般許可，但 `"Deny"`陳述式會防止實體在美國東部 （俄亥俄） 區域 (us-east-2) 的 AWS 帳戶 123456789012 中建立或更新包含參數政策的參數。實體仍可以建立或更新未指派有參數政策的參數。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:PutParameter"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/*"
        },
        {
            "Effect": "Deny",
            "Action": [
                "ssm:PutParameter"
            ],
            "Condition": {
                "StringEquals": {
                    "ssm:Policies": [
                        "true"
                    ]
                }
            },
            "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/*"
        }
    ]
}
```

------

## 使用 `ssm:Recursive` 防止存取階層參數中的層級
<a name="recursive-condition"></a>

使用 `ssm:Recursive` 條件來控制 IAM 實體是否可以在階層參數中檢視或參考層級。您可以提供或限制對階層特定層級以外之所有參數的存取權。

在下列範例政策中，`"Allow"` 陳述式提供對美國東部 (俄亥俄) 區域 (us-east-2) 中 AWS 帳戶 123456789012 之 `/Code/Departments/Finance/*` 路徑裡所有參數之 Parameter Store 操作的存取權。

之後，`"Deny"` 陳述式會防止 IAM 實體檢視或擷取處於或低於 `/Code/Departments/*` 層級的參數資料。不過，實體仍可在該路徑中建立或更新參數。建構此範例以說明，在參數階層中以遞迴方式拒絕低於特定層級的存取，優先於相同政策中更寬鬆的存取。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:*"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/*"
        },
        {
            "Effect": "Deny",
            "Action": [
                "ssm:GetParametersByPath"
            ],
            "Condition": {
                "StringEquals": {
                    "ssm:Recursive": [
                        "true"
                    ]
                }
            },
            "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/Code/Departments/*"
        }
    ]
}
```

------

**重要**  
如果使用者擁有路徑的存取權限，則該使用者可存取該路徑的所有層級。例如，如果使用者擁有存取路徑 `/a` 的許可，則該使用者也可以存取 `/a/b`。除非使用者在 `/b` 參數的 IAM 中明確遭到拒絕存取，否則都是如此 (如上所示)。

# 在 Parameter Store 中使用參數標籤
<a name="sysman-paramstore-labels"></a>

參數標籤是使用者定義的別名，可協助您管理不同版本的參數。當您修改參數時， AWS Systems Manager 會自動儲存新版本，並將版本編號增加 1。如果參數有多個版本，標籤可協助您記住參數版本的目的。

例如，假設您有一個名為 `/MyApp/DB/ConnectionString` 的參數。此參數的值是測試環境中本機資料庫的 MySQL 伺服器連線字串。在您完成更新應用程式之後，您需要參數以使用生產資料庫的連線字串。您可變更 `/MyApp/DB/ConnectionString` 的值。Systems Manager 會使用新的連線字串來自動建立版本 2。為了協助您記住每個版本的目的，您為每個參數加上標籤。您為版本 1 加上標籤 *Test*，為版本 2 加上標籤 *Production*。

您可以將標籤從參數的一個版本移動至另一個版本。例如，如果您以新生產資料庫的連線字串建立 `/MyApp/DB/ConnectionString` 參數的版本 3，則可以將 *Production* 標籤從參數的版本 2 移動至參數的版本 3。

參數標籤是參數標記的輕量型替代方案。您的組織對於必須套用至不同 AWS 資源的標記可能有嚴格的指導方針。反之，標籤只是特定參數版本的文字關聯。

與標記類似，您可以使用標記查詢參數。如本節先前所述，如果您使用 [GetParametersByPath](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParametersByPath.html) API 操作來查詢您的參數集，您將可檢視所有使用相同標籤的特定參數版本的清單。

**注意**  
如果您執行的命令中指定的參數版本不存在，則命令會失敗。系統不會返回使用參數的最新或預設值。

**標籤要求和限制**

參數標籤有下列要求與限制：
+ 參數的版本最多可以有 10 個標籤。
+ 您無法將相同的標籤附加至相同參數的不同版本。例如，如果參數的版本 1 有標籤 *Production*，那麼您無法將 *Production* 連接至版本 2。
+ 您可以將標籤從參數的一個版本移動至另一個版本。
+ 您無法在建立參數時建立標籤。您必須將標籤附加至指定的參數版本。
+ 如果您不再使用某個參數標籤，則可以將其移至不同的參數版本或將其刪除。
+ 標籤最多可使用 100 個字元。
+ 標籤可包含字母 (區分大小寫)、數字、句點 (.)、連字號 (-) 及底線 (\$1)。
+ 標籤的開頭不可以是數字、「aws」或「ssm」(不區分大小寫)。如果標籤未符合上述要求，該標籤將不會附加至參數版本，系統會將它顯示在 `InvalidLabels` 清單中。

**Topics**
+ [透過主控台使用參數標籤](#sysman-paramstore-labels-console)
+ [使用 處理參數標籤 AWS CLI](#sysman-paramstore-labels-cli)

## 透過主控台使用參數標籤
<a name="sysman-paramstore-labels-console"></a>

本節說明如何使用 Systems Manager 主控台執行以下工作：
+ [使用主控台建立參數標籤](#sysman-paramstore-labels-console-create)
+ [使用主控台檢視已附加至參數的標籤](#sysman-paramstore-labels-console-view)
+ [使用主控台移動參數標籤](#sysman-paramstore-labels-console-move)
+ [使用主控台刪除參數標籤](#systems-manager-parameter-store-labels-console-delete)

### 使用主控台建立參數標籤
<a name="sysman-paramstore-labels-console-create"></a>

下列程序說明如何使用 Systems Manager 主控台，將標籤連接至*現有*參數的一個特定版本。您無法在建立參數時附加標籤。

**將標籤連接至參數版本**

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

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

1. 選擇參數的名稱以開啟該參數的詳細資訊頁面。

1. 選擇 **History (歷程記錄)** 索引標籤。

1. 選擇您要附加標籤的參數版本。

1. 選擇 **Manage labels** (管理標籤)。

1. 選擇 **Add new label** (新增新標籤)。

1. 在文字方塊中輸入標籤名稱。若要新增更多標籤，請選擇 **Add new label** (新增新標籤)。您最多可以附加十個標籤。

1. 完成時，請選擇**儲存變更**。

### 使用主控台檢視已附加至參數的標籤
<a name="sysman-paramstore-labels-console-view"></a>

一個參數版本最多可以有 10 個標籤。下列程序說明如何使用 Systems Manager 主控台，檢視已附加至參數版本的所有標籤。

**檢視已附加至參數版本的標籤**

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

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

1. 選擇參數的名稱以開啟該參數的詳細資訊頁面。

1. 選擇 **History (歷程記錄)** 索引標籤。

1. 找到您要檢視所有已附加標籤的參數版本。**Labels (標籤)** 欄位會顯示所有已附加至該參數版本的標籤。

### 使用主控台移動參數標籤
<a name="sysman-paramstore-labels-console-move"></a>

下列程序說明如何使用 Systems Manager 主控台，將參數標籤移動至相同參數的不同版本。

**將標籤移動至不同的參數版本**

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

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

1. 選擇參數的名稱以開啟該參數的詳細資訊頁面。

1. 選擇 **History (歷程記錄)** 索引標籤。

1. 選擇您要移動標籤的參數版本。

1. 選擇 **Manage labels** (管理標籤)。

1. 選擇 **Add new label** (新增新標籤)。

1. 在文字方塊中輸入標籤名稱。

1. 完成時，請選擇**儲存變更**。

### 使用主控台刪除參數標籤
<a name="systems-manager-parameter-store-labels-console-delete"></a>

下列程序說明如何使用 Systems Manager 主控台來刪除一個或多個參數標籤。

**若要從參數中刪除標籤**

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

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

1. 選擇參數的名稱以開啟該參數的詳細資訊頁面。

1. 選擇 **History (歷程記錄)** 索引標籤。

1. 選擇您要刪除標籤的參數版本。

1. 選擇 **Manage labels** (管理標籤)。

1. 在您要刪除的每個標籤旁選擇 **Remove** (移除)。

1. 完成時，請選擇**儲存變更**。

1. 確認您的變更正確，在文字方塊中輸入 `Confirm`，然後選擇 **Confirm** (確認)。

## 使用 處理參數標籤 AWS CLI
<a name="sysman-paramstore-labels-cli"></a>

本節說明如何使用 AWS Command Line Interface (AWS CLI) 執行以下工作。
+ [使用 建立新的參數標籤 AWS CLI](#sysman-paramstore-labels-cli-create)
+ [使用 檢視參數的標籤 AWS CLI](#sysman-paramstore-labels-cli-view)
+ [使用 檢視獲指派標籤的參數清單 AWS CLI](#sysman-paramstore-labels-cli-view-param)
+ [使用 移動參數標籤 AWS CLI](#sysman-paramstore-labels-cli-move)
+ [使用 刪除參數標籤 AWS CLI](#systems-manager-parameter-store-labels-cli-delete)

### 使用 建立新的參數標籤 AWS CLI
<a name="sysman-paramstore-labels-cli-create"></a>

下列程序說明如何使用 AWS CLI主控台，將標籤連接至*現有*參數的一個特定版本。您無法在建立參數時附加標籤。

**建立參數標籤**

1. 如果您尚未安裝並設定 AWS Command Line Interface (AWS CLI)，請安裝並設定 。

   如需相關資訊，請參閱[安裝或更新最新版本的 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)。

1. 執行以下命令，以檢視您具有連接標籤許可的參數清單。
**注意**  
參數僅適用於建立參數 AWS 區域 的 。如果沒有看到您要附加標籤的參數，請確認您的區域。

   ```
   aws ssm describe-parameters
   ```

   記下您要附加標籤的參數名稱。

1. 執行以下命令，以檢視參數的所有版本。

   ```
   aws ssm get-parameter-history --name "parameter-name"
   ```

   記下您要附加標籤的參數版本。

1. 執行以下命令，依照版本號碼擷取有關參數的資訊。

   ```
   aws ssm get-parameters --names "parameter-name:version-number" 
   ```

   請見此處範例。

   ```
   aws ssm get-parameters --names "/Production/SQLConnectionString:3" 
   ```

1. 執行以下命令其中之一，將標籤附加至參數版本。如果您要連接多個標籤，以空格分隔標籤名稱。

   **將標籤附加至參數的最新版本**

   ```
   aws ssm label-parameter-version --name parameter-name  --labels label-name
   ```

   **將標籤附加至指定的參數版本。**

   ```
   aws ssm label-parameter-version --name parameter-name --parameter-version version-number --labels label-name
   ```

   請見下方範例。

   ```
   aws ssm label-parameter-version --name /config/endpoint --labels production east-region finance
   ```

   ```
   aws ssm label-parameter-version --name /config/endpoint --parameter-version 3 --labels MySQL-test
   ```
**注意**  
如果輸出顯示您在 `InvalidLabels` 清單中建立的標籤，表示該標籤不符合本主題中前述的要求。請檢閱需求，然後再試一次。如果 `InvalidLabels` 清單是空的，表示您的標籤已成功附加至參數的版本。

1. 您可以使用版本號碼或標籤名稱檢視參數的詳細資訊。執行以下命令，並指定您在上一步驟建立的標籤。

   ```
   aws ssm get-parameter --name parameter-name:label-name --with-decryption
   ```

   該命令會傳回相關資訊，如以下所示。

   ```
   {
       "Parameter": {
           "Version": version-number, 
           "Type": "parameter-type", 
           "Name": "parameter-name", 
           "Value": "parameter-value", 
           "Selector": ":label-name"
       }
   }
   ```
**注意**  
輸出中*選擇器*是您在 `Name` 輸入欄位中指定的版本號碼或標籤。

### 使用 檢視參數的標籤 AWS CLI
<a name="sysman-paramstore-labels-cli-view"></a>

您可以使用 [GetParameterHistory](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameterHistory.html) API 操作來檢視完整的歷程記錄，以及已連接至指定參數的所有標籤。或者，您可以使用 [GetParametersByPath](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParametersByPath.html) API 操作來檢視已被指派特定標籤的所有參數清單。

**使用 GetParameterHistory API 操作檢視參數的標籤**

1. 執行以下命令，以檢視您可以檢視標籤的參數清單。
**注意**  
參數只能在建立該參數的區域中使用。如果沒有看到您要移動標籤的參數，請確認您的區域。

   ```
   aws ssm describe-parameters
   ```

   記下您要檢視其標籤的參數名稱。

1. 執行以下命令，以檢視參數的所有版本。

   ```
   aws ssm get-parameter-history --name parameter-name --with-decryption
   ```

   系統會傳回如下資訊。

   ```
   {
       "Parameters": [
           {
               "Name": "/Config/endpoint", 
               "LastModifiedDate": 1528932105.382, 
               "Labels": [
                   "Deprecated"
               ], 
               "Value": "MyTestService-June-Release.example.com", 
               "Version": 1, 
               "LastModifiedUser": "arn:aws:iam::123456789012:user/test", 
               "Type": "String"
           }, 
           {
               "Name": "/Config/endpoint", 
               "LastModifiedDate": 1528932111.222, 
               "Labels": [
                   "Current"
               ], 
               "Value": "MyTestService-July-Release.example.com", 
               "Version": 2, 
               "LastModifiedUser": "arn:aws:iam::123456789012:user/test", 
               "Type": "String"
           }
       ]
   }
   ```

### 使用 檢視獲指派標籤的參數清單 AWS CLI
<a name="sysman-paramstore-labels-cli-view-param"></a>

您可以使用 [GetParametersByPath](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParametersByPath.html) API 操作來檢視某路徑中已被指派特定標籤的所有參數的清單。

執行以下命令，以檢視在某路徑中已被指派特定標籤的參數清單。將每個*範例資源預留位置*取代為您自己的資訊。

```
aws ssm get-parameters-by-path \
    --path parameter-path \
    --parameter-filters Key=Label,Values=label-name,Option=Equals \
    --max-results a-number \
    --with-decryption --recursive
```

系統會傳回如下資訊。在此範例中，使用者在 `/Config` 路徑之下進行搜尋。

```
{
    "Parameters": [
        {
            "Version": 3, 
            "Type": "SecureString", 
            "Name": "/Config/DBpwd", 
            "Value": "MyS@perGr&pass33"
        }, 
        {
            "Version": 2, 
            "Type": "String", 
            "Name": "/Config/DBusername", 
            "Value": "TestUserDB"
        }, 
        {
            "Version": 2, 
            "Type": "String", 
            "Name": "/Config/endpoint", 
            "Value": "MyTestService-July-Release.example.com"
        }
    ]
}
```

### 使用 移動參數標籤 AWS CLI
<a name="sysman-paramstore-labels-cli-move"></a>

下列程序說明如何將參數標籤移動至相同參數的不同版本。

**若要移動參數標籤**

1. 執行以下命令，以檢視參數的所有版本。將*參數名稱*取代為您自己的資訊。

   ```
   aws ssm get-parameter-history \
       --name "parameter name"
   ```

   記下您要在其中移動標籤的參數版本。

1. 執行以下命令，將現有標籤指派到參數的不同版本。將每個*範例資源預留位置*取代為您自己的資訊。

   ```
   aws ssm label-parameter-version \
       --name parameter name \
       --parameter-version version number \
       --labels name-of-existing-label
   ```
**注意**  
如果您要將現有標籤移動至參數的最新版本，請從命令中將 `--parameter-version` 移除。

### 使用 刪除參數標籤 AWS CLI
<a name="systems-manager-parameter-store-labels-cli-delete"></a>

以下程序說明如何使用 AWS CLI來刪除參數標籤。

**刪除參數標籤**

1. 執行以下命令，以檢視參數的所有版本。將*參數名稱*取代為您自己的資訊。

   ```
   aws ssm get-parameter-history \
       --name "parameter name"
   ```

   系統會傳回如下資訊。

   ```
   {
       "Parameters": [
           {
               "Name": "foo",
               "DataType": "text",
               "LastModifiedDate": 1607380761.11,
               "Labels": [
                   "l3",
                   "l2"
               ],
               "Value": "test",
               "Version": 1,
               "LastModifiedUser": "arn:aws:iam::123456789012:user/test",
               "Policies": [],
               "Tier": "Standard",
               "Type": "String"
           },
           {
               "Name": "foo",
               "DataType": "text",
               "LastModifiedDate": 1607380763.11,
               "Labels": [
                   "l1"
               ],
               "Value": "test",
               "Version": 2,
               "LastModifiedUser": "arn:aws:iam::123456789012:user/test",
               "Policies": [],
               "Tier": "Standard",
               "Type": "String"
           }
       ]
   }
   ```

   記下您要刪除標籤的參數版本。

1. 執行以下命令，以刪除您從該參數中選擇的標籤。將每個*範例資源預留位置*取代為您自己的資訊。

   ```
   aws ssm unlabel-parameter-version \
       --name parameter name \
       --parameter-version version \
       --labels label 1,label 2,label 3
   ```

   系統會傳回如下資訊。

   ```
   {
       "InvalidLabels": ["invalid"], 
       "DeletedLabels" : ["Prod"]
    }
   ```

# 在Parameter Store中使用參數版本
<a name="sysman-paramstore-versions"></a>

每次編輯參數的值時， 中的工具Parameter Store都會 AWS Systems Manager 建立新的參數*版本*，並保留先前的版本。當您最初建立參數時，Parameter Store 會將該參數指派為版本 `1`。當您變更參數值時，Parameter Store 會自動將版本號增加 1。您可以在參數歷程記錄中檢視所有版本的詳細資訊，包括值。

您也可以指定要在 API 命令和 SSM 文件中使用的參數版本，例如：`ssm:MyParameter:3`。您可以在 API 呼叫與 SSM 文件中指定參數名稱和特定版本號碼。如果您不指定版本編號，系統會自動使用最新的版本。如果您指定不存在的版本編號，系統會傳回錯誤，而不是返回使用參數的最新或預設版本。

您可以使用參數版本來查看參數在一段時間內變更的次數。參數版本也提供一層保護，以防不小心變更參數值。

一個參數最多可以建立最多 100 個版本。建立 100 個參數版本後，每次建立新版本時，會從歷史記錄中移除最舊版本的參數，以騰出空間供新版本使用。

例外狀況是歷史記錄中已有 100 個參數版本，並將參數標籤指派給最舊版本的參數。在這種情況下，不會從歷史記錄中移除該版本，而建立新參數版本的請求會失敗。此防護措施是為了避免刪除具有指定任務關鍵型標籤的參數版本。若要繼續建立新參數，請先將標籤從最舊版本的參數移至較新的參數，以便在操作中使用。如需有關移動參數標籤的相關資訊，請參閱 [使用主控台移動參數標籤](sysman-paramstore-labels.md#sysman-paramstore-labels-console-move) 和 [使用 移動參數標籤 AWS CLI](sysman-paramstore-labels.md#sysman-paramstore-labels-cli-move)。

以下程序說明如何編輯參數，然後確認新版本已經建立。您可以使用 `get-parameter` 和 `get-parameters` 命令來檢視參數版本。如需有關使用這些命令的範例，請參閱《*AWS Systems Manager API 參考*》中的 [GetParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameter.html#API_GetParameter_Examples) 和 [GetParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameters.html#API_GetParameters_Examples) 

**Topics**
+ [使用主控台建立新的參數版本](#sysman-paramstore-version-console)
+ [參考參數版本](#reference-parameter-version)

## 使用主控台建立新的參數版本
<a name="sysman-paramstore-version-console"></a>

您可以使用 Systems Manager 主控台建立參數的新版本，並檢視參數的版本歷程記錄。

**建立參數的新版本**

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

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

1. 選擇您先前建立之參數的名稱。如需有關建立新參數的資訊，請參閱[在 Systems Manager 中建立 Parameter Store 參數](sysman-paramstore-su-create.md)。

1. 選擇**編輯**。

1. 在 **Value** (值) 方塊中輸入新的值，然後選擇 **Save changes** (儲存變更)。

1. 選擇剛才更新的參數名稱。請在 **Overview (概觀)** 索引標籤上確認版本編號增加 1，然後確認新的值。

1. 若要檢視參數所有版本的歷程記錄，請選擇 **History (歷程記錄)** 索引標籤。

## 參考參數版本
<a name="reference-parameter-version"></a>

您可以在命令、API 呼叫和 SSM 文件中，使用下列格式來參考特定參數版本：ssm: `parameter-name:version-number`。

在下列範例中，Amazon Elastic Compute Cloud (Amazon EC2) `run-instances command` 使用參數 `golden-ami` 的第 3 版。

------
#### [ Linux & macOS ]

```
aws ec2 run-instances \
    --image-id resolve:ssm:/golden-ami:3 \
    --count 1 \
    --instance-type t2.micro \
    --key-name my-key-pair \
    --security-groups my-security-group
```

------
#### [ Windows ]

```
aws ec2 run-instances ^
    --image-id resolve:ssm:/golden-ami:3 ^
    --count 1 ^
    --instance-type t2.micro ^
    --key-name my-key-pair ^
    --security-groups my-security-group
```

------

**注意**  
使用 `resolve` 和參數值僅適用於 `--image-id` 選項和包含 Amazon Machine Image (AMI) 做為其數值的參數。如需詳細資訊，請參閱[使用 Parameter Store 中 Amazon Machine Image ID 的原生參數支援](parameter-store-ec2-aliases.md)。

以下是在 SSM 文件中指定 `MyRunCommandParameter` 參數第 2 版的範例。

------
#### [ YAML ]

```
---
schemaVersion: '2.2'
description: Run a shell script or specify the commands to run.
parameters:
  commands:
    type: String
    description: "(Required) Specify a shell script or a command to run."
    displayType: textarea
    default: "{{ssm:MyRunCommandParameter:2}}"
mainSteps:
- action: aws:runShellScript
  name: RunScript
  inputs:
    runCommand:
    - "{{commands}}"
```

------
#### [ JSON ]

```
{
    "schemaVersion": "2.2",
    "description": "Run a shell script or specify the commands to run.",
    "parameters": {
        "commands": {
            "type": "String",
            "description": "(Required) Specify a shell script or a command to run.",
            "displayType": "textarea",
            "default": "{{ssm:MyRunCommandParameter:2}}"
        }
    },
    "mainSteps": [
        {
            "action": "aws:runShellScript",
            "name": "RunScript",
            "inputs": {
                "runCommand": [
                    "{{commands}}"
                ]
            }
        }
    ]
}
```

------

# 在 Parameter Store 中使用共用參數
<a name="parameter-store-shared-parameters"></a>

共用進階參數可簡化在多帳戶環境中的組態資料管理。您可以集中存放和管理參數，並與需要參考這些參數 AWS 帳戶 的其他 共用這些參數。

Parameter Store 與 AWS Resource Access Manager (AWS RAM) 整合以啟用進階參數共用。 AWS RAM 是一種服務，可讓您與其他 AWS 帳戶 或透過 共用資源 AWS Organizations。

您可以透過建立資源共享 AWS RAM，與 共用您擁有的資源。資源共用指定要共用的資源、要授予的許可以及共用的消費者。消費者可包括：
+ 中的特定組織 AWS 帳戶 內部或外部 AWS Organizations
+ 中的組織單位 AWS Organizations
+ 其在 中的整個組織 AWS Organizations

如需 的詳細資訊 AWS RAM，請參閱*[AWS RAM 《 使用者指南》](https://docs.aws.amazon.com/ram/latest/userguide/)*。

本主題說明如何共用您擁有的參數，以及如何使用與您共用的參數。

**Topics**
+ [共用參數的先決條件](#prereqs)
+ [共用參數](#share)
+ [停止共享共用參數](#unshare)
+ [識別共用參數](#identify)
+ [存取共用參數](#accessing)
+ [共用參數的許可集](#sharing-permissions)
+ [共用參數的輸送量上限](#throughput)
+ [共用參數定價](#pricing)
+ [已關閉的跨帳戶存取 AWS 帳戶](#closed-accounts)

## 共用參數的先決條件
<a name="prereqs"></a>

必須符合下列先決條件，才能從帳戶共用參數：
+ 若要共用參數，您必須在 中擁有該參數 AWS 帳戶。您不能共用已與您共用的參數。
+ 若要共用參數，該參數必須位於進階參數層。如需有關參數方案的詳細資訊，請參閱[管理參數層](parameter-store-advanced-parameters.md)。如需有關將現有標準參數變更為進階參數的詳細資訊，請參閱[將標準參數變更為進階參數](parameter-store-advanced-parameters.md#parameter-store-advanced-parameters-enabling)。
+ 若要共用`SecureString`參數，必須使用客戶受管金鑰加密，而且您必須透過 分別共用金鑰 AWS Key Management Service。 AWS 受管金鑰 無法共用。使用預設值加密的參數 AWS 受管金鑰 可以更新為改用客戶受管金鑰。如需 AWS KMS 關鍵定義，請參閱《 *AWS Key Management Service 開發人員指南*》中的[AWS KMS 概念](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-mgmt)。
+ 若要與組織或 中的組織單位共用參數 AWS Organizations，您必須啟用與 共用 AWS Organizations。如需詳細資訊，請參閱《AWS RAM 使用者指南》**中的[透過 AWS Organizations啟用共用](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-orgs)。

## 共用參數
<a name="share"></a>

若要共用參數，必須將它新增至資源共用。資源共用是可讓您跨 共用資源 AWS RAM 的資源 AWS 帳戶。資源共享指定要共用的資源，以及共用它們的消費者。

當您與其他 共用您擁有的參數時 AWS 帳戶，您可以從兩個 AWS 受管許可中選擇授予取用者。如需詳細資訊，請參閱[共用參數的許可集](#sharing-permissions)。

如果您是 中組織的一部分， AWS Organizations 且已啟用組織內的共用，則可以授予組織中的取用者從 AWS RAM 主控台到共用參數的存取權。否則，取用者會收到加入資源共用的邀請，並且在接受邀請後便能存取共用的參數。

您可以使用 AWS RAM 主控台或 AWS CLI共用您擁有的參數。

**注意**  
雖然您可以使用 Systems Manager [PutResourcePolicy](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutResourcePolicy.html) API 操作共用參數，但我們建議改用 AWS Resource Access Manager (AWS RAM)。這是因為使用 `PutResourcePolicy`需要使用 AWS RAM [PromoteResourceShareCreatedFromPolicy](https://docs.aws.amazon.com/ram/latest/APIReference/API_PromoteResourceShareCreatedFromPolicy.html) API 操作，將參數提升為標準資源共享的額外步驟。否則，Systems Manager [DescribeParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DescribeParameters.html) API 操作不會使用 `--shared` 選項傳回參數。

**使用 AWS RAM 主控台共用您擁有的參數**  
請參閱《AWS RAM 使用者指南》**中的 [Creating a resource share in AWS RAM](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing.html#working-with-sharing-create)。

完成該程序時，請進行下列選擇：
+ 在「步驟 1」頁面中，對於**資源**，選取 `Parameter Store Advanced Parameter`，然後選取要共用之進階參數方案中每個參數的方塊。
+ 在「步驟 2」頁面中，對於**受管許可**，選擇要授予取用者的許可，如稍後在本主題中的[共用參數的許可集](#sharing-permissions)所述。

根據您的參數共用目標選擇其他選項。

**使用 共享您擁有的參數 AWS CLI**  
使用 [https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html](https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html) 命令將參數新增至新資源共用。

使用 [https://docs.aws.amazon.com/cli/latest/reference/ram/associate-resource-share.html](https://docs.aws.amazon.com/cli/latest/reference/ram/associate-resource-share.html) 命令將參數新增至現有資源共用。

下列範例會建立新的資源共用，以與組織中及個別帳戶中的取用者共用參數。

```
aws ram create-resource-share \
    --name "MyParameter" \
    --resource-arns "arn:aws:ssm:us-east-2:123456789012:parameter/MyParameter" \
    --principals "arn:aws:organizations::123456789012:ou/o-63bEXAMPLE/ou-46xi-rEXAMPLE" "987654321098"
```

## 停止共享共用參數
<a name="unshare"></a>

當您停止共享共用參數時，取用者帳戶將無法再存取參數。

若要停止共用您擁有的參數，您必須從資源共用中移除該參數。您可以使用 Systems Manager 主控台、 AWS RAM 主控台或 AWS CLI來這樣做。

**使用 AWS RAM 主控台停止共用您擁有的參數**  
請參閱《AWS RAM 使用者指南》**中的 [Update a resource share in AWS RAM](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-update.html)。

**使用 停止共用您擁有的參數 AWS CLI**  
使用 [disassociate-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/disassociate-resource-share.html) 命令。

## 識別共用參數
<a name="identify"></a>

擁有者和取用者可以使用 AWS CLI識別共用參數。

**使用 識別共用參數 AWS CLI**  
若要使用 識別共用參數 AWS CLI，您可以從 Systems Manager `[https://docs.aws.amazon.com/cli/latest/reference/ssm/describe-parameters.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/describe-parameters.html)`命令和 AWS RAM `[list-resources](https://docs.aws.amazon.com/cli/latest/reference/ram/list-resources.html)`命令中進行選擇。

將 `--shared` 選項與 `describe-parameters` 搭配使用時，命令會傳回與您共用的參數。

以下是範例：

```
aws ssm describe-parameters --shared
```

## 存取共用參數
<a name="accessing"></a>

消費者可以使用 AWS 命令列工具和 AWS SDKs 存取共用參數。若為取用者帳戶，與該帳戶共用的參數不會包含在**我的參數**頁面中。

**CLI 範例：使用 存取共用參數詳細資訊 AWS CLI**  
若要使用 存取共用參數詳細資訊 AWS CLI，您可以使用 [https://docs.aws.amazon.com/cli/latest/reference/ssm/get-parameter.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/get-parameter.html)或 [https://docs.aws.amazon.com/cli/latest/reference/ssm/get-parameters.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/get-parameters.html)命令。您必須將完整參數 ARN 指定為 `--name`，才能從其他帳戶擷取參數。

下列是 範例。

```
aws ssm get-parameter \
    --name arn:aws:ssm:us-east-2:123456789012:parameter/MySharedParameter
```

**共用參數的支援和不支援整合**  
目前，您可以在下列整合案例中使用共用參數：
+ AWS CloudFormation [範本參數](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html#aws-ssm-parameter-types)
+ [AWS 參數和秘密 Lambda 延伸](ps-integration-lambda-extensions.md)
+ [Amazon Elastic Compute Cloud (EC2) 啟動範本](https://docs.aws.amazon.com/autoscaling/ec2/userguide/using-systems-manager-parameters.html)
+ 使用 [EC2 RunInstances 命令](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html)從 Amazon Machine Image (AMI) 建立執行個體的 `ImageID` 值
+ [擷取 Automation 執行手冊中的參數值](https://repost.aws/knowledge-center/systems-manager-parameter-store) (Automation 是 Systems Manager 中的工具)

下列案例與整合服務目前不支援使用共用參數：
+ Run Command (Systems Manager 中的工具) 中[命令中的參數](sysman-param-runcommand.md)
+ AWS CloudFormation [動態參考](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html)
+ 中的[環境變數值](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec.env.parameter-store) AWS CodeBuild
+ 中的[環境變數值](https://docs.aws.amazon.com/apprunner/latest/dg/env-variable.html) AWS App Runner
+ Amazon Elastic Container Service 中的[秘密值](https://docs.aws.amazon.com/AmazonECS/latest/userguide/secrets-envvar-ssm-paramstore.html)

## 共用參數的許可集
<a name="sharing-permissions"></a>

取用者帳戶會取得您與其共用之參數的唯讀存取權。取用者無法更新或刪除參數。取用者無法與第三個帳戶共用參數。

當您在 中建立資源共用 AWS Resource Access Manager 以共用參數時，您可以從兩個 AWS 受管許可集合中選擇，以授予此唯讀存取權：

**AWSRAMDefaultPermissionSSMParameterReadOnly**  
允許的動作：`DescribeParameters`、`GetParameter`、`GetParameters`

**AWSRAMPermissionSSMParameterReadOnlyWithHistory**  
允許的動作：`DescribeParameters`、`GetParameter`、`GetParameters`、`GetParameterHistory`

按照《AWS RAM 使用者指南》** 中 [Creating a resource share in AWS RAM](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing.html#working-with-sharing-create) 的步驟操作時，請根據您是否希望使用者檢視參數歷史記錄，選擇 `Parameter Store Advanced Parameters` 作為資源類型和其中一個受管許可。

**注意**  
如果您要以程式設計方式擷取共用參數 （例如使用 AWS Lambda)，您可能需要將 `ssm:GetResourcePolicies`和 `ssm:PutResourcePolicy`許可新增至呼叫 AWS Resource Access Manager API 動作的任何 IAM 角色。

## 共用參數的輸送量上限
<a name="throughput"></a>

Systems Manager 會限制 [https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameter.html](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameter.html) 和 [https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameters.html](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameters.html) 操作的輸送量上限 (每秒交易數)。輸送量會在個別帳戶層級強制執行。因此，每個使用共用參數的帳戶都可以使用其允許的輸送量上限，而不會受到其他帳戶的影響。如需有關參數輸送量上限的詳細資訊，請參閱下列主題：
+ [增加Parameter Store輸送量](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-throughput.html)
+ *Amazon Web Services 一般參考* 中的 [Systems Manager Service Quotas](https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)。

## 共用參數定價
<a name="pricing"></a>

跨帳戶共用僅可在進階參數方案中使用。對於進階參數，會依每個進階參數*儲存*和 *API 用量*的目前價格產生費用。擁有帳戶需要支付進階參數的儲存費用。對共用進階參數進行 API 呼叫的任何耗用帳戶需要支付參數用量的費用。

例如，如果帳戶 A 建立進階參數 `MyAdvancedParameter`，該帳戶每月需要支付 0.05 美元以儲存參數。

接著帳戶 A 會與帳戶 B 和帳戶 C 共用 `MyAdvancedParameter`。在一個月內，這三個帳戶會呼叫 `MyAdvancedParameter`。下表說明每個帳戶進行的呼叫次數所產生的費用。

**注意**  
下表中的費用僅供說明使用。若要確認目前的定價，請參閱 [AWS Systems ManagerParameter Store 的定價](https://aws.amazon.com/systems-manager/pricing/#Parameter_Store)。


| 帳戶 | 呼叫次數 | 費用 | 
| --- | --- | --- | 
| 帳戶 A (擁有帳戶) | 10,000 次呼叫 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/systems-manager/latest/userguide/parameter-store-shared-parameters.html)  | 
| 帳戶 B (耗用帳戶) | 20,000 次呼叫 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/systems-manager/latest/userguide/parameter-store-shared-parameters.html)  | 
| 帳戶 C (耗用帳戶) | 30,000 次呼叫 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/systems-manager/latest/userguide/parameter-store-shared-parameters.html)  | 

## 已關閉的跨帳戶存取 AWS 帳戶
<a name="closed-accounts"></a>

如果關閉 AWS 帳戶 擁有共用參數的 ，則所有取用帳戶都會失去共用參數的存取權。如果擁有帳戶在帳戶關閉後 90 天內重新開啟，則耗用帳戶會重新取得對先前共用參數的存取權。如需在關閉後期間重新開啟帳戶的詳細資訊，請參閱《 *AWS 帳戶管理 參考指南*》中的在[關閉 AWS 帳戶 之後存取您的](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-closing.html#accessing-after-closure) 。

# 在 Parameter Store 中透過 Run Command 命令來使用參數
<a name="sysman-param-runcommand"></a>

您可以在 Run Command ( AWS Systems Manager中的工具) 中使用參數。如需詳細資訊，請參閱[AWS Systems Manager Run Command](run-command.md)。

## 使用主控台執行字串參數
<a name="param-test-console"></a>

以下程序會逐步解說如何執行使用 `String` 參數的命令。

**使用 Parameter Store 執行字串參數**

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

1. 在導覽窗格中，選擇 **Run Command**。

1. 選擇**執行命令**。

1. 在 **Command document (命令文件)** 清單中選擇 `AWS-RunPowerShellScript` (Windows) 或 `AWS-RunShellScript` (Linux)。

1. 對於 **Command parameters (命令參數)**，輸入 **echo \$1\$1ssm:*parameter-name*\$1\$1**。例如：**echo \$1\$1ssm:/Test/helloWorld\$1\$1**。

1. 在 **Targets** (目標) 區段中，透過手動指定標籤、選取執行個體或邊緣裝置，或指定資源群組，選擇您要執行這項操作的受管節點。
**提示**  
如果您預期看到的受管節點未列出，請參閱 [疑難排解受管節點的可用性](fleet-manager-troubleshooting-managed-nodes.md) 以取得疑難排解秘訣。

1. 對於**其他參數**：
   + 在 **Comment** (註解) 中，輸入此命令的相關資訊。
   + 在**逾時 (秒)** 中，指定在命令執行全面失敗之前，系統要等候的秒數。

1. 對於 **Rate control** (速率控制)：
   + 在**並行**中，指定可同時執行命令的受管節點數目或百分比。
**注意**  
如果您透過指定套用至受管節點的標籤或指定 AWS 資源群組來選取目標，而且您不確定目標的受管節點數量，則透過指定百分比來限制可同時執行文件的目標數量。
   + 在 **Error threshold** (錯誤閾值) 中，指定在特定數目或百分比之節點上的命令失敗之後，停止在其他受管節點上執行命令。例如，如果您指定三個錯誤，則 Systems Manager 會在收到第四個錯誤時停止傳送命令。仍在處理命令的受管節點也可能會傳送錯誤。

1. (選用) 針對**輸出選項**，若要將命令輸出儲存至檔案，請選取**將命令輸出寫入至 S3 儲存貯體**方塊。在方塊中輸入儲存貯體和字首 (資料夾) 名稱。
**注意**  
授予能力以將資料寫入至 S3 儲存貯體的 S3 許可，會是指派給執行個體之執行個體設定檔 (適用於 EC2 執行個體) 或 IAM 服務角色 (啟用混合模式的機器) 的許可，而不是執行此任務之 IAM 使用者的許可。如需詳細資訊，請參閱[設定 Systems Manager 所需的執行個體許可](setup-instance-permissions.md)或[建立混合環境的 IAM 服務角色](hybrid-multicloud-service-role.md)。此外，若指定的 S3 儲存貯體位於不同的 AWS 帳戶內，請確保與受管節點相關聯的執行個體設定檔或 IAM 服務角色是否具有寫入該儲存貯體的必要許可。

1. 在**SNS 通知**區段中，如果您要傳送有關命令執行狀態的通知，請選取**啟用 SNS 通知**核取方塊。

   如需為 Run Command 設定 Amazon SNS 通知的詳細資訊，請參閱 [使用 Amazon SNS 通知監控 Systems Manager 狀態變更](monitoring-sns-notifications.md)。

1. 選擇**執行**。

1. 在 **Command ID (命令 ID)** 頁面的 **Targets and outputs (目標和輸出)** 區域中，選取執行命令的節點 ID 旁邊的按鈕，然後選擇 **View output (檢視輸出)**。確認命令的輸出是您為參數提供的數值，例如 **This is my first parameter**。

## 使用 執行參數 AWS CLI
<a name="param-test-cli"></a>

**範例 1：簡單命令**  
下列範例命令包含名為 `DNS-IP` 的 Systems Manager 參數。此參數的值就是節點的 IP 地址。此範例使用 an AWS Command Line Interface (AWS CLI) 命令來回應參數值。

------
#### [ Linux & macOS ]

```
aws ssm send-command \
    --document-name "AWS-RunShellScript" \
    --document-version "1" \
    --targets "Key=instanceids,Values=i-02573cafcfEXAMPLE" \
    --parameters "commands='echo {{ssm:DNS-IP}}'" \
    --timeout-seconds 600 \
    --max-concurrency "50" \
    --max-errors "0" \
    --region us-east-2
```

------
#### [ Windows ]

```
aws ssm send-command ^
    --document-name "AWS-RunPowerShellScript" ^
    --document-version "1" ^
    --targets "Key=instanceids,Values=i-02573cafcfEXAMPLE" ^
    --parameters "commands='echo {{ssm:DNS-IP}}'" ^
    --timeout-seconds 600 ^
    --max-concurrency "50" ^
    --max-errors "0" ^
    --region us-east-2
```

------

該命令會傳回相關資訊，如以下所示。

```
{
    "Command": {
        "CommandId": "c70a4671-8098-42da-b885-89716EXAMPLE",
        "DocumentName": "AWS-RunShellScript",
        "DocumentVersion": "1",
        "Comment": "",
        "ExpiresAfter": "2023-12-26T15:19:17.771000-05:00",
        "Parameters": {
            "commands": [
                "echo {{ssm:DNS-IP}}"
            ]
        },
        "InstanceIds": [],
        "Targets": [
            {
                "Key": "instanceids",
                "Values": [
                    "i-02573cafcfEXAMPLE"
                ]
            }
        ],
        "RequestedDateTime": "2023-12-26T14:09:17.771000-05:00",
        "Status": "Pending",
        "StatusDetails": "Pending",
        "OutputS3Region": "us-east-2",
        "OutputS3BucketName": "",
        "OutputS3KeyPrefix": "",
        "MaxConcurrency": "50",
        "MaxErrors": "0",
        "TargetCount": 0,
        "CompletedCount": 0,
        "ErrorCount": 0,
        "DeliveryTimedOutCount": 0,
        "ServiceRole": "",
        "NotificationConfig": {
            "NotificationArn": "",
            "NotificationEvents": [],
            "NotificationType": ""
        },
        "CloudWatchOutputConfig": {
            "CloudWatchLogGroupName": "",
            "CloudWatchOutputEnabled": false
        },
        "TimeoutSeconds": 600,
        "AlarmConfiguration": {
            "IgnorePollAlarmFailure": false,
            "Alarms": []
        },
        "TriggeredAlarms": []
    }
}
```

命令執行完成後，您可以使用下列命令來檢視其詳細資訊：
+ [https://docs.aws.amazon.com/cli/latest/reference/ssm/get-command-invocation.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/get-command-invocation.html)：檢視有關命令執行的詳細資訊。
+ [https://docs.aws.amazon.com/cli/latest/reference/ssm/link-cli-ref-list-command-invocations.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/link-cli-ref-list-command-invocations.html)：檢視特定受管節點上的命令執行狀態。
+ [https://docs.aws.amazon.com/cli/latest/reference/ssm/link-cli-ref-list-commands.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/link-cli-ref-list-commands.html)：檢視受管節點之間的命令執行狀態。

**範例 2：解密 `SecureString` 參數值**  
下一個範例命令會使用名為 **SecurePassword** 的 `SecureString` 參數。`parameters` 命令會擷取並解密 `SecureString` 參數的值，然後重設本機管理員密碼，而不需要以明文傳送密碼。

------
#### [ Linux ]

```
aws ssm send-command \
        --document-name "AWS-RunShellScript" \
        --document-version "1" \
        --targets "Key=instanceids,Values=i-02573cafcfEXAMPLE" \
        --parameters '{"commands":["secure=$(aws ssm get-parameters --names SecurePassword --with-decryption --query Parameters[0].Value --output text --region us-east-2)","echo $secure | passwd myuser --stdin"]}' \
        --timeout-seconds 600 \
        --max-concurrency "50" \
        --max-errors "0" \
        --region us-east-2
```

------
#### [ Windows ]

```
aws ssm send-command ^
        --document-name "AWS-RunPowerShellScript" ^
        --document-version "1" ^
        --targets "Key=instanceids,Values=i-02573cafcfEXAMPLE" ^
        --parameters "commands=['$secure = (Get-SSMParameterValue -Names SecurePassword -WithDecryption $True).Parameters[0].Value','net user administrator $secure']" ^
        --timeout-seconds 600 ^
        --max-concurrency "50" ^
        --max-errors "0" ^
        --region us-east-2
```

------

**範例 3：參照 SSM 文件中的參數**  
您也可以在 SSM 文件的*參數*部分中參考 Systems Manager 參數，如以下範例所示。

```
{
   "schemaVersion":"2.0",
   "description":"Sample version 2.0 document v2",
   "parameters":{
      "commands" : {
        "type": "StringList",
        "default": ["{{ssm:parameter-name}}"]
      }
    },
    "mainSteps":[
       {
          "action":"aws:runShellScript",
          "name":"runShellScript",
          "inputs":{
             "runCommand": "{{commands}}"
          }
       }
    ]
}
```

不要混淆 SSM 文件的 `runtimeConfig` 區段中使用的*本機參數*與 Parameter Store 參數的相似語法。本機參數與 Systems Manager 參數不同。您可以從缺少 `ssm:` 字首這一點來區分本機參數與 Systems Manager 參數。

```
"runtimeConfig":{
        "aws:runShellScript":{
            "properties":[
                {
                    "id":"0.aws:runShellScript",
                    "runCommand":"{{ commands }}",
                    "workingDirectory":"{{ workingDirectory }}",
                    "timeoutSeconds":"{{ executionTimeout }}"
```

**注意**  
SSM 文件不支援參考 `SecureString` 參數。這表示若要在 Run Command 中 (舉例來說) 使用 `SecureString` 參數，您必須先擷取參數值，再傳遞給 Run Command，如以下範例所示：  

```
value=$(aws ssm get-parameters --names parameter-name --with-decryption)
```

```
aws ssm send-command \
    --name AWS-JoinDomain \
    --parameters password=$value \
    --instance-id instance-id
```

```
aws ssm send-command ^
    --name AWS-JoinDomain ^
    --parameters password=$value ^
    --instance-id instance-id
```

```
$secure = (Get-SSMParameterValue -Names parameter-name -WithDecryption $True).Parameters[0].Value | ConvertTo-SecureString -AsPlainText -Force
```

```
$cred = New-Object System.Management.Automation.PSCredential -argumentlist user-name,$secure
```

# 使用 Parameter Store 中 Amazon Machine Image ID 的原生參數支援
<a name="parameter-store-ec2-aliases"></a>

建立 `String` 參數時，您現在可以將*資料類型*指定為 `aws:ec2:image`，以確保輸入的參數值為有效的 Amazon Machine Image (AMI) ID 格式。

支援 AMI ID 格式可讓您避免每次想要在程序中使用的 AMI 發生變更時，都使用新 ID 來更新所有指令碼和範本。您可以使用資料類型 `aws:ec2:image` 建立參數，並為其數值輸入 AMI 的 ID。這是您目前想要建立新執行個體的 AMI。然後，您可以在範本、命令和指令碼中參考此參數。

例如，您在執行 Amazon Elastic Compute Cloud (Amazon EC2) `run-instances` 命令時，可以指定包含您偏好的 AMI ID 的參數。

**注意**  
執行此命令的使用者必須具有包含 `ssm:GetParameters` API 操作的 AWS Identity and Access Management (IAM) 許可，才能驗證參數值。否則，參數建立程序會失敗。

------
#### [ Linux & macOS ]

```
aws ec2 run-instances \
    --image-id resolve:ssm:/golden-ami \
    --count 1 \
    --instance-type t2.micro \
    --key-name my-key-pair \
    --security-groups my-security-group
```

------
#### [ Windows ]

```
aws ec2 run-instances ^
    --image-id resolve:ssm:/golden-ami ^
    --count 1 ^
    --instance-type t2.micro ^
    --key-name my-key-pair ^
    --security-groups my-security-group
```

------

當您使用 Amazon EC2 主控台建立執行個體時，也可以選擇偏好的 AMI。如需詳細資訊，請參閱《Amazon EC2 使用者指南**》中的 [Using a Systems Manager parameter to find an AMI](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/finding-an-ami.html#using-systems-manager-parameter-to-find-AMI)。

當您需要在執行個體建立工作流程中使用不同的 AMI 時，只需要使用新的 AMI 值更新參數，Parameter Store 會再次驗證您已使用正確的格式輸入 ID。

## 授予許可以建立 `aws:ec2:image` 資料類型的參數
<a name="parameter-store-ec2-iam"></a>

使用 AWS Identity and Access Management (IAM) 政策，您可以提供或限制使用者存取 Parameter Store API 操作和內容。

若要建立 `aws:ec2:image` 資料類型參數，使用者必須同時擁有 `ssm:PutParameter` 和 `ec2:DescribeImages` 許可。

以下範例政策向使用者授予許可，為 `aws:ec2:image` 呼叫 `PutParameter` API 操作。這意味著使用者可以將資料類型 `aws:ec2:image` 的參數新增至系統。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ssm:PutParameter",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "ec2:DescribeImages",
            "Resource": "*"
        }
    ]
}
```

------

## AMI 格式驗證的運作方式
<a name="parameter-ami-validation"></a>

當您將 `aws:ec2:image` 指定為參數的資料類型時，Systems Manager 不會立即建立參數。它會執行非同步驗證操作，以確保參數值符合 AMI ID 的格式化要求，並且指定的 AMI 在您的 AWS 帳戶中可用。

在驗證操作完成之前，可能會產生參數版本號碼。操作可能無法完成，即使會產生參數版本編號。

若要監控參數是否建立成功，建議您使用 Amazon EventBridge 傳送 `create` 與 `update` 參數操作的相關通知給您。這些通知會報告參數操作是否成功。如果操作失敗，通知會包含錯誤訊息，指出失敗原因。

```
{
    "version": "0",
    "id": "eed4a719-0fa4-6a49-80d8-8ac65EXAMPLE",
    "detail-type": "Parameter Store Change",
    "source": "aws.ssm",
    "account": "111122223333",
    "time": "2020-05-26T22:04:42Z",
    "region": "us-east-2",
    "resources": [
        "arn:aws:ssm:us-east-2:111122223333:parameter/golden-ami"
    ],
    "detail": {
        "exception": "Unable to Describe Resource",
        "dataType": "aws:ec2:image",
        "name": "golden-ami",
        "type": "String",
        "operation": "Create"
    }
}
```

如需在 EventBridge 中訂閱 Parameter Store 事件的詳細資訊，請參閱 [根據 Parameter Store 事件設定通知或觸發動作](sysman-paramstore-cwe.md)。

# 從 Parameter Store 中刪除參數
<a name="deleting-parameters"></a>

本主題說明如何刪除您在 Parameter Store (AWS Systems Manager 中的工具) 中建立的參數。

**警告**  
刪除參數會移除其所有版本。刪除後，參數及其版本均無法還原。

**使用主控台刪除參數**

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

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

1. 在 **My parameters** (我的參數) 索引標籤上，選取要刪除的每個參數旁邊的核取方塊。

1. 選擇 **刪除**。

1. 在確認對話方塊上，選擇 **Delete parameters** (刪除參數)。

**使用 AWS CLI 刪除參數**
+ 執行以下命令：

  ```
  aws ssm delete-parameter --name "my-parameter"
  ```

  使用要刪除的參數之名稱取代 *my-parameter*。

  如需有關可與 `delete-parameter` 命令搭配使用的所有選項的資訊，請參閱《AWS CLI 命令參考》中 *AWS Systems Manager 部分*中的 [https://docs.aws.amazon.com/cli/latest/reference/ssm/delete-parameter.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/delete-parameter.html)。

# 在 Parameter Store 中使用公有參數
<a name="parameter-store-public-parameters"></a>

有些 AWS 服務 會將常見成品的相關資訊發佈為 AWS Systems Manager *公*有參數。例如，Amazon Elastic Compute Cloud (Amazon EC2) 服務會發佈有關 Amazon Machine Images (AMIs) 的資訊作為公有參數。

**Topics**
+ [在 Parameter Store 中探索公有參數](parameter-store-finding-public-parameters.md)
+ [在 Parameter Store 中呼叫 AMI 公有參數](parameter-store-public-parameters-ami.md)
+ [在 Parameter Store 中呼叫 ECS 最佳化的 AMI 公有參數](parameter-store-public-parameters-ecs.md)
+ [在 Parameter Store 中呼叫 EKS 最佳化的 AMI 公有參數](parameter-store-public-parameters-eks.md)
+ [在 中呼叫 的公有參數 AWS 服務、區域、端點、可用區域、本機區域和 Wavelength 區域 Parameter Store](parameter-store-public-parameters-global-infrastructure.md)

**相關 AWS 部落格文章**  
+ [使用 查詢 AWS 區域、端點等 AWS Systems Manager Parameter Store](https://aws.amazon.com/blogs/aws/new-query-for-aws-regions-endpoints-and-more-using-aws-systems-manager-parameter-store/)
+ [使用 AWS Systems ManagerParameter Store 查詢最新的 Amazon Linux AMI ID](https://aws.amazon.com/blogs/compute/query-for-the-latest-amazon-linux-ami-ids-using-aws-systems-manager-parameter-store/)
+ [使用 AWS Systems ManagerParameter Store 查詢最新的 Windows AMI](https://aws.amazon.com/blogs/mt/query-for-the-latest-windows-ami-using-systems-manager-parameter-store/)

# 在 Parameter Store 中探索公有參數
<a name="parameter-store-finding-public-parameters"></a>

您可以使用 Parameter Store 主控台或 AWS Command Line Interface來搜尋公有參數。

公有參數名稱以 `aws/service/list` 開頭。名稱的下一個部分對應於擁有該參數的服務。

以下是提供公有參數的 AWS 服務 和其他 資源的部分清單：
+ `ami-amazon-linux-latest`
+ `ami-windows-latest`
+  `ec2-macos`
+ `appmesh`
+ `aws-for-fluent-bit`
+ `aws-sdk-pandas`
+ `bottlerocket`
+ `canonical`
+ `cloud9`
+ `datasync`
+ `deeplearning`
+ `ecs`
+ `eks`
+ `fis`
+ `freebsd`
+ `global-infrastructure`
+ `marketplace`
+ `neuron`
+ `powertools`
+ `sagemaker-distribution`
+ `storagegateway`

並非所有公有參數都會發佈至每個 AWS 區域。

## 使用 Parameter Store 主控台查找公有參數
<a name="paramstore-discover-public-console"></a>

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

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

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

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

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

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

1. (選用) 在搜尋列中輸入更多資訊，以篩選所選服務擁有的參數。

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

## 使用 尋找公有參數 AWS CLI
<a name="paramstore-discover-public-cli"></a>

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

如果您想要檢視特定服務所擁有的參數，請從執行先前命令後產生的清單中選擇服務。然後，使用所需服務的名稱進行 `get-parameters-by-path` 呼叫。

例如 `/aws/service/global-infrastructure`。路徑可能是單層級 (只呼叫與給定的確切值匹配的參數) 或遞迴 (包含您給定的路徑以外的路徑中的元素)。

**注意**  
所有區域中的查詢都不支援 `/aws/service/global-infrastructure` 路徑。如需相關資訊，請參閱[在 中呼叫 的公有參數 AWS 服務、區域、端點、可用區域、本機區域和 Wavelength 區域 Parameter Store](parameter-store-public-parameters-global-infrastructure.md)。

對於您指定的服務，如果沒有傳回結果，則應新增 `--recursive` 標誌並重新執行命令。

```
aws ssm get-parameters-by-path --path /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 中呼叫 AMI 公有參數
<a name="parameter-store-public-parameters-ami"></a>

在以下路徑中，Amazon Elastic Compute Cloud (Amazon EC2) Amazon Machine Image (AMI) 公有參數可用於 Amazon Linux 2、Amazon Linux 2023 (AL2023)、macOS 以及 Windows Server：
+ Amazon Linux 2 和 Amazon Linux 2023：`/aws/service/ami-amazon-linux-latest`
+ macOS: `/aws/service/ec2-macos`
+ Windows Server: `/aws/service/ami-windows-latest`



## 呼叫 Amazon Linux 2 和 Amazon Linux 2023 的 AMI 公有參數。
<a name="public-parameters-ami-linux"></a>

您可以使用 () AMIs中的 AWS 區域 下列命令，檢視目前 中所有 Amazon Linux 2 和 Amazon Linux 2023 (AL2023) 的 AWS Command Line Interface 清單AWS CLI。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters-by-path \
    --path /aws/service/ami-amazon-linux-latest \
    --query 'Parameters[].Name'
```

------
#### [ Windows ]

```
aws ssm get-parameters-by-path ^
    --path /aws/service/ami-amazon-linux-latest ^
    --query Parameters[].Name
```

------

該命令會傳回相關資訊，如以下所示。

```
[
    "/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-arm64",
    "/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-x86_64",
    "/aws/service/ami-amazon-linux-latest/al2023-ami-minimal-kernel-6.1-arm64",
    "/aws/service/ami-amazon-linux-latest/al2023-ami-minimal-kernel-6.1-x86_64",
    "/aws/service/ami-amazon-linux-latest/al2023-ami-minimal-kernel-default-arm64",
    "/aws/service/ami-amazon-linux-latest/amzn-ami-hvm-x86_64-gp2",
    "/aws/service/ami-amazon-linux-latest/amzn-ami-hvm-x86_64-s3",
    "/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-ebs",
    "/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2",
    "/aws/service/ami-amazon-linux-latest/amzn2-ami-kernel-5.10-hvm-x86_64-ebs",
    "/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-default-arm64",
    "/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-default-x86_64",
    "/aws/service/ami-amazon-linux-latest/al2023-ami-minimal-kernel-default-x86_64",
    "/aws/service/ami-amazon-linux-latest/amzn-ami-hvm-x86_64-ebs",
    "/aws/service/ami-amazon-linux-latest/amzn-ami-minimal-hvm-x86_64-ebs",
    "/aws/service/ami-amazon-linux-latest/amzn-ami-minimal-hvm-x86_64-s3",
    "/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-arm64-gp2",
    "/aws/service/ami-amazon-linux-latest/amzn2-ami-kernel-5.10-hvm-arm64-gp2",
    "/aws/service/ami-amazon-linux-latest/amzn2-ami-kernel-5.10-hvm-x86_64-gp2",
    "/aws/service/ami-amazon-linux-latest/amzn2-ami-minimal-hvm-arm64-ebs",
    "/aws/service/ami-amazon-linux-latest/amzn2-ami-minimal-hvm-x86_64-ebs"
]
```

您可以使用以下命令檢視這些 AMIs 的詳細資訊，包括 AMI ID 和 Amazon Resource Name (ARN)。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters-by-path \
    --path "/aws/service/ami-amazon-linux-latest" \
    --region region
```

------
#### [ Windows ]

```
aws ssm get-parameters-by-path ^
    --path "/aws/service/ami-amazon-linux-latest" ^
    --region region
```

------

*region* 代表 AWS 區域 支援的 識別符 AWS Systems Manager，例如`us-east-2`美國東部 （俄亥俄） 區域。如需支援的 *region* 值的清單，請參閱《Amazon Web Services 一般參考》**中 [Systems Manager 服務端點](https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region)一節的**區域**欄位。

該命令會傳回相關資訊，如以下所示。此範例輸出因空間不足已被截斷。

```
{
    "Parameters": [
         {
            "Name": "/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-arm64",
            "Type": "String",
            "Value": "ami-0b1b8b24a6c8e5d8b",
            "Version": 69,
            "LastModifiedDate": "2024-03-13T14:05:09.583000-04:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-arm64",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-x86_64",
            "Type": "String",
            "Value": "ami-0e0bf53f6def86294",
            "Version": 69,
            "LastModifiedDate": "2024-03-13T14:05:09.890000-04:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-x86_64",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/ami-amazon-linux-latest/al2023-ami-minimal-kernel-6.1-arm64",
            "Type": "String",
            "Value": "ami-09951bb66f9e5b5a5",
            "Version": 69,
            "LastModifiedDate": "2024-03-13T14:05:10.197000-04:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/ami-amazon-linux-latest/al2023-ami-minimal-kernel-6.1-arm64",
            "DataType": "text"
        }
    ]
}
```

您可以使用 [GetParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameters.html) API 操作及完整 AMI 名稱 (包括路徑) 檢視特定 AMI 的詳細資訊。以下為範例命令。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters \
    --names /aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-arm64 \
    --region us-east-2
```

------
#### [ Windows ]

```
aws ssm get-parameters ^
    --names /aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-arm64 ^
    --region us-east-2
```

------

此命令會傳回以下資訊。

```
{
    "Parameters": [
        {
            "Name": "/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-arm64",
            "Type": "String",
            "Value": "ami-0b1b8b24a6c8e5d8b",
            "Version": 69,
            "LastModifiedDate": "2024-03-13T14:05:09.583000-04:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-arm64",
            "DataType": "text"
        }
    ],
    "InvalidParameters": []
}
```

## 呼叫 macOS 的 AMI 公有參數
<a name="public-parameters-ami-macos"></a>

您可以使用 macOSAMIs中的 AWS 區域 下列命令，檢視目前 中所有 的清單 AWS CLI。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters-by-path \
    --path /aws/service/ec2-macos\
    --query 'Parameters[].Name'
```

------
#### [ Windows ]

```
aws ssm get-parameters-by-path ^
    --path /aws/service/ec2-macos ^
    --query Parameters[].Name
```

------

該命令會傳回相關資訊，如以下所示。

```
[
    "/aws/service/ec2-macos/sonoma/x86_64_mac/latest/image_id",
    "/aws/service/ec2-macos/ventura/x86_64_mac/latest/image_id",
    "/aws/service/ec2-macos/sonoma/arm64_mac/latest/image_id",
    "/aws/service/ec2-macos/ventura/arm64_mac/latest/image_id"
]
```

您可以使用以下命令檢視這些 AMIs 的詳細資訊，包括 AMI ID 和 Amazon Resource Name (ARN)。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters-by-path \
    --path "/aws/service/ec2-macos" \
    --region region
```

------
#### [ Windows ]

```
aws ssm get-parameters-by-path ^
    --path "/aws/service/ec2-macos" ^
    --region region
```

------

*region* 代表 AWS 區域 支援的 識別符 AWS Systems Manager，例如`us-east-2`美國東部 （俄亥俄） 區域。如需支援的 *region* 值的清單，請參閱《Amazon Web Services 一般參考》**中 [Systems Manager 服務端點](https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region)一節的**區域**欄位。

該命令會傳回相關資訊，如以下所示。此範例輸出因空間不足已被截斷。

```
{
    "Parameters": [
        ...sample results pending...
    ]
}
```

您可以使用 [GetParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameters.html) API 操作及完整 AMI 名稱 (包括路徑) 檢視特定 AMI 的詳細資訊。以下為範例命令。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters \
    --names /aws/service/ec2-macos/...pending... \
    --region us-east-2
```

------
#### [ Windows ]

```
aws ssm get-parameters ^
     --names /aws/service/ec2-macos/...pending... ^
    --region us-east-2
```

------

此命令會傳回以下資訊。

```
{
    "Parameters": [
         ...sample results pending...
    ],
    "InvalidParameters": []
}
```

## 呼叫 Windows Server 的 AMI 公有參數
<a name="public-parameters-ami-windows"></a>

您可以使用 Windows ServerAMIs中的 AWS 區域 下列命令，檢視目前 中所有 的清單 AWS CLI。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters-by-path \
    --path /aws/service/ami-windows-latest \
    --query 'Parameters[].Name'
```

------
#### [ Windows ]

```
aws ssm get-parameters-by-path ^
    --path /aws/service/ami-windows-latest ^
    --query Parameters[].Name
```

------

該命令會傳回相關資訊，如以下所示。此範例輸出因空間不足已被截斷。

```
[
    "/aws/service/ami-windows-latest/EC2LaunchV2-Windows_Server-2016-English-Full-Base",
    "/aws/service/ami-windows-latest/Windows_Server-2016-English-Full-SQL_2014_SP3_Enterprise",
    "/aws/service/ami-windows-latest/Windows_Server-2016-German-Full-Base",
    "/aws/service/ami-windows-latest/Windows_Server-2016-Japanese-Full-SQL_2016_SP3_Standard",
    "/aws/service/ami-windows-latest/Windows_Server-2016-Japanese-Full-SQL_2017_Web",
    "/aws/service/ami-windows-latest/Windows_Server-2019-English-Core-EKS_Optimized-1.25",
    "/aws/service/ami-windows-latest/Windows_Server-2019-Italian-Full-Base",
    "/aws/service/ami-windows-latest/Windows_Server-2022-Japanese-Full-SQL_2019_Enterprise",
    "/aws/service/ami-windows-latest/Windows_Server-2022-Portuguese_Brazil-Full-Base",
    "/aws/service/ami-windows-latest/amzn2-ami-hvm-2.0.20191217.0-x86_64-gp2-mono",
    "/aws/service/ami-windows-latest/Windows_Server-2016-English-Deep-Learning",
    "/aws/service/ami-windows-latest/Windows_Server-2016-Japanese-Full-SQL_2016_SP3_Web",
    "/aws/service/ami-windows-latest/Windows_Server-2016-Korean-Full-Base",
    "/aws/service/ami-windows-latest/Windows_Server-2019-English-STIG-Core",
    "/aws/service/ami-windows-latest/Windows_Server-2019-French-Full-Base",
    "/aws/service/ami-windows-latest/Windows_Server-2019-Japanese-Full-SQL_2017_Enterprise",
    "/aws/service/ami-windows-latest/Windows_Server-2019-Korean-Full-Base",
    "/aws/service/ami-windows-latest/Windows_Server-2022-English-Full-SQL_2022_Web",
    "/aws/service/ami-windows-latest/Windows_Server-2022-Italian-Full-Base",
    "/aws/service/ami-windows-latest/amzn2-x86_64-SQL_2019_Express",
    "/aws/service/ami-windows-latest/EC2LaunchV2-Windows_Server-2016-English-Core-Base",
    "/aws/service/ami-windows-latest/Windows_Server-2016-English-Full-SQL_2019_Enterprise",
    "/aws/service/ami-windows-latest/Windows_Server-2016-English-Full-SQL_2019_Standard",
    "/aws/service/ami-windows-latest/Windows_Server-2016-Portuguese_Portugal-Full-Base",
    "/aws/service/ami-windows-latest/Windows_Server-2019-English-Core-EKS_Optimized-1.24",
    "/aws/service/ami-windows-latest/Windows_Server-2019-English-Deep-Learning",
    "/aws/service/ami-windows-latest/Windows_Server-2019-English-Full-SQL_2017_Web",
    "/aws/service/ami-windows-latest/Windows_Server-2019-Hungarian-Full-Base
]
```

您可以使用以下命令檢視這些 AMIs 的詳細資訊，包括 AMI ID 和 Amazon Resource Name (ARN)。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters-by-path \
    --path "/aws/service/ami-windows-latest" \
    --region region
```

------
#### [ Windows ]

```
aws ssm get-parameters-by-path ^
    --path "/aws/service/ami-windows-latest" ^
    --region region
```

------

*region* 代表 AWS 區域 支援的 識別符 AWS Systems Manager，例如`us-east-2`美國東部 （俄亥俄） 區域。如需支援的 *region* 值的清單，請參閱《Amazon Web Services 一般參考》**中 [Systems Manager 服務端點](https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region)一節的**區域**欄位。

該命令會傳回相關資訊，如以下所示。此範例輸出因空間不足已被截斷。

```
{
    "Parameters": [
        {
            "Name": "/aws/service/ami-windows-latest/EC2LaunchV2-Windows_Server-2016-English-Full-Base",
            "Type": "String",
            "Value": "ami-0a30b2e65863e2d16",
            "Version": 36,
            "LastModifiedDate": "2024-03-15T15:58:37.976000-04:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/ami-windows-latest/EC2LaunchV2-Windows_Server-2016-English-Full-Base",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/ami-windows-latest/Windows_Server-2016-English-Full-SQL_2014_SP3_Enterprise",
            "Type": "String",
            "Value": "ami-001f20c053dd120ce",
            "Version": 69,
            "LastModifiedDate": "2024-03-15T15:53:58.905000-04:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/ami-windows-latest/Windows_Server-2016-English-Full-SQL_2014_SP3_Enterprise",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/ami-windows-latest/Windows_Server-2016-German-Full-Base",
            "Type": "String",
            "Value": "ami-063be4935453e94e9",
            "Version": 102,
            "LastModifiedDate": "2024-03-15T15:51:12.003000-04:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/ami-windows-latest/Windows_Server-2016-German-Full-Base",
            "DataType": "text"
        }
    ]
}
```

您可以使用 [GetParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameters.html) API 操作及完整 AMI 名稱 (包括路徑) 檢視特定 AMI 的詳細資訊。以下為範例命令。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters \
    --names /aws/service/ami-windows-latest/EC2LaunchV2-Windows_Server-2016-English-Full-Base \
    --region us-east-2
```

------
#### [ Windows ]

```
aws ssm get-parameters ^
    --names /aws/service/ami-windows-latest/EC2LaunchV2-Windows_Server-2016-English-Full-Base ^
    --region us-east-2
```

------

此命令會傳回以下資訊。

```
{
    "Parameters": [
        {
            "Name": "/aws/service/ami-windows-latest/EC2LaunchV2-Windows_Server-2016-English-Full-Base",
            "Type": "String",
            "Value": "ami-0a30b2e65863e2d16",
            "Version": 36,
            "LastModifiedDate": "2024-03-15T15:58:37.976000-04:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/ami-windows-latest/EC2LaunchV2-Windows_Server-2016-English-Full-Base",
            "DataType": "text"
        }
    ],
    "InvalidParameters": []
}
```

# 在 Parameter Store 中呼叫 ECS 最佳化的 AMI 公有參數
<a name="parameter-store-public-parameters-ecs"></a>

Amazon Elastic Container Service (Amazon ECS) 服務會發佈最新的 Amazon ECS 最佳化 Amazon Machine Images (AMIs) 的名稱作為公有參數。我們鼓勵使用者為 Amazon ECS 建立新的 Amazon Elastic Compute Cloud (Amazon EC2) 叢集時使用此 AMI，因為最佳化的 AMIs 包含錯誤修復和功能更新。

使用以下命令檢視 Amazon Linux 2 的最新的 Amazon ECS 最佳化 AMI 的名稱。若要查看其他作業系統的命令，請參閱《*Amazon Elastic Container Service 開發人員指南*》中的[擷取 Amazon ECS 最佳化 AMI 中繼資料](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/retrieve-ecs-optimized_AMI.html)。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters \
    --names /aws/service/ecs/optimized-ami/amazon-linux-2/recommended
```

------
#### [ Windows ]

```
aws ssm get-parameters ^
    --names /aws/service/ecs/optimized-ami/amazon-linux-2/recommended
```

------

該命令會傳回相關資訊，如以下所示。

```
{
    "Parameters": [
        {
            "Name": "/aws/service/ecs/optimized-ami/amazon-linux-2/recommended",
            "Type": "String",
            "Value": "{\"schema_version\":1,\"image_name\":\"amzn2-ami-ecs-hvm-2.0.20210929-x86_64-ebs\",\"image_id\":\"ami-0c38a2329ed4dae9a\",\"os\":\"Amazon Linux 2\",\"ecs_runtime_version\":\"Docker version 20.10.7\",\"ecs_agent_version\":\"1.55.4\"}",
            "Version": 73,
            "LastModifiedDate": "2021-10-06T16:35:10.004000-07:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/ecs/optimized-ami/amazon-linux-2/recommended",
            "DataType": "text"
        }
    ],
    "InvalidParameters": []
}
```

# 在 Parameter Store 中呼叫 EKS 最佳化的 AMI 公有參數
<a name="parameter-store-public-parameters-eks"></a>

Amazon Elastic Kubernetes Service (Amazon EKS) 服務會發佈最新的 Amazon EKS 最佳化 Amazon Machine Image (AMI) 的名稱作為公有參數。我們鼓勵使用者在將節點新增至 Amazon EKS 叢集時使用此 AMI，因為新版本包括 Kubernetes 修補程式和安全更新。過去，為了確保您是使用最新的 AMI，您得不時檢查 Amazon EKS 文件以及利用新的 AMI ID 手動更新任何部署範本或資源。

使用以下命令檢視 Amazon Linux 2 的最新的 Amazon EKS 最佳化 AMI 的名稱。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters \
    --names /aws/service/eks/optimized-ami/1.14/amazon-linux-2/recommended
```

------
#### [ Windows ]

```
aws ssm get-parameters ^
    --names /aws/service/eks/optimized-ami/1.14/amazon-linux-2/recommended
```

------

該命令會傳回相關資訊，如以下所示。

```
{
    "Parameters": [
        {
            "Name": "/aws/service/eks/optimized-ami/1.14/amazon-linux-2/recommended",
            "Type": "String",
            "Value": "{\"schema_version\":\"2\",\"image_id\":\"ami-08984d8491de17ca0\",\"image_name\":\"amazon-eks-node-1.14-v20201007\",\"release_version\":\"1.14.9-20201007\"}",
            "Version": 24,
            "LastModifiedDate": "2020-11-17T10:16:09.971000-08:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/eks/optimized-ami/1.14/amazon-linux-2/recommended",
            "DataType": "text"
        }
    ],
    "InvalidParameters": []
}
```

# 在 中呼叫 的公有參數 AWS 服務、區域、端點、可用區域、本機區域和 Wavelength 區域 Parameter Store
<a name="parameter-store-public-parameters-global-infrastructure"></a>

您可以使用下列路徑呼叫公有參數的 AWS 區域、服務、端點、可用性和 Wavelength 區域。

`/aws/service/global-infrastructure`

**注意**  
目前， AWS 區域 只有下列 中的查詢`/aws/service/global-infrastructure`才支援 路徑：  
美國東部 (維吉尼亞北部) (us-east-1)
美國東部 (俄亥俄) (us-east-2)
美國西部 (加利佛尼亞北部) (us-west-1)
美國西部 (奧勒岡) (us-west-2) 
亞太區域 (香港) (ap-east-1)
亞太地區 (孟買) (ap-south-1)
亞太區域 (首爾) (ap-northeast-2)
亞太地區 (新加坡) (ap-southeast-1)
亞太地區 (雪梨) (ap-southeast-2)
亞太地區 (東京) (ap-northeast-1)
加拿大 (中部) (ca-central-1)
歐洲 (法蘭克福) (eu-central-1)
歐洲 (愛爾蘭) (eu-west-1) 
歐洲 (倫敦) (eu-west-2) 
歐洲 (巴黎) (eu-west-3) 
歐洲 (斯德哥爾摩) (eu-north-1)
南美洲 (聖保羅) (sa-east-1)
如果您在不同的[商業區域](https://docs.aws.amazon.com/glossary/latest/reference/glos-chap.html#region)中工作，可以在查詢中指定支援的區域以檢視結果。例如，如果您在加拿大西部 (卡加利) (ca-west-1) 區域中工作，可以在查詢中指定加拿大 (中部) (ca-central-1)：  

```
aws ssm get-parameters-by-path \
    --path /aws/service/global-infrastructure/regions \
    --region ca-central-1
```

**檢視作用中 AWS 區域**  
您可以在 AWS Command Line Interface () 中使用下列命令 AWS 區域 來檢視所有作用中的清單AWS CLI。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters-by-path \
    --path /aws/service/global-infrastructure/regions \
    --query 'Parameters[].Name'
```

------
#### [ Windows ]

```
aws ssm get-parameters-by-path ^
    --path /aws/service/global-infrastructure/regions ^
    --query Parameters[].Name
```

------

該命令會傳回相關資訊，如以下所示。

```
[
    "/aws/service/global-infrastructure/regions/af-south-1",
    "/aws/service/global-infrastructure/regions/ap-east-1",
    "/aws/service/global-infrastructure/regions/ap-northeast-3",
    "/aws/service/global-infrastructure/regions/ap-south-2",
    "/aws/service/global-infrastructure/regions/ca-central-1",
    "/aws/service/global-infrastructure/regions/eu-central-2",
    "/aws/service/global-infrastructure/regions/eu-west-2",
    "/aws/service/global-infrastructure/regions/eu-west-3",
    "/aws/service/global-infrastructure/regions/us-east-1",
    "/aws/service/global-infrastructure/regions/us-gov-west-1",
    "/aws/service/global-infrastructure/regions/ap-northeast-2",
    "/aws/service/global-infrastructure/regions/ap-southeast-1",
    "/aws/service/global-infrastructure/regions/ap-southeast-2",
    "/aws/service/global-infrastructure/regions/ap-southeast-3",
    "/aws/service/global-infrastructure/regions/cn-north-1",
    "/aws/service/global-infrastructure/regions/cn-northwest-1",
    "/aws/service/global-infrastructure/regions/eu-south-1",
    "/aws/service/global-infrastructure/regions/eu-south-2",
    "/aws/service/global-infrastructure/regions/us-east-2",
    "/aws/service/global-infrastructure/regions/us-west-1",
    "/aws/service/global-infrastructure/regions/ap-northeast-1",
    "/aws/service/global-infrastructure/regions/ap-south-1",
    "/aws/service/global-infrastructure/regions/ap-southeast-4",
    "/aws/service/global-infrastructure/regions/ca-west-1",
    "/aws/service/global-infrastructure/regions/eu-central-1",
    "/aws/service/global-infrastructure/regions/il-central-1",
    "/aws/service/global-infrastructure/regions/me-central-1",
    "/aws/service/global-infrastructure/regions/me-south-1",
    "/aws/service/global-infrastructure/regions/sa-east-1",
    "/aws/service/global-infrastructure/regions/us-gov-east-1",
    "/aws/service/global-infrastructure/regions/eu-north-1",
    "/aws/service/global-infrastructure/regions/eu-west-1",
    "/aws/service/global-infrastructure/regions/us-west-2"
]
```

**檢視可用 AWS 服務**  
您可以使用下列命令，檢視所有可用項目的完整清單 AWS 服務 ，並依字母順序排序。此範例輸出因空間不足已被截斷。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters-by-path \
    --path /aws/service/global-infrastructure/services \
    --query 'Parameters[].Name | sort(@)'
```

------
#### [ Windows ]

```
aws ssm get-parameters-by-path ^
    --path /aws/service/global-infrastructure/services ^
    --query "Parameters[].Name | sort(@)"
```

------

該命令會傳回相關資訊，如以下所示。此範例輸出因空間不足已被截斷。

```
[
     "/aws/service/global-infrastructure/services/accessanalyzer",
    "/aws/service/global-infrastructure/services/account",
    "/aws/service/global-infrastructure/services/acm",
    "/aws/service/global-infrastructure/services/acm-pca",
    "/aws/service/global-infrastructure/services/ahl",
    "/aws/service/global-infrastructure/services/aiq",
    "/aws/service/global-infrastructure/services/amazonlocationservice",
    "/aws/service/global-infrastructure/services/amplify",
    "/aws/service/global-infrastructure/services/amplifybackend",
    "/aws/service/global-infrastructure/services/apigateway",
    "/aws/service/global-infrastructure/services/apigatewaymanagementapi",
    "/aws/service/global-infrastructure/services/apigatewayv2",
    "/aws/service/global-infrastructure/services/appconfig",
    "/aws/service/global-infrastructure/services/appconfigdata",
    "/aws/service/global-infrastructure/services/appflow",
    "/aws/service/global-infrastructure/services/appintegrations",
    "/aws/service/global-infrastructure/services/application-autoscaling",
    "/aws/service/global-infrastructure/services/application-insights",
    "/aws/service/global-infrastructure/services/applicationcostprofiler",
    "/aws/service/global-infrastructure/services/appmesh",
    "/aws/service/global-infrastructure/services/apprunner",
    "/aws/service/global-infrastructure/services/appstream",
    "/aws/service/global-infrastructure/services/appsync",
    "/aws/service/global-infrastructure/services/aps",
    "/aws/service/global-infrastructure/services/arc-zonal-shift",
    "/aws/service/global-infrastructure/services/artifact",
    "/aws/service/global-infrastructure/services/athena",
    "/aws/service/global-infrastructure/services/auditmanager",
    "/aws/service/global-infrastructure/services/augmentedairuntime",
    "/aws/service/global-infrastructure/services/aurora",
    "/aws/service/global-infrastructure/services/autoscaling",
    "/aws/service/global-infrastructure/services/aws-appfabric",
    "/aws/service/global-infrastructure/services/awshealthdashboard",
```

**檢視 支援的 區域 AWS 服務**  
您可以檢視提供服務 AWS 區域 的清單。此範例使用 AWS Systems Manager (`ssm`)。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters-by-path \
    --path /aws/service/global-infrastructure/services/ssm/regions \
    --query 'Parameters[].Value'
```

------
#### [ Windows ]

```
aws ssm get-parameters-by-path ^
    --path /aws/service/global-infrastructure/services/ssm/regions ^
    --query Parameters[].Value
```

------

該命令會傳回相關資訊，如以下所示。

```
[
    "ap-south-1",
    "eu-central-1",
    "eu-central-2",
    "eu-west-1",
    "eu-west-2",
    "eu-west-3",
    "il-central-1",
    "me-south-1",
    "us-east-2",
    "us-gov-west-1",
    "af-south-1",
    "ap-northeast-3",
    "ap-southeast-1",
    "ap-southeast-4",
    "ca-central-1",
    "ca-west-1",
    "cn-north-1",
    "eu-north-1",
    "eu-south-2",
    "us-west-1",
    "ap-east-1",
    "ap-northeast-1",
    "ap-northeast-2",
    "ap-southeast-2",
    "ap-southeast-3",
    "cn-northwest-1",
    "eu-south-1",
    "me-central-1",
    "us-gov-east-1",
    "us-west-2",
    "ap-south-2",
    "sa-east-1",
    "us-east-1"
]
```

**檢視服務的區域端點**  
您可以使用以下命令檢視服務的區域性端點。此命令會查詢美國東部 (俄亥俄) (us-east-2) 區域。

------
#### [ Linux & macOS ]

```
aws ssm get-parameter \
    --name /aws/service/global-infrastructure/regions/us-east-2/services/ssm/endpoint \
    --query 'Parameter.Value'
```

------
#### [ Windows ]

```
aws ssm get-parameter ^
    --name /aws/service/global-infrastructure/regions/us-east-2/services/ssm/endpoint ^
    --query Parameter.Value
```

------

該命令會傳回相關資訊，如以下所示。

```
"ssm.us-east-2.amazonaws.com"
```

**檢視完整的可用區域詳細資訊**  
您可以使用下列命令來檢視可用區域。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters-by-path \
    --path /aws/service/global-infrastructure/availability-zones/
```

------
#### [ Windows ]

```
aws ssm get-parameters-by-path ^
    --path /aws/service/global-infrastructure/availability-zones/
```

------

該命令會傳回相關資訊，如以下所示。此範例輸出因空間不足已被截斷。

```
{
    "Parameters": [
        {
            "Name": "/aws/service/global-infrastructure/availability-zones/afs1-az3",
            "Type": "String",
            "Value": "afs1-az3",
            "Version": 1,
            "LastModifiedDate": "2020-04-21T12:05:35.375000-04:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/availability-zones/afs1-az3",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/global-infrastructure/availability-zones/aps1-az2",
            "Type": "String",
            "Value": "aps1-az2",
            "Version": 1,
            "LastModifiedDate": "2020-04-03T16:13:57.351000-04:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/availability-zones/aps1-az2",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/global-infrastructure/availability-zones/apse3-az1",
            "Type": "String",
            "Value": "apse3-az1",
            "Version": 1,
            "LastModifiedDate": "2021-12-13T08:51:38.983000-05:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/availability-zones/apse3-az1",
            "DataType": "text"
        }
    ]
}
```

**僅檢視可用區域名稱**  
您只能使用下列命令來檢視可用區域的名稱。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters-by-path \
    --path /aws/service/global-infrastructure/availability-zones \
    --query 'Parameters[].Name | sort(@)'
```

------
#### [ Windows ]

```
aws ssm get-parameters-by-path ^
    --path /aws/service/global-infrastructure/availability-zones ^
    --query "Parameters[].Name | sort(@)"
```

------

該命令會傳回相關資訊，如以下所示。此範例輸出因空間不足已被截斷。

```
[
    "/aws/service/global-infrastructure/availability-zones/afs1-az1",
    "/aws/service/global-infrastructure/availability-zones/afs1-az2",
    "/aws/service/global-infrastructure/availability-zones/afs1-az3",
    "/aws/service/global-infrastructure/availability-zones/ape1-az1",
    "/aws/service/global-infrastructure/availability-zones/ape1-az2",
    "/aws/service/global-infrastructure/availability-zones/ape1-az3",
    "/aws/service/global-infrastructure/availability-zones/apne1-az1",
    "/aws/service/global-infrastructure/availability-zones/apne1-az2",
    "/aws/service/global-infrastructure/availability-zones/apne1-az3",
    "/aws/service/global-infrastructure/availability-zones/apne1-az4"
```

**檢視單一區域中可用區域的名稱**  
您可以使用下列命令檢視一個區域 (在此範例中，為 `us-east-2`) 中的可用區域名稱。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters-by-path \
    --path /aws/service/global-infrastructure/regions/us-east-2/availability-zones \
    --query 'Parameters[].Name | sort(@)'
```

------
#### [ Windows ]

```
aws ssm get-parameters-by-path ^
    --path /aws/service/global-infrastructure/regions/us-east-2/availability-zones ^
    --query "Parameters[].Name | sort(@)"
```

------

該命令會傳回相關資訊，如以下所示。

```
[
    "/aws/service/global-infrastructure/regions/us-east-2/availability-zones/use2-az1",
    "/aws/service/global-infrastructure/regions/us-east-2/availability-zones/use2-az2",
    "/aws/service/global-infrastructure/regions/us-east-2/availability-zones/use2-az3"
```

**僅檢視可用區域 ARN**  
您只能使用下列命令來檢視可用區域的 Amazon Resource Name (ARN)。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters-by-path \
    --path /aws/service/global-infrastructure/availability-zones \
    --query 'Parameters[].ARN | sort(@)'
```

------
#### [ Windows ]

```
aws ssm get-parameters-by-path ^
    --path /aws/service/global-infrastructure/availability-zones ^
    --query "Parameters[].ARN | sort(@)"
```

------

該命令會傳回相關資訊，如以下所示。此範例輸出因空間不足已被截斷。

```
[
    "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/availability-zones/afs1-az1",
    "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/availability-zones/afs1-az2",
    "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/availability-zones/afs1-az3",
    "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/availability-zones/ape1-az1",
    "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/availability-zones/ape1-az2",
    "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/availability-zones/ape1-az3",
    "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/availability-zones/apne1-az1",
```

**檢視本地區域詳細資訊**  
您可以使用下列命令來檢視本地區域。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters-by-path \
    --path /aws/service/global-infrastructure/local-zones
```

------
#### [ Windows ]

```
aws ssm get-parameters-by-path ^
    --path /aws/service/global-infrastructure/local-zones
```

------

該命令會傳回相關資訊，如以下所示。此範例輸出因空間不足已被截斷。

```
{
    "Parameters": [
        {
            "Name": "/aws/service/global-infrastructure/local-zones/afs1-los1-az1",
            "Type": "String",
            "Value": "afs1-los1-az1",
            "Version": 1,
            "LastModifiedDate": "2023-01-25T11:53:11.690000-05:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/local-zones/afs1-los1-az1",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/global-infrastructure/local-zones/apne1-tpe1-az1",
            "Type": "String",
            "Value": "apne1-tpe1-az1",
            "Version": 1,
            "LastModifiedDate": "2024-03-15T12:35:41.076000-04:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/local-zones/apne1-tpe1-az1",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/global-infrastructure/local-zones/aps1-ccu1-az1",
            "Type": "String",
            "Value": "aps1-ccu1-az1",
            "Version": 1,
            "LastModifiedDate": "2022-12-19T11:34:43.351000-05:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/local-zones/aps1-ccu1-az1",
            "DataType": "text"
        }
    ]
}
```

**檢視 Wavelength Zone 詳細資訊**  
您可以使用下列命令來檢視 Wavelength 區域。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters-by-path \
    --path /aws/service/global-infrastructure/wavelength-zones
```

------
#### [ Windows ]

```
aws ssm get-parameters-by-path ^
    --path /aws/service/global-infrastructure/wavelength-zones
```

------

該命令會傳回相關資訊，如以下所示。此範例輸出因空間不足已被截斷。

```
{
    "Parameters": [
        {
            "Name": "/aws/service/global-infrastructure/wavelength-zones/apne1-wl1-nrt-wlz1",
            "Type": "String",
            "Value": "apne1-wl1-nrt-wlz1",
            "Version": 3,
            "LastModifiedDate": "2020-12-15T17:16:04.715000-05:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/wavelength-zones/apne1-wl1-nrt-wlz1",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/global-infrastructure/wavelength-zones/apne2-wl1-sel-wlz1",
            "Type": "String",
            "Value": "apne2-wl1-sel-wlz1",
            "Version": 1,
            "LastModifiedDate": "2022-05-25T12:29:13.862000-04:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/wavelength-zones/apne2-wl1-sel-wlz1",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/global-infrastructure/wavelength-zones/cac1-wl1-yto-wlz1",
            "Type": "String",
            "Value": "cac1-wl1-yto-wlz1",
            "Version": 1,
            "LastModifiedDate": "2022-04-26T09:57:44.495000-04:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/wavelength-zones/cac1-wl1-yto-wlz1",
            "DataType": "text"
        }
    ]
}
```

**檢視本地區域下的所有參數和數值**  
您可以使用下列命令來檢視本地區域的所有參數資訊。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters-by-path \
    --path "/aws/service/global-infrastructure/local-zones/usw2-lax1-az1/"
```

------
#### [ Windows ]

```
aws ssm get-parameters-by-path ^
    --path "/aws/service/global-infrastructure/local-zones/use1-bos1-az1"
```

------

該命令會傳回相關資訊，如以下所示。此範例輸出因空間不足已被截斷。

```
{
    "Parameters": [
        {
            "Name": "/aws/service/global-infrastructure/local-zones/use1-bos1-az1/geolocationCountry",
            "Type": "String",
            "Value": "US",
            "Version": 3,
            "LastModifiedDate": "2020-12-15T14:16:17.641000-08:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/local-zones/use1-bos1-az1/geolocationCountry",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/global-infrastructure/local-zones/use1-bos1-az1/geolocationRegion",
            "Type": "String",
            "Value": "US-MA",
            "Version": 3,
            "LastModifiedDate": "2020-12-15T14:16:17.794000-08:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/local-zones/use1-bos1-az1/geolocationRegion",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/global-infrastructure/local-zones/use1-bos1-az1/location",
            "Type": "String",
            "Value": "US East (Boston)",
            "Version": 1,
            "LastModifiedDate": "2021-01-11T10:53:24.634000-08:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/local-zones/use1-bos1-az1/location",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/global-infrastructure/local-zones/use1-bos1-az1/network-border-group",
            "Type": "String",
            "Value": "us-east-1-bos-1",
            "Version": 3,
            "LastModifiedDate": "2020-12-15T14:16:20.641000-08:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/local-zones/use1-bos1-az1/network-border-group",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/global-infrastructure/local-zones/use1-bos1-az1/parent-availability-zone",
            "Type": "String",
            "Value": "use1-az4",
            "Version": 3,
            "LastModifiedDate": "2020-12-15T14:16:20.834000-08:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/local-zones/use1-bos1-az1/parent-availability-zone",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/global-infrastructure/local-zones/use1-bos1-az1/parent-region",
            "Type": "String",
            "Value": "us-east-1",
            "Version": 3,
            "LastModifiedDate": "2020-12-15T14:16:20.721000-08:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/local-zones/use1-bos1-az1/parent-region",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/global-infrastructure/local-zones/use1-bos1-az1/zone-group",
            "Type": "String",
            "Value": "us-east-1-bos-1",
            "Version": 3,
            "LastModifiedDate": "2020-12-15T14:16:17.983000-08:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/local-zones/use1-bos1-az1/zone-group",
            "DataType": "text"
        }
    ]
}
```

**僅檢視本地區域參數名稱**  
您可以使用下列命令，只檢視本地區域參數的名稱。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters-by-path \
    --path /aws/service/global-infrastructure/local-zones/usw2-lax1-az1 \
    --query 'Parameters[].Name | sort(@)'
```

------
#### [ Windows ]

```
aws ssm get-parameters-by-path ^
    --path /aws/service/global-infrastructure/local-zones/use1-bos1-az1 ^
    --query "Parameters[].Name | sort(@)"
```

------

該命令會傳回相關資訊，如以下所示。

```
[
    "/aws/service/global-infrastructure/local-zones/use1-bos1-az1/geolocationCountry",
    "/aws/service/global-infrastructure/local-zones/use1-bos1-az1/geolocationRegion",
    "/aws/service/global-infrastructure/local-zones/use1-bos1-az1/location",
    "/aws/service/global-infrastructure/local-zones/use1-bos1-az1/network-border-group",
    "/aws/service/global-infrastructure/local-zones/use1-bos1-az1/parent-availability-zone",
    "/aws/service/global-infrastructure/local-zones/use1-bos1-az1/parent-region",
    "/aws/service/global-infrastructure/local-zones/use1-bos1-az1/zone-group"
]
```

# Parameter Store演練
<a name="sysman-paramstore-walk"></a>

此區段的演練說明如何在測試環境中使用 Parameter Store (AWS Systems Manager 中的工具) 建立、存放和執行參數。這些演練說明如何搭配使用 Parameter Store 和 Systems Manager 的其他工具。您也可以使用 Parameter Store 與其他 AWS 服務。如需更多詳細資訊，請參閱 [什麼是參數？](systems-manager-parameter-store.md#what-is-a-parameter)。

**Topics**
+ [在 Parameter Store 中建立 SecureString 參數並將節點加入網域 (PowerShell)](sysman-param-securestring-walkthrough.md)

# 在 Parameter Store 中建立 SecureString 參數並將節點加入網域 (PowerShell)
<a name="sysman-param-securestring-walkthrough"></a>

此逐步解說說明如何使用 AWS Systems Manager `SecureString`參數 和 將Windows Server節點加入網域Run Command。此逐步解說使用典型的網域參數，例如網域名稱和網域使用者名稱。這些值會以未加密的字串值的形式進行傳遞。網域密碼是以 AWS 受管金鑰 加密，並以加密字串的形式傳遞。

**先決條件**  
此演練假設您已經在與您的 Amazon VPC 關聯的 DHCP 選項集中指定了網域名稱和 DNS 伺服器 IP 地址。如需資訊，請參閱《Amazon VPC 使用者指南**》中的[搭配使用 DHCP 選項集](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html#DHCPOptionSet)。

**建立 `SecureString` 參數並將節點加入網域**

1. 使用 在系統中輸入參數 AWS Tools for Windows PowerShell。

   在下列命令中，將每個*使用者輸入預留位置*替換為您自己的資訊。

   ```
   Write-SSMParameter -Name "domainName" -Value "DOMAIN-NAME" -Type String
   Write-SSMParameter -Name "domainJoinUserName" -Value "DOMAIN\USERNAME" -Type String
   Write-SSMParameter -Name "domainJoinPassword" -Value "PASSWORD" -Type SecureString
   ```
**重要**  
僅加密 `SecureString` 參數的*值*。參數名稱、說明和其他屬性不會加密。

1. 將下列 AWS Identity and Access Management (IAM) 政策連接至節點的 IAM 角色許可：
   + **AmazonSSMManagedInstanceCore** – 必要。此 AWS 受管政策允許受管節點使用 Systems Manager 服務核心功能。
   + **AmazonSSMDirectoryServiceAccess** – 必要。此 AWS 受管政策允許 AWS Directory Service 代表您SSM Agent存取 ，以請求由受管節點加入網域。
   + **S3 儲存貯體存取的自訂政策** - 必要。SSM Agent (位於您的節點並執行 Systems Manager 任務) 需要存取 Amazon 擁有的特定 Amazon Simple Storage Service (Amazon S3) 儲存貯體。在您建立的自訂 S3 儲存貯體政策中，您也可以提供 Systems Manager 操作所需的自有 S3 儲存貯體存取權限。

     範例：您可以將 Run Command 命令或 Session Manager 工作階段的輸出寫入 S3 儲存貯體，然後稍後使用此輸出進行稽核或故障診斷。您將存取指令碼或自訂修補基準清單儲存在 S3 儲存貯體中，然後在執行命令時或套用修補基準時參考指令碼或清單。

     如需有關為 Amazon Simple Storage Service (Amazon S3) 儲存貯體存取建立自訂政策的相關資訊，請參閱[為執行個體設定檔建立自訂 S3 儲存貯體政策](setup-instance-permissions.md#instance-profile-custom-s3-policy)
**注意**  
您可以選擇是否在 S3 儲存貯體中儲存輸出日誌資料，但如果您已決定使用，則建議在 Systems Manager 組態程序開始時進行設定。如需詳細資訊，請參閱 *Amazon Simple Storage Service 主控台使用者指南*中的[建立儲存貯體](https://docs.aws.amazon.com/AmazonS3/latest/userguide/CreatingABucket.html)。
   + **CloudWatchAgentServerPolicy** – 選用。此 AWS 受管政策可讓您在受管節點上執行 CloudWatch 代理程式。此政策可讓您讀取節點的資訊，並將資訊寫入 Amazon CloudWatch。只有在使用諸如 Amazon EventBridge 或 CloudWatch Logs 等服務時，您的執行個體設定檔才需要此政策。
**注意**  
您可以選擇是否使用 CloudWatch 和 EventBridge 功能，但如果您決定使用，則建議在 Systems Manager 組態程序開始時進行設定。如需詳細資訊，請參閱《[Amazon EventBridge 使用者指南](https://docs.aws.amazon.com/eventbridge/latest/userguide/)》和《[Amazon CloudWatch Logs 使用者指南](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/)》。

1. 編輯連接至節點的 IAM 角色，並新增以下政策。此政策可讓節點許可呼叫 `kms:Decrypt` 和 `ssm:CreateDocument` API。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt",
                   "ssm:CreateDocument"
               ],
               "Resource": [
                   "arn:aws:kms:us-east-1:111122223333:key/kms-key-id"
               ]
           }
       ]
   }
   ```

------

1. 將以下的 json 文字複製並黏貼到純文字編輯器，並在以下位置將檔案儲存為 `JoinInstanceToDomain.json`：`c:\temp\JoinInstanceToDomain.json`。

   ```
   {
       "schemaVersion": "2.2",
       "description": "Run a PowerShell script to securely join a Windows Server instance to a domain",
       "mainSteps": [
           {
               "action": "aws:runPowerShellScript",
               "name": "runPowerShellWithSecureString",
               "precondition": {
                   "StringEquals": [
                       "platformType",
                       "Windows"
                   ]
               },
               "inputs": {
                   "runCommand": [
                       "$domain = (Get-SSMParameterValue -Name domainName).Parameters[0].Value",
                       "if ((gwmi Win32_ComputerSystem).domain -eq $domain){write-host \"Computer is part of $domain, exiting\"; exit 0}",
                       "$username = (Get-SSMParameterValue -Name domainJoinUserName).Parameters[0].Value",
                       "$password = (Get-SSMParameterValue -Name domainJoinPassword -WithDecryption $True).Parameters[0].Value | ConvertTo-SecureString -asPlainText -Force",
                       "$credential = New-Object System.Management.Automation.PSCredential($username,$password)",
                       "Add-Computer -DomainName $domain -Credential $credential -ErrorAction SilentlyContinue -ErrorVariable domainjoinerror",
                       "if($?){Write-Host \"Instance joined to domain successfully. Restarting\"; exit 3010}else{Write-Host \"Instance failed to join domain with error:\" $domainjoinerror; exit 1 }"
                   ]
               }
           }
       ]
   }
   ```

1. 在 Tools for Windows PowerShell 中執行下列命令，以建立新的 SSM 文件。

   ```
   $json = Get-Content C:\temp\JoinInstanceToDomain | Out-String
   New-SSMDocument -Name JoinInstanceToDomain -Content $json -DocumentType Command
   ```

1. 在 Tools for Windows PowerShell 中執行下列命令，將節點加入網域。

   ```
   Send-SSMCommand -InstanceId instance-id -DocumentName JoinInstanceToDomain 
   ```

   如果命令成功，系統會傳回類似如下的資訊。

   ```
   WARNING: The changes will take effect after you restart the computer EC2ABCD-EXAMPLE.
   Domain join succeeded, restarting
   Computer is part of example.local, exiting
   ```

   如果命令失敗，系統會傳回類似如下的資訊：

   ```
   Failed to join domain with error:
   Computer 'EC2ABCD-EXAMPLE' failed to join domain 'example.local'
   from its current workgroup 'WORKGROUP' with following error message:
   The specified domain either does not exist or could not be contacted.
   ```

# 稽核和記錄 Parameter Store 活動
<a name="parameter-store-logging-auditing"></a>

AWS CloudTrail 會擷取在 AWS Systems Manager 主控台、 AWS Command Line Interface (AWS CLI) 和 Systems Manager SDK 中發出的 API 呼叫。您可以在 CloudTrail 主控台中，或在 Amazon Simple Storage Service (Amazon S3) 儲存貯體中檢視資訊。帳戶的所有 CloudTrail 日誌使用一個儲存貯體。如需有關檢視和使用 Systems Manager 活動的 CloudTrail 日誌的詳細資訊，請參閱 [使用 記錄 AWS Systems Manager API 呼叫 AWS CloudTrail](monitoring-cloudtrail-logs.md)。如需稽核和記錄 Systems Manager 選項的詳細資訊，請參閱 [在 中記錄和監控 AWS Systems Manager](monitoring.md)。

# Parameter Store 疑難排解
<a name="parameter-store-troubleshooting"></a>

使用下列資訊以協助您對 Parameter Store ( AWS Systems Manager中的工具) 的問題進行疑難排解。

## 故障診斷 `aws:ec2:image` 參數建立
<a name="ps-ec2-aliases-troubleshooting"></a>

使用下列資訊協助故障診斷建立資 `aws:ec2:image` 料類型參數的問題。

### 沒有建立執行個體的許可
<a name="ps-ec2-aliases-0"></a>

**問題**：您嘗試使用 `aws:ec2:image` 參數建立執行個體，但收到「未授權您執行此操作」等錯誤訊息。
+ **解決方案**：您沒有使用參數值建立 EC2 執行個體所需的所有許可，例如 `ec2:RunInstances`、`ec2:DescribeImages` 和 `ssm:GetParameter` 等的許可。請聯絡組織中擁有管理員許可的使用者，以申請必要的許可。

### EventBridge 報告失敗訊息「無法描述資源」
<a name="ps-ec2-aliases-1"></a>

**問題**：您執行命令來建立 `aws:ec2:image` 參數，但參數建立失敗。您收到來自 Amazon EventBridge 的通知，報告例外狀況「無法描述資源」。

**解決方案**：此訊息可表示下列情況：
+ 您尚未獲得 `ec2:DescribeImages` API 操作的所有許可，或者您缺乏存取參數中參考的特定映像的許可。請聯絡在組織中擁有管理員許可的使用者，以申請必要的許可。
+ 您輸入做為參數值的 Amazon Machine Image (AMI) ID 無效。請確定您輸入的 ID AMI 是目前 AWS 區域 和您正在使用的帳戶中可用的 。

### 無法使用新的 `aws:ec2:image` 參數
<a name="ps-ec2-aliases-2"></a>

**問題**：您剛執行命令來建立 `aws:ec2:image` 參數，系統有報告版本號碼，但參數無法使用。
+ **解決方案**：當您執行命令來建立使用 `aws:ec2:image` 資料類型的參數時，會立即為該參數產生版本號碼，但必須先驗證參數格式，才能使用參數。此程序需要幾分鐘的時間。若要監控參數建立與驗證程序，您可以執行下列動作：
  + 使用 EventBridge 傳送有關 `create` 和 `update` 參數操作的通知給您。這些通知會報告參數操作是否成功。如需在 EventBridge 中訂閱 Parameter Store 事件的詳細資訊，請參閱 [根據 Parameter Store 事件設定通知或觸發動作](sysman-paramstore-cwe.md)。
  + 在 Systems Manager 主控台 Parameter Store 區段中，定期重新整理參數清單，以搜尋是否有全新或更新的參數詳細資訊。
  + 使用 **GetParameter** 命令檢查全新或更新的參數。例如，使用 AWS Command Line Interface (AWS CLI)：

    ```
    aws ssm get-parameter name MyParameter
    ```

    對於新參數，會傳回 `ParameterNotFound` 訊息，直到驗證參數為止。對於您正在更新的現有參數，除非驗證參數，否則不會包含新版本的相關資訊。

  如果您在驗證程序完成之前嘗試再次建立或更新參數，系統會報告驗證仍在進行中。如果參數未建立或更新，您可以在初次嘗試過 5 分鐘後再試一次。