本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
執行自動升級
您可以 AWS 使用自動 AWS Systems Manager 化手冊在上執行 Windows 和 SQL Server 執行個體的自動升級。
相關服務
自動升級程序會使用下列 AWS 服務:
-
AWS Systems Manager。 AWS Systems Manager 是一個功能強大的統一介面,可集中管理您的 AWS 資源。如需詳細資訊,請參閱 AWS Systems Manager 使用者指南。
-
AWS Systems Manager 代理程式 (SSM 代理程式) 是可在 Amazon EC2 執行個體、現場部署伺服器或虛擬機器 (VM) 上安裝和設定的 Amazon 軟體。SSM Agent 讓 Systems Manager 能夠更新、管理和設定這些資源。此代理程式會處理 AWS Cloud 中來自 Systems Manager 服務的申請,然後依照要求中的指定執行。如需詳細資訊,請參閱《AWS Systems Manager 使用者指南》中的 使用 SSM Agent。
-
AWS Systems Manager SSM 手冊。SSM Runbook 定義 Systems Manager 在受管執行個體上執行的動作。SSM 執行手冊使用 JavaScript 物件標記法 (JSON) 或 YAML,而且包含您指定的步驟和參數。本主題使用兩份 Systems Manager SSM Runbook 來進行自動化。如需詳細資訊,請參閱 AWS Systems Manager 使用者指南中的 AWS Systems Manager Automation runbook 參考。
執行選項
當您在 Systems Manager 主控台選取 Automation (自動化) 時,請選取 Execute (執行)。在您選取自動化文件後,系統會提示您選取自動化執行選項。請從以下選項中選擇。在本主題稍後所提供途徑的步驟中,我們使用 Simple execution (簡易執行) 選項。
簡易執行
如果您想要更新單一執行個體,但不想經歷每個自動化步驟來稽核結果,請選擇此選項。稍後的升級步驟中會進一步詳述此選項。
Rate control (比率控制)
如果您要對多個執行個體套用升級,請選擇此選項。請定義以下設定。
-
Parameter (參數)
此設定 (也在 Multi-Account and Region (多帳戶和區域) 設定中) 定義自動化如何展開。
-
目標
選取您要套用自動化的目標。此設定也在 Multi-Account and Region (多帳戶和區域) 設定中。
-
Parameter Values (參數值)
使用自動化文件參數中定義的值。
-
Resource Group (資源群組)
在中 AWS,資源是您可以使用的實體。範例包括 Amazon EC2 執行個體、 AWS CloudFormation 堆疊或 Amazon S3 儲存貯體。如果您使用多個資源,則將它們作為一個組進行管理可能會很有用,而不是從一個服務移動到另一個 AWS 服務的每個任務。在某些情況下,您可能需要管理大量的相關資源,例如組成應用程式層的 EC2 執行個體。在此情況下,您在這些資源上可能需要一次執行大量動作。
-
Tags (標籤)
標籤可協助您以不同的方式對 AWS 資源進行分類,例如依用途、擁有者或環境。此分類在您擁有許多相同類型的資源時很有用。您可以使用指派的標籤快速識別特定資源。
-
Rate Control (比率控制)
Rate Control (比率控制) 也在 Multi-Account and Region (多帳戶和區域) 設定中。當您設定比率控制參數時,請以目標計數或機群的百分比,定義機群中有多少要套用自動化。
Multi-Account and Region (多帳戶和區域)
除了 Rate Control (比率控制) 下指定的參數 (也用在 Multi-Account and Region (多帳戶和區域) 設定中),另外還有兩個設定:
-
Accounts and organizational units (OUs) (帳戶和組織單位 (OU))
指定您要執行自動化的多個帳戶。
-
AWS 區域
指定您要 AWS 區域 在其中執行自動化操作的多個位置。
手動執行
此選項類似於 Simple execution (簡易執行),但可讓您逐步完成每個自動化步驟並稽核結果。
升級 Windows Server
AWSEC2-CloneInstanceAndUpgradeWindows
Runbook 從您帳戶中的 Windows Server 執行個體建立 Amazon Machine Image (AMI),並將此 AMI 升級到您選擇的支援版本。此多步驟程序需要最多兩個小時才會完成。
若要將您的 Windows Server 2008 R2 執行個體升級到 Windows Server 2016、2019 或 2022,即會執行兩次就地升級,第一次從 Windows Server 2008 R2 到 Windows Server 2012 R2,然後從 Windows Server 2012 R2 到 Windows Server 2016、2019 或 2022。不支援直接將 Windows Server 2008 R2 升級至 Windows Server 2016、2019 或 2022。
自動化會從執行個體建立 AMI,接著在您提供的子網中啟動新的 AMI。自動化工作流程會執行就地升級,從 Windows Server 2008 R2、2016、2019 升級到選取的版本 (Windows Server 2012 R2、2016、2019 或 2022)。還會更新或安裝已升級的執行個體所需的 AWS 驅動程式。升級完成之後,工作流程會建立新的 AMI,並終止已升級的執行個體。如果您從 Windows Server 2008 R2 升級到 Windows Server 2016、2019 或 2022,則自動化會建立兩個 AMI,因為就地升級會執行兩次。
自動化升級程序中包含兩個 AMI:
-
目前執行中的執行個體。第一個 AMI 是目前執行中的執行個體 (尚未升級)。此 AMI 用來啟動另一個執行個體,以執行就地升級。當程序完成時,將從您的帳戶中刪除此 AMI,除非您明確要求保留原始執行個體。此設定由參數
KeepPreUpgradeImageBackUp
處理 (預設值為false
,表示預設會刪除 AMI)。 -
已升級的 AMI。此 AMI 是自動化程序的成果。
最終成果是一個 AMI,即已升級的 AMI 執行個體。
當升級完成時,您可以在 Amazon VPC 中啟動新的 AMI,以測試應用程式功能。測試後,在執行另一次升級前,請先安排應用程式停機時間,再完全切換至已升級的執行個體。
Windows Server 自動升級路徑
系 Systems Manager 自動化手冊 AWSEC2-CloneInstanceAndUpgradeWindows 支持以下升級路徑:
-
Windows Server 2008 R2 升級至 Windows Server 2012 R2
-
Windows Server 2012 R2 升級至 Windows Server 2016
-
Windows Server 2012 R2 升級至 Windows Server 2019
-
Windows Server 2012 R2 升級至 Windows Server 2022
-
Windows Server 2016 升級至 Windows Server 2019
-
Windows Server 2016 升級至 Windows Server 2022
-
Windows Server 2019 升級至 Windows Server 2022
必要條件
若要使用自動 AWS Systems Manager 化文件自動化您的 Windows 伺服器升級,您必須執行下列工作:
-
搭配指定的 IAM 政策建立 IAM 角色,以允許 Systems Manager 在您的 Amazon EC2 執行個體上執行自動化任務,並驗證您是否符合使用 Systems Manager 的先決條件。如需詳細資訊,請參閱《AWS Identity and Access Management 使用指南》中的建立角色以將權限委派給 AWS 服務。
-
選取您希望如何執行自動化的選項。執行選項包括 Simple execution (簡易執行)、Rate control (比率控制)、Multi-account and Region (多帳戶和區域) 及 Manual execution (手動執行)。如需關於這些選項的詳細資訊,請參閱 執行選項。
-
確認 SSM Agent 安裝於您的執行個體上。如需詳細資訊,請參閱在適用於 Windows Server 的 Amazon EC2 執行個體上安裝與設定 SSM Agent。
-
視窗 PowerShell 3.0 或更新版本必須安裝在您的執行個體上。
-
對於加入 Microsoft Active Directory 網域的執行個體,建議您指定沒有連線到您的網域控制站的
SubnetId
,以協助避免主機名稱衝突。 -
執行個體子網路必須具有連線至網際網路的輸出連線,以提供 Amazon S3 AWS 服務 等存取權,以及從 Microsoft 下載修補程式的存取權。如果子網路是公有子網路且執行個體具有公有 IP 地址,或子網路是私有子網路且具有將網際網路流量傳送至公有 NAT 裝置的路由,則符合此需求。
-
此自動化適用於執行 Windows Server 2008 R2、Windows Server 2012 R2、Windows Server 2016 和 Windows Server 2019 的執行個體。
-
確認執行個體在開機磁碟中有 20 GB 的可用磁碟空間。
-
如果執行個體未使用由提供的 Windows 授權 AWS,請指定包含 Windows 伺服器 2012 R2 安裝媒體的 Amazon EBS 快照識別碼。若要執行此作業:
-
確認 Amazon EC2 執行個體執行的是 Windows Server 2012 R2 或更新版本。
-
在執行個體執行的相同可用區域中建立 6 GB 的 Amazon EBS 磁碟區。將磁碟區連結到執行個體。例如,將其掛載為 D 磁碟機。
-
在 ISO 按一下滑鼠右鍵,並將其掛載至執行個體,例如做為 E 磁碟機。
-
從磁碟機 E:\ 將 ISO 的內容複製到磁碟機 D:\
-
從上述步驟 2 建立的 6 GB 磁碟區建立 Amazon EBS 快照。
-
Windows Server 升級限制
此自動化不支援升級 Windows 網域控制站、叢集或 Windows 桌面作業系統。此自動化也不支援安裝了下列角色的適用於 Windows Server 的 Amazon EC2 執行個體:
-
遠端桌面工作階段主機 (RDSH)
-
遠端桌面連線代理人 (RDCB)
-
遠端桌面虛擬化主機 (RDVH)
-
遠端桌面 Web 存取 (RDWA)
執行 Windows Server 自動升級的步驟
請按照以下步驟使用 AWSEC2-CloneInstanceAndUpgradeWindows 自動化執行本升級您的 Windows 伺服器執行個體。
-
從 AWS Management Console (AWS 管理主控台) 開啟 Systems Manager。
-
從左側導覽窗格中,在 Change Management (變更管理) 下選擇 Automation (自動化)。
-
選擇 Execute automation (執行自動化)。
-
搜尋稱為
AWSEC2-CloneInstanceAndUpgradeWindows
的自動化文件。 -
當文件名稱出現時,請選取它。選取此文件時,將會出現文件詳細資訊。
-
選擇 Execute automation (執行自動化) 以輸入此文件的參數。在頁面頂端,保持選取 Simple execution (簡易執行)。
-
根據下列指導,輸入所要求的參數。
-
InstanceID
類型:字串
(必要) 執行 Windows Server 2008 R2、2012 R2、2016 或 2019 的執行個體,並且已安裝 SSM Agent。
-
InstanceProfile
.類型:字串
(必要) IAM 執行個體描述檔。這是用來針對 Amazon EC2 執行個體和 AWS AMI 執行 Systems Manager 自動化的 IAM 角色。如需詳細資訊,請參閱 AWS Systems Manager 使用者指南中的建立 Systems Manager 的 IAM 執行個體描述檔。
-
TargetWindowsVersion
類型:字串
(必要) 選取目標 Windows 版本。
-
SubnetId
類型:字串
(必要) 這是升級程序的子網,也是您的 EC2 執行個體所在地方。確認子網路具有連線至 AWS 服務 (包括 Amazon S3) 以及 Microsoft 的輸出連線 (以便下載修補程式)。
-
KeepPreUpgradedBackUp
類型:字串
(選用) 如果此參數設為
true
,自動化會保留從執行個體建立的映像。預設設定為false
。 -
RebootInstanceBeforeTakingImage
類型:字串
(選用) 預設為
false
(不重新啟動)。如果此參數設為true
,Systems Manager 在為升級建立 AMI 之前會重新啟動執行個體。
-
-
輸入參數後,選擇 Execute (執行)。自動化開始時,您可以監控執行進度。
-
當自動化完成時,您會看到 AMI ID。您可以啟動 AMI,以驗證 Windows 作業系統已升級。
注意
自動化沒有必要執行所有步驟。這些步驟取決於自動化和執行個體的行為。Systems Manager 可能略過有些非必要的步驟。
此外,某些步驟可能會逾時。Systems Manager 會嘗試升級和安裝所有最新的修補程式。不過,根據特定步驟可定義的逾時設定,修補程式有時會逾時。發生此情況時,Systems Manager 自動化會繼續下一個步驟,以確保內部作業系統升級到目標 Windows Server 版本。
-
自動化完成之後,您可以使用 AMI ID 啟動 Amazon EC2 執行個體,以檢閱您的升級。如需如何從 AWS AMI 建立 Amazon EC2 執行個體的詳細資訊,請參閱如何從自訂 Amazon 機器映像 (AMI) 啟動 EC2 執行個體?
升級 SQL Server
AWSEC2-CloneInstanceAndUpgradeSQLServer
指令碼從您帳戶中執行 SQL Server 的 Amazon EC2 執行個體建立 AMI,然後將 AMI 升級到更新版本的 SQL Server。此多步驟程序需要最多兩個小時才會完成。
自動化會從執行個體建立 AMI,接著在您提供的子網中啟動新的 AMI。自動化接著會執行 SQL Server 的就地升級。升級完成之後,自動化在終止已升級的執行個體之前會建立新的 AMI。
自動化升級程序中包含兩個 AMI:
-
目前執行中的執行個體。第一個 AMI 是目前執行中的執行個體 (尚未升級)。此 AMI 用來啟動另一個執行個體,以執行就地升級。當程序完成時,將從您的帳戶中刪除此 AMI,除非您明確要求保留原始執行個體。此設定由參數
KeepPreUpgradeImageBackUp
處理 (預設值為false
,表示預設會刪除 AMI)。 -
已升級的 AMI。此 AMI 是自動化程序的成果。
最終成果是一個 AMI,即已升級的 AMI 執行個體。
當升級完成時,您可以在 Amazon VPC 中啟動新的 AMI,以測試應用程式功能。測試後,在執行另一次升級前,請先安排應用程式停機時間,再完全切換至已升級的執行個體。
SQL Server 自動升級路徑
AWSEC2-CloneInstanceAndUpgrade SQLServer 自動化執行手冊支援下列升級路徑:
-
SQL Server 2008 升級至 SQL Server 2017、2016 或 2014
-
SQL Server 2008 R2 升級至 SQL Server 2017、2016 或 2014
-
SQL Server 2012 升級至 SQL Server 2019、2017、2016、2014
-
SQL Server 2014 升級至 SQL Server 2019、2017 或 2016
-
SQL Server 2016 升級至 SQL Server 2019 或 2017
-
SQL Server 2017 升級至 SQL Server 2019
必要條件
若要使用自動 AWS Systems Manager 化文件自動化您的 SQL Server 升級,您必須執行下列工作:
-
搭配指定的 IAM 政策建立 IAM 角色,以允許 Systems Manager 在您的 Amazon EC2 執行個體上執行自動化任務,並驗證您是否符合使用 Systems Manager 的先決條件。如需詳細資訊,請參閱《AWS Identity and Access Management 使用者指南》中的建立角色以委派許可給 AWS 服務。
-
選取您希望如何執行自動化的選項。執行選項包括 Simple execution (簡易執行)、Rate control (比率控制)、Multi-account and Region (多帳戶和區域) 及 Manual execution (手動執行)。如需關於這些選項的詳細資訊,請參閱 執行選項。
-
Amazon EC2 執行個體必須使用 Windows Server 2008 R2 (或更新版本) 和 SQL Server 2008 或更新版本。
-
確認 SSM Agent 安裝於您的執行個體上。如需詳細資訊,請參閱在適用於 Windows Server 的 Amazon EC2 執行個體上使用 SSM Agent。
-
確認執行個體具有足夠的可用磁碟空間:
-
若您要從 Windows Server 2008 R2 升級至 2012 R2,或從 Windows Server 2012 R2 升級至更新版本的作業系統,請確認您的執行個體開機磁碟中有 20 GB 的可用磁碟空間。
-
若您要從 Windows Server 2008 R2 升級至 2016 或更新版本,請確認執行個體開機磁碟中有 40 GB 的可用磁碟空間。
-
-
針對使用自有授權 (BYOL) 的 SQL Server 版本執行個體,適用下列額外的事前準備:
-
提供 Amazon EBS 快照 ID,其中包含目標 SQL Server 安裝媒體。若要執行此作業:
-
確認 Amazon EC2 執行個體執行的是 Windows Server 2008 R2 或更新版本。
-
在執行個體執行的相同可用區域中建立 6 GB 的 Amazon EBS 磁碟區。將磁碟區連結到執行個體。例如,將其掛載為 D 磁碟機。
-
在 ISO 按一下滑鼠右鍵,並將其掛載至執行個體,例如做為 E 磁碟機。
-
從磁碟機 E:\ 將 ISO 的內容複製到磁碟機 D:\
-
建立步驟 2 中所建立 6 GB 磁碟區的 Amazon EBS 快照。
-
-
SQL Server 自動升級限制
使用 AWSEC2-CloneInstanceAndUpgrade SQLServer 執行手冊執行自動升級時,會套用下列限制:
-
升級僅能在使用 Windows 身分驗證的 SQL Server 上執行。
-
確認執行個體上沒有待定的安全性修補程式更新。開啟 Control Panel (控制面板),接著選擇 Check for updates (檢查更新)。
-
不支援在 HA 和鏡像模式中的 SQL Server 部署。
執行 SQL Server 自動升級的步驟
請依照下列步驟來升級您的 SQL 伺服器使用 AWSEC2-CloneInstanceAndUpgrade SQL 伺服器自動化執行手冊。
-
下載 SQL Server 2016 .iso 檔案並掛載到來源伺服器 (如果您尚未這麼做)。
-
掛載 .iso 檔案之後,將所有元件檔案複製到您選擇的任何磁碟區。
-
建立磁碟區的 Amazon EBS 快照,並將快照 ID 複製到剪貼簿,供稍後使用。如需有關建立 EBS 快照的詳細資訊,請參閱建立 Amazon EBS 快照。
-
將執行個體描述檔連接至 Amazon EC2 來源執行個體。這可讓 Systems Manager 與 EC2 執行個體通訊,並在新增至 AWS Systems Manager 服務後在其上執行命令。在此範例中,我們將角色命名為
SSM-EC2-Profile-Role
,並將AmazonSSMManagedInstanceCore
政策連接到角色。請參閱《AWS Systems Manager 使用者指南》中的建立 Systems Manager 的 IAM 執行個體設定檔。 -
在 AWS Systems Manager 主控台的左側導覽窗格中,選擇 [受管執行個體]。確認 EC2 執行個體在受管執行個體的清單中。如果幾分鐘後沒有看見您的執行個體,請參閱 AWS Systems Manager 使用者指南中的我的執行個體在哪裡?。
-
在左側導覽窗格中,在 Change Management (變更管理) 下選擇 Automation (自動化)。
-
選擇 Execute automation (執行自動化)。
-
搜尋稱為
AWSEC2-CloneInstanceAndUpgradeSQLServer
的自動化文件。 -
選擇
AWSEC2-CloneInstanceAndUpgradeSQLServer
SSM 文件,然後選擇 Next (下一步)。 -
確保選取 Simple execution (簡易執行) 選項。
-
根據下列指導,輸入所要求的參數。
-
InstanceId
類型:字串
(必要) 執行 SQL Server 2008 R2 (或更新版本) 的執行個體。
-
IamInstanceProfile
類型:字串
(必要) IAM 執行個體描述檔。
-
SQLServerSnapshotId
類型:字串
(必要) 目標 SQL Server 安裝媒體的快照 ID。包含 SQL Server 授權的執行個體不需要此參數。
-
SubnetId
類型:字串
(必要) 這是升級程序的子網,也是您的 EC2 執行個體所在地方。確認子網路具有連線至 AWS 服務 (包括 Amazon S3) 以及 Microsoft 的輸出連線 (以便下載修補程式)。
-
KeepPreUpgradedBackUp
類型:字串
(選用) 如果此參數設為
true
,自動化會保留從執行個體建立的映像。預設設定為false
。 -
RebootInstanceBeforeTakingImage
類型:字串
(選用) 預設為
false
(不重新啟動)。如果此參數設為true
,Systems Manager 在為升級建立 AMI 之前會重新啟動執行個體。 -
TargetSQLVersion
類型:字串
(選用) 目標 SQL Server 版本。預設值為
2016
。
-
-
輸入參數後,選擇 Execute (執行)。自動化開始時,您可以監控執行進度。
-
當 Execution Status (執行狀態) 顯示 Success (成功) 時,請展開 Outputs (輸出) 來檢視 AMI 資訊。針對您選擇的 VPC,您可以使用 AMI ID 來啟動您的 SQL Server 執行個體。
-
開啟 Amazon EC2 主控台。在左側導覽窗格中選擇 AMI。您應該會看到新的 AMI。
-
若要確認已成功安裝 SQL Server 新版本,請選擇新的 AMI 並選擇 Launch (啟動)。
-
選擇您要用於 AMI 的執行個體類型、您要部署到的 VPC 和子網,以及您要使用的儲存體。因為您是從 AMI 啟動新的執行個體,將會出現磁碟區,供您選擇加入您啟動的新 EC2 執行個體中。您可以移除任何這些磁碟區,或新增磁碟區。
-
新增標籤以協助識別您的執行個體。
-
將一或多個安全群組新增至執行個體。
-
選擇 Launch Instance (啟動執行個體)。
-
選取執行個體的標籤名稱,然後在 Actions (動作) 下拉式清單下,選取 Connect (連接)。
-
驗證 SQL Server 新版本是新執行個體上的新資料庫引擎。