

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

# 使用 AMS Resource Scheduler 進行成本最佳化
<a name="acc-resource-scheduler"></a>

 AWS 解決方案上的 AMS Resource Scheduler 透過停止未使用的資源，以及在需要容量時啟動資源，協助您降低 AWS 和 AMS 成本。例如，您可以在開發環境中使用 AWS 上的 AMS Resource Scheduler，在每天上班時間之外自動停止執行個體。如果您讓所有執行個體以完全使用率執行，此解決方案可以降低執行個體使用率，進而根據您設定的排程降低整體成本。

使用 AWS Managed Services (AMS) Resource Scheduler 來排程自動啟動和停止您帳戶中的 Auto Scaling 群組、Amazon EC2 執行個體和 Amazon RDS 執行個體。這有助於降低資源不應全年無休執行的基礎設施成本。解決方案建置在[AWS 執行個體排程器](https://aws.amazon.com/solutions/instance-scheduler/)之上，但包含 AMS 客戶需求的其他功能和自訂項目。自訂包含排程 Auto Scaling 群組的支援、Elastic Load Balancing 警示的 CloudWatch 警示抑制器、Amazon EC2 的多個 AWS Systems Manager 維護時段的支援、節省成本估算器，以及 AMS 的操作支援。

AMS Resource Scheduler 使用期間和排程。期間定義資源應執行的時間，例如開始時間、結束時間和當月天數。排程包含您定義的期間，以及其他組態：SSM 維護時段、時區、休眠等，並指定資源應何時執行。您可以使用 AMS 提供的 AWS Systems Manager 自動化 Runbook 來設定這些期間和排程。每個排程必須至少包含一個期間 （定義執行個體應執行的時間）。排程可以包含多個期間。當排程中使用多個期間時，執行個體排程器會在至少一個期間規則為 true 時套用適當的啟動動作。如需排程和期間的詳細資訊，請參閱 [AWS 執行個體排程器的解決方案元件](https://docs.aws.amazon.com/solutions/latest/instance-scheduler-on-aws/components.html)。

AMS Resource Scheduler 使用 AWS 資源標籤將排程與一或多個資源建立關聯，以將其設為排程開始和停止動作的目標。您可以使用排程器中設定的標籤索引鍵 （預設為 `Schedule`) 來標記資源，並以排程名稱做為值。您可以為排程器的成本估算器功能設定與 中的成本分配標籤相同的標籤索引鍵 AWS Cost Explorer ，以追蹤和報告成本節省。

AMS Resource Scheduler 是一種選擇加入功能，您可以為每個帳戶啟用此功能。

# 搭配 AMS Resource Scheduler 使用資源
<a name="res-sched-design"></a>

**Amazon EC2**
+ AMS Resource Scheduler 不會個別處理和略過屬於 Auto Scaling 群組的 Amazon EC2 執行個體，即使這些執行個體已加上標籤也一樣。
+ 如果目標執行個體根磁碟區使用 AWS KMS 客戶主金鑰 (CMK) 加密，則需要將額外的`kms:CreateGrant`許可新增至您的 Resource Scheduler IAM 角色，排程器才能啟動此類執行個體。根據預設，此許可不會新增至角色，以改善安全性。如果您需要此許可，您可以透過更新 CloudFormation 堆疊 來新增許可`ams-resource-scheduler`，並將 CMK 清單做為 `UseCMK` 參數的值 （使用 格式的一或多個 CMK 金鑰 ARNs，`arn:partition:kms:region:account-id:key/key-id`而非 KMS 別名）。
+ 如果您的 Amazon EC2 執行個體設定了特定軟體或由 管理的廠商授權 AWS License Manager，Resource Scheduler 需要特定 AWS License Manager 授權的許可，才能啟動執行個體。您可以將 AWS License Manager 授權的 ARN 清單新增至 CloudFormation 堆疊 () EC2 執行個體參數的 License Manager 授權，以授予 Resource Scheduler 必要的許可`ams-resource-scheduler`。

**Amazon EC2 Auto Scaling**
+ AMS Resource Scheduler 會啟動或停止 Auto Scaling 群組的自動擴展，而不是群組中的個別執行個體。也就是說，排程器會還原 Auto Scaling 群組的大小 （開始） 或將大小設定為 0 （停止）。
+ 使用指定的標籤標記 Auto Scaling 群組，而不是群組中的執行個體。
+ 在停止期間，AMS Resource Scheduler 會存放 Auto Scaling 群組的最小、預期和最大容量值，並將最小和預期容量設定為 0。在啟動期間，排程器會還原停止期間的 Auto Scaling 群組大小。因此，Auto Scaling 群組執行個體必須使用適當的容量組態，以便執行個體的終止和重新啟動不會影響 Auto Scaling 群組中執行的任何應用程式。
+ 如果在執行期間修改 Auto Scaling 群組 （最小或最大容量），排程器會存放新的 Auto Scaling 群組大小，並在停止排程結束時還原群組時使用。

**Amazon RDS**
+ 排程器可以在停止 RDS 執行個體之前擷取快照 （不適用於 Aurora 資料庫叢集）。此功能預設為開啟，且**建立 RDS 執行個體快照** AWS CloudFormation 範本參數設為 **true**。快照會保留到下次停止 Amazon RDS 執行個體並建立新的快照為止。
+ 排程器可以啟動/停止屬於叢集或 Amazon RDS Aurora 資料庫或多可用區域 (Multi-AZ) 組態的 Amazon RDS 執行個體。不過，當排程器無法停止 Amazon RDS 執行個體時，請檢查 Amazon RDS 限制，尤其是多可用區域執行個體。
+ 若要排程 Aurora 叢集啟動或停止，請使用**排程 Aurora 叢集**範本參數 （預設為 **true**)。Aurora 叢集 （而非叢集內的個別執行個體） 必須使用初始組態期間定義的標籤索引鍵和排程名稱做為標籤值來標記，以排程該叢集。

**注意**  
資源排程器不會驗證資源是否已啟動或停止。它會為相關服務發出 API 呼叫並繼續。如果 API 呼叫失敗，它會記錄錯誤以進行調查。  
AMS Resource Scheduler 不支援 AWS Backup 視窗。如果您將 AWS Backup已啟用 RDS 執行個體與 Resource Scheduler 排程對應，備份必須位於排程的執行時段內，才能如預期運作。

# 加入 AMS 資源排程器
<a name="res-sched-onboarding"></a>

當您的帳戶加入 AMS Accelerate 操作計劃時，您的帳戶不會自動加入 AMS Resource Scheduler。不過，作為加入 AMS Accelerate 操作計劃帳戶的一部分，或之後隨時，您可以請求 Cloud Service Delivery Manager (CSDM) 將帳戶加入 AMS Resource Scheduler。一旦您的 CSDM 加入帳戶，包含具有預設組態之 AMS Resource Scheduler 資源的 CloudFormation 堆疊會自動佈建至您的帳戶。

在您的帳戶中佈建 AMS Resource Scheduler 之後，我們建議您檢閱預設組態，並視需要根據您的偏好設定自訂組態，例如標籤索引鍵、時區、排程服務等。如需建議自訂的詳細資訊，請參閱 [自訂 AMS 資源排程器](res-sched-customizing.md)，下一步。

# 自訂 AMS 資源排程器
<a name="res-sched-customizing"></a>

加入時，AMS Resource Scheduler 會部署為 CloudFormation 堆疊，其名稱為 `ams-resource-scheduler`，位於 AMS Accelerate 帳戶的主要 AWS 區域中。您可以透過 CloudFormation 堆疊參數和執行堆疊更新，根據您的偏好設定來設定 AMS Resource Scheduler 的屬性。如需更新 CloudFormation 堆疊的資訊，請參閱[直接更新堆疊](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-direct.html)。

我們建議您自訂下列屬性，並將其餘屬性保留在預設狀態，以獲得最佳功能。
+ **標籤名稱**：Resource Scheduler 用來將執行個體排程與 資源建立關聯的標籤名稱。預設值為 `Schedule`。
+ **要排程的 Service(s)**：以逗號分隔的清單，列出 Resource Scheduler 可以管理的服務。預設值為 `ec2,rds,autoscaling`。有效值為 "ec2"、"rds" 和 "autoscaling"。
+ **預設時區**：指定資源排程器要使用的預設時區。預設值為 `UTC`。
+ **加密 EBS 磁碟區的 CMK**：以逗號分隔的 Amazon KMS 客戶受管金鑰 (CMK) ARNs 清單，可將許可授予資源排程器。
+ **EC2 執行個體的授權管理員授權**：可以授予該資源排程器以逗號分隔的 AWS Licence Manager ARNs 清單許可。

**注意**  
AMS 偶爾會發行功能和修正，讓 AMS Resource Scheduler 在您的帳戶中保持最新狀態。發生這種情況時，您透過堆疊參數對 AMS Resource Scheduler 堆疊進行的任何自訂都會保留。  
我們強烈建議不要直接對 AMS Resource Scheduler 的任何元件資源進行任何自訂。這樣做會影響 Resource Scheduler 功能和 AMS 保持最新狀態的能力。

# 使用 AMS 資源排程器
<a name="res-sched-using-periods"></a>

如何在 AMS Accelerate 帳戶中使用 AMS Resource Scheduler 期間。

使用下列一組 AWS Systems Manager 自動化 Runbook，在 AMS Resource Scheduler 中管理所需的排程和期間。

**注意**  
這些 SSM 自動化 Runbook 可在您帳戶的主要 AWS 區域中使用。
+ `AWSManagedServices-AddOrUpdatePeriod`
+ `AWSManagedServices-AddOrUpdateSchedule`
+ `AWSManagedServices-DeleteScheduleOrPeriod`
+ `AWSManagedServices-DescribeScheduleOrPeriods`
+ `AWSManagedServices-EnableOrDisableAMSResourceScheduler`

此外，AMS 會佈建角色 `ams_resource_scheduler_ssm_automation_role`，此 AWS Identity and Access Management 角色 AWS Systems Manager 需要 和 ，才能使用 Runbook。IAM 角色的範圍縮小，具有授予執行手冊功能所需 SSM 許可的最低權限內嵌政策。

**先決條件**

在您開始使用 SSM 自動化 Runbook 和 AMS Resource Scheduler 之前，請執行下列步驟。

將下列政策連接至您要允許 使用自動化 Runbook 在 AMS Resource Scheduler 中管理排程和期間的適當 IAM 實體 （使用者、群組或角色）。*如果您的 IAM 實體在帳戶中具有管理員或 PowerUser 許可，則不需要此政策*。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowPassingResourceSchedulerRole",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::111122223333:role/ams_resource_scheduler_ssm_automation_role",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "ssm.amazonaws.com"
                }
            }
        },
        {
            "Sid": "ListAndDescribeAutomationExecutions",
            "Effect": "Allow",
            "Action": [
                "ssm:GetAutomationExecution",
                "ssm:DescribeAutomationStepExecutions"
            ],
            "Resource": "arn:aws:ssm:*:111122223333:automation-execution/*"
        },
        {
            "Sid": "ListAndDescribeResourceSchedulerSSMDocuments",
            "Effect": "Allow",
            "Action": [
                "ssm:ListDocumentVersions",
                "ssm:DescribeDocument",
                "ssm:ListDocumentMetadataHistory",
                "ssm:DescribeDocumentParameters",
                "ssm:GetDocument",
                "ssm:DescribeDocumentPermission"
            ],
            "Resource": [
                "arn:aws:ssm:*::document/AWSManagedServices-AddOrUpdatePeriod",
                "arn:aws:ssm:*::document/AWSManagedServices-AddOrUpdateSchedule",
                "arn:aws:ssm:*::document/AWSManagedServices-DeleteScheduleOrPeriod",
                "arn:aws:ssm:*::document/AWSManagedServices-DescribeScheduleOrPeriods",
                "arn:aws:ssm:*::document/AWSManagedServices-EnableOrDisableAMSResourceScheduler"
            ]
        },
        {
            "Sid": "AllowExecutionOfResourceSchedulerSSMDocuments",
            "Effect": "Allow",
            "Action": [
                "ssm:StartAutomationExecution"
            ],
            "Resource": [
                "arn:aws:ssm:*::automation-definition/AWSManagedServices-AddOrUpdatePeriod:*",
                "arn:aws:ssm:*::automation-definition/AWSManagedServices-AddOrUpdateSchedule:*",
                "arn:aws:ssm:*::automation-definition/AWSManagedServices-DeleteScheduleOrPeriod:*",
                "arn:aws:ssm:*::automation-definition/AWSManagedServices-DescribeScheduleOrPeriods:*",
                "arn:aws:ssm:*::automation-definition/AWSManagedServices-EnableOrDisableAMSResourceScheduler:*"
            ]
        },
        {
            "Sid": "AllowListingAllDocuments",
            "Effect": "Allow",
            "Action": "ssm:ListDocuments",
            "Resource": "*"
        },
        {
            "Sid": "AllowListingAllSSMExecutions",
            "Effect": "Allow",
            "Action": "ssm:DescribeAutomationExecutions",
            "Resource": "*"
        },
        {
            "Sid": "AllowListingIAMRolesForStartingExecutionViaConsole",
            "Effect": "Allow",
            "Action": "iam:ListRoles",
            "Resource": "*"
        }
    ]
}
```

------

您可以從 AWS Systems Manager 主控台或使用 CLI AWS 執行自動化。如果使用 AWS CLI，您可能需要安裝和設定它，或尚未安裝 PowerShell AWS 的工具。如需詳細資訊，請參閱[安裝或升級 AWS 命令列工具](https://docs.aws.amazon.com/systems-manager/latest/userguide/getting-started-cli.html)。

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/iEfvPYFBoMg/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/iEfvPYFBoMg)


# 在 AWS Managed Services Resource Scheduler 中使用期間和排程
<a name="res-sched-periods"></a>

您可以使用 AMS Resource Scheduler 在 AMS Accelerate 帳戶中新增、更新或刪除排程或期間。

## 在 AMS Resource Scheduler 中新增或更新期間
<a name="res-sched-add-period"></a>

新增或更新 AMS 帳戶中的資源排程器期間。

**您需要的資料：**
+ **動作**：要執行的操作類型。如果您想要新增期間，請使用「新增」；如果您想要更新現有期間，請使用「更新」。
+ **名稱**：期間的名稱。如果您要新增期間，則必須指定唯一的值。
+ **AutomationAssumeRole**：允許 Runbook 代表您新增或更新期間之 AWS Identity and Access Management (IAM) 角色的 ARN。將角色指定為 `ams_resource_scheduler_ssm_automation_role`。
+ **描述** （選用）：期間有意義的描述。
+ **BeginTime** （選用）：您想要啟動資源的時間，以 HH：MM 格式顯示。
+ **EndTime** （選用）：您想要停止資源的時間，以 HH：MM 格式顯示。
+ **月 **（選用）：以逗號分隔的月清單或連字號分隔的月範圍，在此期間資源應執行。
+ **MonthDays** （選用）：以逗號分隔的月份天數清單，或資源應執行的連字號天數範圍。
+ **WeekDays** （選用）：以逗號分隔的一週內天數清單，或資源應執行的一週內天數範圍。

**如何執行：**
+ 在 [ AWSManagedServices-AddOrUpdatePeriod](https://console.aws.amazon.com/systems-manager/automation/execute/AWSManagedServices-AddOrUpdatePeriod) 中檢視文件 （您可能需要選擇加入的區域）。

  在**輸入參數**區段中指定需求，然後選擇**執行**。操作完成後，請在**輸出**索引標籤中檢視結果。
+ AWS CLI：

  執行下列命令來啟動自動化。將*預留位置*取代為您自己的資訊。

  ```
  aws ssm start-automation-execution --document-name "AWSManagedServices-AddOrUpdatePeriod" --document-version "\$DEFAULT" 
       --parameters '{"Action":["add" or "update"], "Name":["NAME"], 
      "Description":["DESCRIPTION"],"BeginTime":["TIME"], "EndTime":["TIME"],
      "Months":["MONTH"],"MonthDays":["DAY"], "WeekDays":["DAY"], 
      "AutomationAssumeRole" : ["arn:aws:iam::ACCOUNTID:role/ams_resource_scheduler_ssm_automation_role"] }' --region ONBOARDED_REGION
  ```

**範例：**

下列範例示範如何使用 AWS Systems Manager 主控台新增期間。我們已命名 **period-Name**，並設定每月前 15 天從週一到週五上午 9AM-6PM。

1. 在 [ AWSManagedServices-AddOrUpdatePeriod](https://console.aws.amazon.com/systems-manager/automation/execute/AWSManagedServices-AddOrUpdatePeriod) 檢視 AWS Systems Manager 自動化文件 （您可能需要選擇加入的區域）。  
![\[加速為資源排程器新增期間。\]](http://docs.aws.amazon.com/zh_tw/managedservices/latest/accelerate-guide/images/accResSchedAddPeriod.png)

1. 提供參數的值。  
![\[加速資源排程器的期間設定。\]](http://docs.aws.amazon.com/zh_tw/managedservices/latest/accelerate-guide/images/accResSchedAddPeriodParams.png)

1. 按一下**執行**並等待自動化完成。

## 在 AMS Resource Scheduler 中新增或更新排程
<a name="res-sched-add-sched"></a>

在 AMS Accelerate 帳戶中新增或更新資源排程器排程。

**您需要的資料：**
+ **動作**：要執行的操作類型。如果您想要新增排程，請使用「新增」；如果您想要更新現有的排程，請使用「更新」。
+ **名稱**：排程的名稱。如果您要新增排程，則必須指定唯一的值。
+ **AutomationAssumeRole**：允許 Runbook 代表您新增或更新排程的 AWS Identity and Access Management (IAM) 角色 ARN。指定角色 `ams_resource_scheduler_ssm_automation_role`。
+ **描述** （選用）：排程的有意義的描述。
+ **排程 **（選用）：指定要與此排程搭配使用的逗號分隔期間清單。必須已建立每個期間。
+ **RetainRunning** （選用）：指定「true」，以防止資源排程器在執行期間結束時停止執行中的資源，如果資源是在執行操作開始之前手動啟動。根據預設，資源排程器會停止資源。
+ **StopNewInstances** （選用）：指定「false」，以防止資源排程器在執行期間之外執行時，第一次標記資源時停止資源。根據預設，資源排程器會停止資源。
+ **SSMMaintenanceWindow** （選用）：指定要新增為排程執行期間之 AWS Systems Manager (SSM) 維護時段的逗號分隔清單。您還必須將 "UseMaintenanceWindow" 屬性指定為 "true"。
+ **TimeZone** （選用）：指定您希望資源排程器使用的時區。根據預設，Resource Scheduler 會使用 UTC。
+ **UseMaintenanceWindow** （選用）：如果您想要 Resource Scheduler 將 Amazon Relational Database Service (RDS) 維護時段視為 Amazon RDS 執行個體排程的執行期間，或將 AWS Systems Manager (SSM) 維護時段新增為 Amazon EC2 執行個體排程的執行期間，請指定「true」。
+ **UseMetrics** （選用）：指定「true」以在排程層級啟用 CloudWatch 指標，並指定「false」停用 CloudWatch 指標。指定此屬性會覆寫堆疊層級設定的 CloudWatch 指標設定。

**如何執行：**
+ 在 [ AWSManagedServices-AddOrUpdateSchedule](https://console.aws.amazon.com/systems-manager/automation/execute/AWSManagedServices-AddOrUpdateSchedule) 中檢視文件 （您可能必須選擇加入的區域）。

  在**輸入參數**區段中指定需求，然後選擇**執行**。操作完成後，請在**輸出**索引標籤中檢視結果。
+ AWS CLI：

  執行下列命令來啟動自動化。將*預留位置*取代為您自己的資訊。

  ```
  aws ssm start-automation-execution --document-name "AWSManagedServices-AddOrUpdateSchedule" --document-version "\$DEFAULT" 
       --parameters '{"Action":["add" or "update"], "Name":["NAME"], "Description":["DESCRIPTION"],
      "Hibernate":["true or false"],"Enforced":["true or false"],
      "OverrideStatus":["running or stopped"],"Periods":["PERIOD-A, PERIOD-B"],
      "RetainRunning":["true or false"],"StopNewInstances":["true or false"],
      "SSMMaintenanceWindow":["WINDOW-NAME"],"TimeZone":["TIMEZONE"], 
      "UseMaintenanceWindow":["true or false"],"UseMetrics":["true or false"], 
      "AutomationAssumeRole" : ["arn:aws:iam::ACCOUNTID:role/ams_resource_scheduler_ssm_automation_role"] }' --region ONBOARDED_REGION
  ```

**範例：**

下列範例顯示如何新增 AMS Resource Scheduler 的排程。在此範例中，您會使用 CustomPeriod 新增名為 CustomSchedule 的排程。 CustomPeriod

1. 在 [ AWSManagedServices-AddOrUpdateSchedule](https://console.aws.amazon.com/systems-manager/automation/execute/AWSManagedServices-AddOrUpdateSchedule) 中檢視 AWS Systems Manager 自動化文件 （您可能需要選擇加入的區域）。  
![\[加速新增資源排程器的排程。\]](http://docs.aws.amazon.com/zh_tw/managedservices/latest/accelerate-guide/images/accResSchedAddOrUpdateSchedule.png)

1. 提供參數的值。  
![\[加速設定資源排程器的排程設定。\]](http://docs.aws.amazon.com/zh_tw/managedservices/latest/accelerate-guide/images/accResSchedAddScheduleParams.png)

1. 按一下**執行**並等待自動化完成。

## 在 AMS Resource Scheduler 中刪除期間或排程
<a name="res-sched-delete-period"></a>

若要刪除 AMS Accelerate 帳戶中的資源排程器期間或排程，您需要下列資料：
+ **ConfigurationType**：您要刪除的組態類型。如果您想要刪除期間，請使用「期間」；如果您要刪除排程，請使用「排程」。
+ **名稱**：您要刪除的排程或期間的名稱。
+ **AutomationAssumeRole**： AWS Identity and Access Management (IAM) 角色的 ARN，允許 Runbook 代表您刪除排程或期間。指定角色 `ams_resource_scheduler_ssm_automation_role`。

**如何執行：**
+ 在 [ AWSManagedServices-DeleteScheduleOrPeriod](https://console.aws.amazon.com/systems-manager/automation/execute/AWSManagedServices-DeleteScheduleOrPeriod) 中檢視文件 （您可能3必須選擇加入的區域）。

  在**輸入參數**區段中指定需求，然後選擇**執行**。操作完成後，請在**輸出**索引標籤中檢視結果。
+ AWS CLI：

  執行下列命令來啟動自動化。將*預留位置*取代為您自己的資訊。

  ```
  aws ssm start-automation-execution --document-name "AWSManagedServices-DeleteScheduleOrPeriod" --document-version "\$DEFAULT"
  --parameters '{"ConfigurationType":["period" or "schedule"],"Name":["NAME"],
      "AutomationAssumeRole":["arn:aws:iam::ACCOUNTID:role/ams_resource_scheduler_ssm_automation_role"]}' --region ONBOARDED_REGION
  ```

**範例：**

下列範例示範如何使用 AWS Systems Manager 主控台刪除期間。

1. 在 [ AWSManagedServices-DeleteScheduleOrPeriod](https://console.aws.amazon.com/systems-manager/automation/execute/AWSManagedServices-DeleteScheduleOrPeriod) 中檢視 AWS Systems Manager 自動化文件 （您可能需要選擇加入的區域）。  
![\[加速刪除資源排程器的期間。\]](http://docs.aws.amazon.com/zh_tw/managedservices/latest/accelerate-guide/images/accResSchedDeleteSchedOrPeriod.png)

1. 提供參數的值。  
![\[加速資源排程器的期間刪除設定。\]](http://docs.aws.amazon.com/zh_tw/managedservices/latest/accelerate-guide/images/accResSchedDeletePeriodParams.png)

1. 按一下**執行**並等待自動化完成。

## 在 AMS Resource Scheduler 中描述期間或排程
<a name="res-sched-describe-period"></a>

若要在 AMS Accelerate 帳戶中描述 （檢視詳細資訊） 資源排程器期間或排程，您需要下列資料：
+ **ConfigurationType**：您要描述的組態類型。如果您想要描述所有期間，請使用「期間」；如果您想要描述所有排程，請使用「排程」。
+ **AutomationAssumeRole**： AWS Identity and Access Management (IAM) 角色的 ARN，允許 Runbook 代表您描述排程或期間。指定角色 `ams_resource_scheduler_ssm_automation_role`。

**如何執行：**
+ 在 [ AWSManagedServices-DescribeScheduleOrPeriods](https://console.aws.amazon.com/systems-manager/automation/execute/AWSManagedServices-DescribeScheduleOrPeriods) 中檢視文件 （您可能需要選擇加入的區域）：

  1. 在**輸入參數**區段中指定需求，然後選擇**執行**。

  1. 操作完成後，請在**輸出**索引標籤中檢視結果。
+ AWS CLI：

  1. 執行下列命令來啟動自動化。將*預留位置*取代為您自己的資訊。

     ```
     aws ssm start-automation-execution --document-name "AWSManagedServices-DescribeScheduleOrPeriods" --document-version "\$DEFAULT" 
                     --parameters '{"ConfigurationType":["period" or "schedule"],"AutomationAssumeRole":["arn:aws:iam::ACCOUNTID:role/ams_resource_scheduler_ssm_automation_role"]}' 
                     --region ONBOARDED_REGION
     ```

**範例：**

下列範例顯示如何使用 AWS Systems Manager 主控台描述期間。

1. 在 [ AWSManagedServices-DescribeScheduleOrPeriods](https://console.aws.amazon.com/systems-manager/automation/execute/AWSManagedServices-DescribeScheduleOrPeriods) 中檢視 AWS Systems Manager 自動化文件 （您可能需要選擇加入的區域）。  
![\[加速描述資源排程器的期間。\]](http://docs.aws.amazon.com/zh_tw/managedservices/latest/accelerate-guide/images/accResSchedDescribePeriod.png)

1. 提供參數的值。  
![\[加速設定期間描述資源排程器的設定。\]](http://docs.aws.amazon.com/zh_tw/managedservices/latest/accelerate-guide/images/accResSchedDescribePeriodParams.png)

1. 按一下**執行**並等待自動化完成。

# AMS Resource Scheduler 的標記資源
<a name="res-sched-tagging"></a>

標記 AMS Resource Scheduler 的資源。

將排程和期間新增至 AMS 資源排程後，您需要使用資源排程器標籤名稱作為標籤索引鍵，或您的自訂標籤名稱，並將排程名稱作為標籤值。如需如何在 AMS Accelerate 帳戶中標記資源的詳細資訊，請參閱 [AMS Accelerate 中的標記](acc-tagging.md)。

**注意**  
如果使用 Resource Tagger 來標記資源，則資源排程器的預設標籤金鑰必須自訂為具有字首 '`ams:rt:`'，因為資源標記器套用的所有標籤都有金鑰字首 '`ams:rt:`'。否則，資源排程器將不會管理以資源標記程式標記的資源。若要進一步了解如何自訂資源排程器的預設標籤金鑰，請參閱 [自訂 AMS 資源排程器](res-sched-customizing.md)。

# AMS 資源排程器中的成本估算器
<a name="resource-scheduler-cost-est"></a>

為了追蹤成本節省，AMS Resource Scheduler 具有一個元件，可每小時計算排程器管理的 Amazon EC2 和 Amazon RDS 資源的預估成本節省。此節省成本資料接著會發佈為 CloudWatch 指標 (`AMS/ResourceScheduler`)，以協助您追蹤資料。成本節省估算器只會預估執行個體執行時數的節省。它不會考慮任何其他成本，例如與資源相關聯的資料傳輸成本。

成本節省估算器已透過 Resource Scheduler 啟用。它會每小時執行一次，並從中擷取成本和用量資料 AWS Cost Explorer。從該資料中，它會計算每個執行個體類型的每小時平均成本，然後在未排定的情況下執行整天的預估成本。節省成本是特定日期的預計成本與 Cost Explorer 實際報告成本之間的差異。

例如，如果執行個體 A 使用 Resource Scheduler 設定為從上午 9 點到下午 5 點執行，即指定日期的八個小時。Cost Explorer 會將成本報告為 \$11，用量報告為 8。因此，每小時的平均成本為 0.125 美元。如果未使用 Resource Scheduler 排程執行個體，則執行個體會在當天執行 24 小時。在這種情況下，成本會是 24x0.125 = \$13。資源排程器可協助您節省 2 美元的成本。

為了節省成本估算器僅從 Cost Explorer 擷取由 Resource Scheduler 管理的資源的成本和用量，Resource Scheduler 用於目標資源的標籤索引鍵需要啟用為帳單儀表板中的**成本分配**標籤。如果帳戶屬於組織，則需要在組織的管理帳戶中啟用標籤金鑰。如需執行此操作的詳細資訊，請參閱[啟用使用者定義的成本分配標籤](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/activating-tags.html)和[使用者定義的成本分配標籤](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/custom-tags.html)

在標籤金鑰啟用為成本分配標籤後，AWS 帳單會開始追蹤資源排程器所管理資源的成本和用量，並在該資料可用之後，成本節省估算器會開始計算成本節省，並在 CloudWatch 中的`AMS/ResourceScheduler`指標命名空間下發佈資料。

如果未啟用成本分配標籤，估算器就無法計算節省成本並發佈指標，即使已啟用也一樣。

**注意**  
成本節省估算器不接受折扣，例如預留執行個體、節省計劃等，並將其計算納入考量。估算器會從 Cost Explorer 取得使用成本，並計算資源每小時的平均成本。如需詳細資訊，請參閱[了解您的 AWS 成本資料集：備忘單](https://aws.amazon.com/blogs/aws-cost-management/understanding-your-aws-cost-datasets-a-cheat-sheet/)。

# AMS 資源排程器中的警示抑制器
<a name="res-sched-alarm-suppressor"></a>

AMS Resource Scheduler 隨附 CloudWatch 警示抑制器，部署為名為 的個別 Lambda 函數`AMSAlarmSuppressor`，可抑制 Elastic Load Balancing、Application Load Balancer 或 Network Load Balancer 後方執行個體的警示。函數每 5 分鐘執行一次，擷取帳戶中存在的所有警示，並根據命名空間進行分組；例如，`AWS/ELB`、`AWS/ApplicationELB`、`AWS/NetworkELB`。對於每個警示群組，禁止程式會從警示維度找到負載平衡器名稱和/或目標群組 （適用於 ALB/NLB)，尋找向負載平衡器和/或目標群組註冊的執行個體，並檢查執行個體狀態，以探索執行個體是否由 AMS Resource Scheduler 排程。如果執行個體是由 Resource Scheduler 排程，而由 Resource Scheduler 停止，則抑制器會標記警示以停用它們。如果已註冊執行個體清單中至少有一個執行個體正在執行，抑制器會標記對應的警示，以啟用標示為啟用的警示，並停用標示為停用的警示。此項目的日誌會存放在`/aws/lambda/AMSAlarmSuppressor`日誌群組中。