使用 AWS 簡訊將現場部署 Linux 伺服器遷移到 Amazon EC2 執行個體 - AWS Prescriptive Guidance

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

使用 AWS 簡訊將現場部署 Linux 伺服器遷移到 Amazon EC2 執行個體

由馬克·薩爾科維奇 (AWS) 創建

R 類型 主體變更

來源:作業系統

目標:Amazon EC2

建立者:AWS

環境:PoC 或試驗

Technologies 網站和 Web 應用程式;作業系統;移轉

工作負載:開放原始碼開放

Summary

這種模式會引導您透過使用 AWS 伺服器遷移服務 (AWS SMS) 將現場部署 Linux 伺服器遷移到支援的 Amazon Elastic Compute Cloud (Amazon EC2) Linux 執行個體,進行重新託管 (「移動轉移」) 的步驟。

如需移轉與您要移轉之伺服器和應用程式相關聯之資料庫 (例如 Oracle) 的相關資訊,請參閱此目錄中的資料庫移轉模式。

先決條件和限制

先決條件

一般要求:

  • 您必須擁有有效的 AWS 帳戶。

  • 停用虛擬機器 (VM) 上的任何防毒軟體或入侵偵測軟體。

  • 中斷任何連接到 VM 的光碟機 (虛擬或實體)。

Linux VM:

  • 啟用 Secure Shell (SSH) 進行遠端存取,並啟用主機防火牆存取 SSH。

  • 請確認您的 Linux VM 使用 GRUB (GRUB 舊版) 或 GRUB 2 做為其開機載入器。

  • 您的 Linux VM 根磁碟區必須使用以下其中一個檔案系統:ext2、ext3、ext4、Btrfs、JFS、XFS。

硬體要求:

  • VMware vCenter 版本 5.5 或更高版本 (經驗證最高可至 6.5) 

  • ESXi 版本 5.1 或更高版本 (經驗證最高可至 6.5) 

  • 最少 4 GB RAM 

  • 最小可用磁碟儲存空間為 20 GB (精簡佈建) 或 250 GB (完整佈建) 

軟體要求:

  • 如果將 VMware vCenter Server 設定為使用非預設連接埠,請在Connector Setup

  • 請確定您的系統支援下列網路服務 (您可能需要重新設定防火牆來允許連接器與這些服務進行保留狀態的輸出連線):

    • 網域名稱系統 (DNS)-允許連接器以啟動連線到連接埠 53 來執行名稱解析。

    • vCenter 上的 HTTPS-允許連接器啟動安全 Web 連線至 vCenter 的連接埠 443。您也可以自行決定是否設定非預設連接埠。

    • ESXi 上的 HTTPS-允許連接器起始安全的 Web 連線至 ESXi 主機的連接埠 443 (其中包含您想要遷移的 VM)。

    • 網際網路控制訊息通訊協定 (ICMP)-允許連接器使用 ICMP 來啟動連線。 

    • 網路時間通訊協定 (NTP)-連接器必須能夠觸及連接埠 123 上的時間伺服器。

  • 允許自連接器傳出連線至以下 URL 範圍: 

    • *.amazonaws.com 

    • *.aws.amazon.com 

    • *.ntp.org (選用;僅用於驗證連接器時間與 NTP 同步)

 如需詳細資訊,請參閱AWS 簡訊要求在 AWS 簡訊文件中。

Linux 授權選項:

當您建立新的複寫任務時,AWS SMS 主控台提供的授權類型選項,它提供了這些值: 

  • Auto(預設)-偵測來源系統作業系統 (OS),並將適當的授權套用至遷移 VM。

  • AWS-如果適用,在遷移 VM 上以 AWS 授權取代來源系統授權。

  • BYOL-若適用,在遷移 VM 上保留來源系統授權。

如果您選擇的授權類型不相容於您的 VM,複寫任務將失敗並顯示錯誤訊息。 

Linux 作業系統僅支援 BYOL 授權,因此,若您選擇Auto(預設),AWS SMS 將使用 BYOL 授權。

已遷移的 Red Hat Enterprise Linux (RHEL) VM 必須使用 Cloud Access (BYOL) 授權。如需詳細資訊,請參閱 Red Hat 網站中的 Red Hat Cloud Access

已遷移的 SUSE Linux Enterprise Server (SLES) VM 必須使用 SUSE Public Cloud Program (BYOS) 授權。如需詳細資訊,請參閱「」SUSE 公有雲端計畫-使用自己的訂閱在 SUSE 網站上。

限制

  • 移轉來源必須是 VMware 伺服器。AWS SMS 的使用受到限制,如下所示:

    • 每個帳戶 50 次同時移轉虛擬機器

    • 每個 VM (而不是每個帳戶) 有 90 天的服務使用時間,以 VM 初始複寫開始。

  • Amazon EC2 必須支援目標作業系統。支援的系統包括 RHEL、SLES、CentOS、Ubuntu、Oracle Linux、費多拉和 Debian Linux。不支援 RHEL 6.0。如需完整清單,請參閱Amazon EC2 常見問答集

  • Linux/Unix (64 位元) 磁碟區類型與檔案系統:使用 ext2、ext3、ext4、Btrfs、JFS 或 XFS 檔案系統進行格式化的 MBR 分割磁碟區。 

  • 如需作業系統授權原則和限制,請參閱AWS 簡訊要求

  • AWS SMS 部分支援 vMotion、Storage vMotion 和其他功能,依不同虛擬機器遷移而定,但有下列限制:

    • 只要伺服器遷移連接器的 vCenter 服務帳戶在目的地 ESXi 主機、資料存放區和資料中心上具有足夠權限,即可將虛擬機器遷移至新的 ESXi 主機或資料存放區,並在虛擬機器本身位於新位置。 

    • 不支援在複寫執行處於作用中狀態時將虛擬機器遷移至新的 ESXi 主機、資料存放區或資料中心。 

    • AWS SMS 不支援跨 vCenter vMotion 與 AWS SMS 搭配使用。

Architecture

來源技術堆疊

內部部署應用程式/Web 伺服器: 

  • Red Hat Enterprise Linux (RHEL)

  • SUSE Linux Enterprise Server (SLES)

  • CentOS 

  • Ubuntu 

  • Oracle Linux 

  • Fedora 

  • Debian Linux 

目標技術堆疊

執行下列作業系統的 EC2 執行個體 (支援從內部部署相同系統移轉): 

  • RHEL  

  • SLES

  • CentOS  

  • Ubuntu 

  • Oracle Linux 

  • Fedora  

  • Debian 

目標架構

Tools

AWS 簡訊-AWS Server Migration Service(AWS SMS) 可將虛擬機器遷移至 AWS。它提供以下功能: 

  • 將現場部署 VMware 伺服器叢集自動遷移到 AWS 雲端。

  • 將 VM 遞增複寫至 Amazon Machine Images (AMI)。AWS SMS 只會將差量傳輸至雲端,以便您可以反覆測試細微變更並節省網路頻寬。

  • 多重伺服器遷移至 AWS,包括一組伺服器的排程和定期複寫。

若要遷移 VM,您需要在現場部署虛擬化環境中設定 AWS 伺服器遷移連接器。若要部署 Server Migration Connector,請選擇入門從 AWS SMS 主控台。

  • 排定連接器下載。連接器是 OVA 影像,大小將近 10 GB,因此下載可能需要很長的時間,視您的網際網路連線速度而定。建議您根據連線速度和流量優先順序,排定適當的下載設備的時間。下載的 OVA 應該可供 vCenter 使用,以供日後部署。如需逐步說明,請參閱AWS 簡訊文件

  • 建立 vCenter 帳戶。連接器需要具有 (至少) 您計劃遷移至 AWS 的虛擬機器上的 [建立快照] 和 [刪除快照] 權限的 vCenter 服務帳戶。建議您建立僅能存取您計劃移轉之 vCenter 資料中心和 ESXi 主機、資料夾和資料存放區的服務帳戶。 

  • 建立 IAM 使用者。連接器需要 AWS Identity and Access Management (IAM) 登入資料,以與 AWS 通訊。使用下列 AWS CloudFormation 範本來建立具有ServerMigrationConnectorAWS 受管政策。建立 IAM 使用者後,導覽至 IAM 主控台並搜尋 IAM 使用者伺服器移轉服務連接器。為此使用者建立 IAM 存取金鑰,然後安全地下載並儲存存取金鑰。認證將用於連接器組態中。

AWSTemplateFormatVersion: '2010-09-09' Description: | # # Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. # # Licensed under the Amazon Software License (the "License"). # You may not use this file except in compliance with the # License. A copy of the License is located at # # http://aws.amazon.com/asl/ # # or in the "license" file accompanying this file. This file is # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR # CONDITIONS OF ANY KIND, express or implied. See the License # for the specific language governing permissions and # limitations under the License. # # IAM user for AWS Server Migration Service (SMS) Connector Resources: SmsConnector: Properties: ManagedPolicyArns: - arn:aws:iam::aws:policy/ServerMigrationConnector UserName: ServerMigrationServiceConnector Type: AWS::IAM:: ser
  • 建立 IAM 角色。AWS SMS 需要服務角色才能存取 AWS 資源。使用下列 AWS CloudFormation 式範本建立服務角色。 

AWSTemplateFormatVersion: '2010-09-09' Description: | # # Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. # # Licensed under the Amazon Software License (the "License"). # You may not use this file except in compliance with the # License. A copy of the License is located at # # http://aws.amazon.com/asl/ # # or in the "license" file accompanying this file. This file is # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR # CONDITIONS OF ANY KIND, express or implied. See the License # for the specific language governing permissions and # limitations under the License. # # IAM Role for AWS Server Migration Service (SMS) Resources: smsRole: Properties: AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Sid: SmsServiceRoleAssumeRolePolicyDocument Effect: Allow Principal: Service: sms.amazonaws.com Action: sts:AssumeRole Condition: StringEquals: sts:ExternalId: sms RoleName: sms Type: AWS::IAM::Role policy: Properties: Description: IAMManagedPolicyForSmsServiceRole PolicyDocument: Version: '2012-10-17' Statement: - Sid: SmsServiceRolePolicyDocument Effect: Allow Resource: "*" Action: - ec2:ModifySnapshotAttribute - ec2:CopySnapshot - ec2:CopyImage - ec2:DescribeImages - ec2:DescribeSnapshots - ec2:DeleteSnapshot - ec2:DeregisterImage - ec2:CreateTags - ec2:DeleteTags Roles: - Ref: smsRole Type: AWS::IAM::ManagedPolicy
  • 規劃您的防火牆組態。連接器運作時,必須連線至 HTTPS 連接埠 (443)、NTP 伺服器、DNS 伺服器和具有模式 *.amazonaws.com 和 *.aws.amazon.com 上範圍內的 vCenter 和 ESXi 主機。 請規劃您的網路設定,包括 IP 配置、防火牆變更和監控更新。您可能需要提交變更請求,才能取得組織中這些變更的核准。 

  • 準備儲存空間和虛擬機器資源。部署連接器時,應用裝置至少需要 20 GB 的磁碟空間和 8 GB 的 RAM。如果您選擇精簡佈建,每個連接器中的磁碟最多可能會增加 250 GB,因此請確定您的 VMware 儲存裝置具有此容量。 

  • 必要時安裝額外的連接器。如果您要移轉多個資料中心,建議您在每個資料中心至少安裝一個連接器。 如需逐步安裝說明,請參閱AWS 簡訊文件。如需設定 vCenter 的相關資訊,請參閱部落格文章AWS 伺服器遷移服務 — 輕鬆將伺服器遷移至雲端。 

  • 安裝後驗證。部署連接器後,請登入 AWS 管理主控台並開啟 AWS SMS 主控台,以驗證註冊。您應該會看到連接器已登錄在連接器(憑證已建立!) 頁面上的名稱有些許差異。 

Epics

任務描述所需技能
檢查目前的狀態佔用量和效能基準 (應用程式探索)。

在重新託管之前先評估 Linux 伺服器。

BA, 移轉領導者
確認來源和目標 OS 執行處理。

確認 Linux 伺服器版本與目標 EC2 執行個體相容。

SysAdmin
識別目標伺服器執行處理的硬體需求。

確認 Linux 伺服器硬體與目標 EC2 裸機執行個體相容。

SysAdmin
識別儲存需求 (儲存類型和容量)。

驗證 Linux 伺服器儲存容量以及與目標 EC2 執行個體的相容性。

SysAdmin
根據容量、儲存功能和網路功能選擇適當的執行個體類型。

確定目標 EC2 執行個體與現有的 Linux 伺服器設定檔相容。

SysAdmin
識別來源和目標資料庫的網路存取安全需求。

確認已正確設定目標 EC2 執行個體的安全性組態。

SysAdmin
建立來源和目標資料庫的輸出安全群組。

請確定新的安全性群組從 Linux 伺服器正確對應至目標 EC2 執行個體。

SysAdmin
完成應用程式的移轉設計和移轉指南。

確認移轉設計和移轉指南正確對應至 Linux 伺服器和目標 EC2 執行個體。

建立潛在客戶,遷移領導者
完成應用程式移轉 Runbook。

評估已對應的移轉策略。

建立領導者、轉換領導者、測試領導者、遷移領導者
任務描述所需技能
建立虛擬私有雲端 (VPC)。

為要移轉至目標 EC2 執行個體的 Linux 伺服器設定 VPC。

SysAdmin
建立安全群組。

建立對應至要移轉至目標 EC2 執行個體的 Linux 伺服器的安全性群組。

SysAdmin
提交防火牆規則變更的變更要求。

確定目標 EC2 執行個體的防火牆對應至要移轉的 Linux 伺服器。

SysAdmin
提交 DNS 變更的變更要求。

請確定目標 EC2 執行個體的 DNS 對應至正在移轉的 Linux 伺服器。

SysAdmin
下載 AWS 服務遷移連接器。

確認已下載 AWS 服務遷移連接器,並準備好將 Linux 伺服器遷移到目標 EC2 執行個體。

SysAdmin
安裝 AWS Server Migration Connector。

設定連接器以將 Linux 伺服器移轉至目標 EC2 執行個體。

SysAdmin
確認連接器顯示在 AWS SMS 主控台中。

如果連接器設定正確,當您從導覽窗格中選擇連接器時,連接器會顯示在 AWS SMS 主控台中。

SysAdmin
任務描述所需技能
建立複寫工作。

建立複製環境。

SysAdmin
設定伺服器特定的設定 (選取授權類型)。

確認伺服器組態對應至目標執行個體。

SysAdmin
使用適當的 IAM 角色設定複製工作設定 (輸出應為 AMI)。

管理您設定之複本環境的存取。

SysAdmin
啟用後續複寫執行每 12 至 24 小時執行一次 (偏好 12 小時)。

建立複寫執行的連續排程。

SysAdmin
完成設定。

請依照 https://aws.amazon.com/blogs/apn/aws-server-migration-service-server-migration-to-the-cloud-made-easy/ 中所述的程序完成安裝程式。

SysAdmin
任務描述所需技能
將任何變更或中斷傳達給企業和應用程式使用者和利害關係人。

確定每個人都是最新的移轉狀態。

轉換 LEAD
更新透過 AWS SMS 複寫的伺服器的生產 DNS 項目,以指向站台/維護 URL,並將 DNS TTL 設定為 1 分鐘。

這是關閉和停止來源伺服器之前的最後一個步驟。

SysAdmin
關閉並停止來源伺服器。

提交至雲端作業。

SysAdmin
重新命名來源伺服器以附加「不要開啟」。

請勿重新接觸來源伺服器。

SysAdmin
執行 AWS SMS VM 遷移任務,將來源伺服器的最終資料同步複製到生產 AWS 帳戶。

完成來源伺服器的最終資料同步。

SysAdmin
執行 AWS CloudFormation 指令碼以建置和套用任何基礎設施設定 (例如,安全群組、允許的防火牆連接埠、IAM 角色、權限)。

使用 AWS CloudFormation 範本來確保遵循正確的程序,而且一切都適用於雲端操作。

移轉工程師 SysAdmin
進行應用程式特定的變更,以對應至新的 IP 位址,並進行任何其他必要的組態變更 (如應用程式移轉 Runbook 中所指定)。

請確定已進行必要的變更,對應至應用程式移轉 Runbook 中所詳細的內容。

SysAdmin、移轉工程師、應用程式擁有者
將來源伺服器的生產 DNS 項目更新為指向 EC2 應用程式執行個體。

將 DNS 項目對應到目標 EC2 執行個體。

SysAdmin
啟動應用程式及其相關聯的資料庫。根據應用程式移轉 Runbook 中所指定的產品驗證測試 (PVT)、建置驗證測試 (BVT) 和其他測試方式來驗證應用程式。

確定已移轉至 AWS 的應用程式已根據應用程式遷移 Runbook 中所述的測試方案進行驗證。

應用程式擁有者, QA 團隊
取得應用程式測試完成的 TSO 或業務所有者的簽署。

向 TSO 或企業擁有者取得應用程式如預期般運作的最終核准和驗證。

轉換潛在客戶,應用程式擁有者
更新組態管理資料庫 (CMDB),其中包含已移轉的虛擬機器/主機和新 EC2 執行個體的詳細資料。

請確定 CMDB 已更新以反映最新的資訊。

轉換潛在客戶,應用程式擁有者
向企業和應用程式使用者和利害關係人傳達專案完成與新環境可用性。

確保所有有關各方都知道變更已完成。

轉換 LEAD
任務描述所需技能
關閉臨時 AWS 資源

停止使用為遷移設定的臨時 AWS 資源。

移轉工程師 SysAdmin
複查並驗證專案文件。

根據計劃、移轉後檢查專案結果。

移轉主機、SysAdmin、應用程式擁有者
收集需要移轉的時間指標、手動與工具的百分比、節省成本等。

報告移轉程序如何進行和完成。

移轉主機、DBA、SysAdmin、應用程式擁有者
關閉專案並提供回饋。

包含先前未提及的任何細節。

移轉主機、DBA、SysAdmin、應用程式擁有者