本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 AWS Systems Manager 維護視窗自動停止和啟動 Amazon RDS 資料庫執行個體
由阿希塔·德席爾瓦(AWS)創建
環境:生產 | 技術:管理與治理、成本管理、資料庫、雲端原生 | AWS 服務:AWS Systems Manager;Amazon RDS |
Summary
此模式示範如何使用 AWS Systems Manager 維護 Windows,按特定排程自動停止和啟動 Amazon Relational Database Service (Amazon RDS) 資料庫執行個體 (例如,在工作時間以外關閉資料庫執行個體以降低成本)。
AWS Systems Manager Automation 提供停止AWS-StopRdsInstance
和啟動 Amazon RDS 資料庫執行個體的操作手AWS-StartRdsInstance
冊。這表示您不需要使用 AWS Lambda 函數撰寫自訂邏輯,也不需要建立 Amazon CloudWatch 事件規則。
AWS Systems Manager 提供兩種排程任務的功能:狀態管理員和維護視窗。狀態管理器為您的 Amazon Web Services (AWS) 帳戶中的資源設定和維護所需的狀態組態一次或按特定排程。維護 Windows 會在特定時間範圍內,對帳戶中的資源執行工作。雖然您可以在狀態管理員或維護 Windows 中使用此模式的方法,但我們建議您使用維護 Windows,因為它可以根據指派的優先順序執行一或多個任務,也可以執行 AWS Lambda 函數和 AWS Step Functions 任務。如需狀態管理員和維護視窗的詳細資訊,請參閱 AWS Systems Manager 文件中的狀態管理員和維護視窗之間的選擇。
此模式提供詳細步驟,以設定兩個使用 cron 運算式停止並啟動 Amazon RDS 資料庫執行個體的獨立維護時段。
先決條件和限制
先決條件
作用中的 AWS 帳戶
您想要按特定排程停止和啟動的現有 Amazon RDS 資料庫執行個體。
Cron 表達式為您所需的時間表。例如,
(0 9 * * 1-5)
cron 表示式會在星期一至星期五的早上 09:00 執行。熟悉 Systems Manager。
限制
Amazon RDS 資料庫執行個體一次最多可停止七天。7 天後,資料庫執行個體會自動重新啟動,以確保收到任何必要的維護更新。
您無法停止僅供讀取複本或具有僅供讀取複本的資料庫執行個體。
您無法在異地同步備份組態中停止 Amazon RDS for SQL Server 資料庫執行個體。
服務配額適用於維護 Windows 和 Systems Manager 自動化。如需有關服務配額的詳細資訊,請參閱 AWS 一般參考文件中的 AWS Systems Manager 端點和配額。
架構
下圖顯示自動停止和啟動 Amazon RDS 資料庫執行個體的工作流程。
工作流程包含下列步驟:
1. 建立維護時段,並使用 cron 運算式定義 Amazon RDS 資料庫執行個體的停止和開始排程。
2. 使用AWS-StopRdsInstance
或 AWS-StartRdsInstance
runbook 將 Systems Manager 自動化工作註冊到維護視窗。
3. 為 Amazon RDS 資料庫執行個體使用以標籤為基礎的資源群組,在維護時段註冊目標。
技術, 堆
AWS CloudFormation
AWS Identity and Access Management (IAM)
Amazon RDS
Systems Manager
自動化和規模
您可以標記必要的 Amazon RDS 資料庫執行個體、建立包含所有標記資料庫執行個體的資源群組,並將此資源群組註冊為維護時段的目標,同時停止和啟動多個 Amazon RDS 資料庫執行個體。
工具
AWS CloudFormation 是一項可協助您建立 AWS 資源模型和設定 AWS 資源的服務。
AWS Identity and Access Management (IAM) 是一種 Web 服務,可協助您安全地控制對 AWS 資源的存取。
Amazon Relational Database Service (Amazon RDS) 是一種 Web 服務,可讓您更輕鬆地在 AWS 雲端中設定、操作和擴展關聯式資料庫。
AWS Resource Groups 可協助您將 AWS 資源組織為群組、標記資源,以及管理、監控和自動化分組資源上的任務。
AWS Systems Manager 是一項 AWS 服務,可讓您在 AWS 上檢視和控制基礎設施。
AWS Systems Manager Automation 可簡化 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體和其他 AWS 資源的常見維護和部署任務。
AWS Systems Manager 維護 Windows 可協助您定義何時在執行個體上執行可能中斷性動作的排程。
史诗
任務 | 描述 | 所需技能 |
---|---|---|
設定系 Systems Manager 自動化的 IAM 服務角色。 | 登入 AWS 管理主控台,並為系統管理員自動化建立服務角色。您可以使用下列兩種方法之一來建立此服務角色: 系 Systems Manager 自動化工作流程會使用服務角色在 Amazon RDS 資料庫執行個體上執行啟動和停止動作來呼叫 Amazon RDS。 服務角色必須設定下列內嵌政策,該政策具有啟動和停止 Amazon RDS 資料庫執行個體的許可:
請務必以 重要:請確定您已記錄服務角色的 ARN。 | AWS 管理員 |
任務 | 描述 | 所需技能 |
---|---|---|
標記 Amazon RDS 資料庫執行個體。 | 開啟 Amazon RDS 主控台 如需有關此項目的詳細資訊,請參閱 Amazon RDS 文件中的新增、列出和移除標籤。 | AWS 管理員 |
為已標記的 Amazon RDS 資料庫執行個體建立資源群組。 | 開啟 AWS Resource Groups 主控台 在「分組準則」下,確定您選擇 AWS:: RDS:: DBInstance 做為資源類型,然後提供標籤的鍵值對 (例如,「動作-」)。StartStop這可確保服務僅檢查 Amazon RDS 資料庫執行個體,而不會檢查具有此標籤的其他資源。 請確定您已記錄資源群組的名稱。 如需詳細資訊和詳細步驟,請參閱 AWS Resource Groups 文件中的建立以標籤為基礎的查詢和建立群組。 | AWS 管理員 |
任務 | 描述 | 所需技能 |
---|---|---|
建立維護時段。 |
重要事項:停止資料庫執行個體的工作幾乎會在啟動時立即執行,而且不會跨越整個維護時段的持續時間。此模式提供「持續時間」和「停止啟動」任務的最小值,因為它們是維護時段的必要參數。 如需詳細資訊和詳細步驟,請參閱 AWS Systems Manager 文件中的建立維護時段 (主控台)。 | AWS 管理員 |
將目標指派給維護時段。 |
如需詳細資訊和詳細步驟,請參閱 AWS Systems Manager 文件中的將目標指派到維護時段 (主控台)。 | AWS 管理員 |
將工作指派給維護時段。 |
重要事項:「服務角色」選項會定義維護時段執行工作所需的服務角色。不過,此角色與您先前針對 Systems Manager 自動化建立的服務角色並不相同。 如需詳細資訊和詳細步驟,請參閱 AWS Systems Manager 文件中的將任務指派到維護時段 (主控台)。 | AWS 管理員 |
任務 | 描述 | 所需技能 |
---|---|---|
設定維護時段以啟動 Amazon RDS 資料庫執行個體。 | 重複設定維護時段中的步驟,停止 Amazon RDS 資料庫執行個體史詩,以設定另一個維護時段,以便在排定的時間啟動 Amazon RDS 資料庫執行個體。 重要事項:設定維護時段以啟動資料庫執行個體時,必須進行下列變更:
| AWS 管理員 |
相關資源
使用 Systems Manager 自動化文件來管理執行個體並降低停工時間成本
(AWS 部落格文章)