從 EC2-Classic 遷移至 VPC - Amazon Elastic Compute Cloud

從 EC2-Classic 遷移至 VPC

我們將淘汰 EC2-Classic。如需詳細資訊,請參閱部落格文章 EC2-Classic 網路正在淘汰 - 本文介紹如何準備

若要從 EC2-Classic 遷移至 VPC,您必須在 VPC 中遷移或重新建立 EC2-Classic 資源。

將資源遷移至 VPC

您可以將某些資源遷移或移動至 VPC。某些資源只能從 EC2-Classic 遷移至位於相同區域和相同 AWS 帳戶中的 VPC。如果無法遷移資源,您必須建立新資源以便在您的 VPC 中使用。

先決條件

在開始之前,您必須先擁有 VPC。如果您沒有預設的 VPC,您可以建立非預設 VPC:如需詳細資訊,請參閱建立一個 VPC

安全群組

如果您希望您 VPC 中的執行個體使用與您 EC2-Classic 執行個體相同的安全群組規則,您可以使用 Amazon EC2 主控台將您現有的 EC2-Classic 安全群組規則複製到新的 VPC 安全群組。您可以將任何符合需求的安全群組從 EC2-Classic 複製到您的 VPC。無法刪除預設安全群組,當 EC2-Classic 停用時,將會代表您刪除預設安全群組。

您只能將安全群組規則複製到位於相同區域內相同 AWS 帳戶中的新安全群組。如果您使用不同的區域或不同的 AWS 帳戶,您必須建立新的安全群組並自行手動新增規則。如需詳細資訊,請參閱 Windows 執行個體的 Amazon EC2 安全群組

先決條件

在開始複製安全群組之前,應檢查 EC2-Classic 安全群組參考 EC2-Classic 中其他安全群組時所用的規則。您應移除這些規則,因為這些規則無法複製到 VPC 中。如需詳細資訊,請參閱刪除安全群組的規則

將您的安全群組規則複製到新的安全群組

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Security Groups (安全群組)。

  3. 選取與 EC2-Classic 執行個體相關聯的安全群組,然後選擇 Actions (動作),並選取 Copy to new security group (複製到新安全群組)。

    注意

    若要識別 EC2-Classic 安全群組,請檢查 VPC ID 欄。針對每個 EC2-Classic 安全群組,欄中的值為留白狀態或 - 符號。

  4. Copy to new security group (複製到新安全群組) 對話方塊中,指定新安全群組的名稱和描述。從 VPC 清單中選取您的 VPC。

  5. Inbound rules (傳入規則) 下,用 EC2 Classic 安全群組的規則填充欄位。您可以根據需要修改規則。在 Outbound rules (傳出規則) 下,已為您自動建立允許所有傳出流量的規則。如需修改安全群組規則的詳細資訊,請參閱Windows 執行個體的 Amazon EC2 安全群組

    重要

    您必須移除 EC2-Classic 中參考安全群組的任何規則,因為您無法從 VPC 安全群組參考 EC2-Classic 安全群組。將安全群組複製到 VPC 後,您可以新增類似的規則。

  6. 選擇 Create Security Group (建立安全群組)。

彈性 IP 地址

您可以遷移已配置用於 EC2-Classic 以與 VPC 搭配使用的彈性 IP 地址。您無法將彈性 IP 地址遷移至其他區域或 AWS 帳戶。您無法遷移配置給帳戶不到 24 小時的彈性 IP 地址。

當您遷移彈性 IP 地址時,其會計入 VPC 的彈性 IP 地址限制。若遷移彈性 IP 地址會導致您超過限制,則您無法遷移此彈性 IP 地址。若要遷移彈性 IP 地址,該地址不得與執行個體相關聯。如需取消彈性 IP 地址與執行個體的關聯之詳細資訊,請參閱取消彈性 IP 地址的關聯

在您執行命令移動或還原彈性 IP 地址之後,遷移彈性 IP 地址的程序可能需要幾分鐘的時間。使用 describe-moving-addresses 命令,檢查您的彈性 IP 地址仍在移動中,還是已完成移動。移動完成後,您可在 Elastic IPs (彈性 IP) 頁面上檢視彈性 IP 地址的分配 ID。若彈性 IP 地址處於移動中狀態超過 5 分鐘,請聯絡 AWS 支援

如何識別已配置用於 EC2-Classic 的彈性 IP 地址

開啟 Amazon EC2 主控台。在導覽窗格中,選擇 Elastic IPs (彈性 IP),然後選取彈性 IP 地址的核取方塊。在 Summary (摘要) 頁面上,檢查 Scope (範圍) 是 EC2-ClassicVPC

使用 Amazon EC2 主控台移動彈性 IP 地址

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Elastic IPs (彈性 IP)

  3. 選取彈性 IP 地址,然後選擇 Actions (動作)Move to VPC scope (移至 VPC 範圍)

  4. 在確認對話方塊中,選擇 Move Elastic IP (移動彈性 IP)

AMI 和執行個體

AMI 是啟動您 Amazon EC2 執行個體的範本。您可以根據現有的 EC2-Classic 執行個體建立您自己的 AMI,然後使用該 AMI 在您的 VPC 中啟動執行個體。

識別 EC2-Classic 執行個體

如果您同時擁有在 EC2-Classic 和 VPC 中執行的執行個體,您可識別 EC2-Classic 執行個體。

Amazon EC2 主控台

在導覽窗格中,選擇 Instances (執行個體)。在 VPC ID 欄中,每個 EC2-Classic 執行個體的值皆為留白狀態或 - 符號。如果 VPC ID 欄不存在,請選擇齒輪圖示並使欄出現。

AWS CLI

使用下列 describe-instances AWS CLI 命令。--query 參數只會顯示 VpcId 的值為 null 的執行個體。

aws ec2 describe-instances --query 'Reservations[*].Instances[?VpcId==`null`]'

建立 AMI

識別 EC2-Classic 執行個體後,您可以從中建立 AMI。

如何建立 Windows AMI

如需詳細資訊,請參閱建立自訂 Windows AMI

如何建立 Linux AMI

您用來建立您 Linux AMI 的方法取決於您執行個體的根設備類型,以及您執行個體執行的作業系統平台。若要了解執行個體的根裝置類型,請前往 Instances (執行個體) 頁面,選取您的執行個體,並查看 Storage (儲存) 標籤 (新主控台) 或 Description (描述) 標籤 (舊主控台) 中 Root device type (根裝置類型) 欄位的資訊。若該值為 ebs,則您的執行個體為 EBS 後端執行個體。若該值為 instance-store,則您具有執行個體後端執行個體。您也可以使用 describe-instances AWS CLI 命令了解根設備類型。

下表提供根據您執行個體的根設備類型及軟體平台來建立您 Linux AMI 的選項。

重要

有些執行個體類型可同時支援 PV 和 HVM 虛擬化,但有些只能支援其中一種。如果您打算使用您的 AMI 啟動與您目前執行個體類型不同的執行個體類型,請確認該執行個體類型可支援您 AMI 提供的虛擬化類型。如果您的 AMI 支援 PV 虛擬化,但是您希望使用支援 HVM 虛擬化的執行個體類型,您可能必須在基礎 HVM AMI 上重新安裝您的軟體。如需有關 PV 和 HVM 虛擬化的詳細資訊,請參閱 Linux AMI 虛擬化類型

執行個體根設備類型 動作
EBS

從您的執行個體建立 EBS 後端 AMI。如需詳細資訊,請參閱建立 Amazon EBS 支援的 Linux AMI

執行個體存放區

使用 AMI 工具從您的執行個體建立執行個體後端 AMI。如需詳細資訊,請參閱建立執行個體儲存體支援的 Linux AMI

執行個體存放區

將您的執行個體存放區後端執行個體轉換成 EBS 後端執行個體。如需詳細資訊,請參閱將執行個體儲存體支援的 AMI 轉換為 Amazon EBS 支援的 AMI

(選用) 共享或複製 AMI

若要使用 AMI 來在新的 AWS 帳戶中啟動執行個體,您必須先與新帳戶共享 AMI。如需詳細資訊,請參閱 與指定的 AWS 帳戶共享 AMI

若要使用 AMI 來在不同區域中的 VPC 中啟動執行個體,您必須先將 AMI 複製至該區域。如需詳細資訊,請參閱 複製 AMI

(選用) 在 Amazon EBS 磁碟區上存放您的資料

您可以建立 Amazon EBS 磁碟區,並用它來備份及存放位於您執行個體上的資料 – 就跟您使用實體硬碟的方式一樣。Amazon EBS 磁碟區可和位於相同可用區域中的任何執行個體連接和分離。您可以從您 EC2-Classic 中的執行個體分離磁碟區,然後將它與您在相同可用區域內的 VPC 中啟動的執行個體連接。

如需 Amazon EBS 磁碟區的詳細資訊,請參閱下列主題:

若要備份您 Amazon EBS 磁碟區上的資料,您可以擷取您磁碟區的定期快照。如需詳細資訊,請參閱 建立 Amazon EBS 快照。您也可以視需要從您的快照建立 Amazon EBS 磁碟區。如需詳細資訊,請參閱 從快照建立磁碟區

在您的 VPC 中啟動執行個體

建立 AMI 後,您可以使用 Amazon EC2 啟動執行個體精靈,在您的 VPC 中啟動執行個體。執行個體會具有與您現有的 EC2-Classic 執行個體相同的資料和組態。

注意
New console

在您的 VPC 中啟動執行個體

  1. 請遵循該程序來啟動執行個體

  2. Application and OS Images (Amazon Machine Image) (應用程式和作業系統映像 (Amazon Machine Image)) 下,選擇 My AMIs (我的 AMI),確保選取 Owned by me (我所擁有),然後選取您建立的 AMI。或者,如果您從其他帳戶中共用 AMI,請選擇 Shared with me (與我共用),然後從您的 EC2-Classic 帳戶中選取您共用的 AMI。

  3. Network settings (網路設定) 下,選擇 Edit (編輯) (在右側),接著執行下列動作:

    1. VPC 中選取您的 VPC。

    2. 針對 Subnet (子網),選取所需子網。

    3. Security group name (安全群組名稱) 中,選取您為 VPC 建立的安全群組。

  4. 設定您需要的任何其他詳細資訊,例如執行個體類型和金鑰對。如需有關啟動執行個體精靈中欄位的資訊,請參閱 使用定義的參數啟動執行個體

  5. Summary (摘要) 面板中,檢閱您的執行個體組態,然後選擇 Launch instance (啟動執行個體)。

Old console

在您的 VPC 中啟動執行個體

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在儀表板上,選擇啟動執行個體

  3. Choose an Amazon Machine Image (選擇 Amazon Machine Image) 頁面上,選取 My AMIs (我的 AMI) 分類,然後選取您建立的 AMI。或者,如果您已共享來自其他帳戶的 AMI,請在擁有權篩選清單中選擇已與我共用。從您的 EC2-Classic 帳戶中選取您已共享的 AMI。

  4. Choose an Instance Type (選擇執行個體類型) 頁面上,選取執行個體的類型,然後選擇 Next: Configure Instance Details (下一步:設定執行個體詳細資訊)

  5. Configure Instance Details (設定執行個體詳細資訊) 頁面上,從 Network (網路) 清單中選取您的 VPC。從 Subnet (子網) 清單中選取必要的子網。設定任何其他您需要的詳細資訊,然後繼續通過精靈中的每一頁,直到您抵達設定安全群組頁面。

  6. 選取選取現有群組,然後選取您針對 VPC 建立的安全群組。選擇 Review and Launch (檢閱和啟動)。

  7. 檢閱您的執行個體詳細資訊,然後選擇 Launch (啟動) 以指定金鑰對並啟動您的執行個體。

如需您在精靈的每個步驟中可設定參數的詳細資訊,請參閱使用舊版啟動執行個體精靈啟動執行個體

Amazon RDS 資料庫執行個體

您可以將 EC2-Classic 資料庫執行個體移動至同一個帳戶、同一個區域中的 VPC。如需詳細資訊,請參閱《Amazon RDS 使用者指南》中的更新資料庫執行個體的 VPC

Classic Load Balancer

您可以將 EC2 Classic 中的 Classic Load Balancer 遷移至 VPC 中的 Classic Load Balancer,也可以將 Classic Load Balancer 遷移至 Application Load Balancer 或 Network Load Balancer。如需詳細資訊,請參閱 Elastic Load Balancing 使用者指南中的遷移 Classic Load Balancer

使用 AWSSupport-MigrateEC2ClassicToVPC Runbook

AWSSupport-MigrateEC2ClassicToVPC Runbook 會將 EC2-Classic 執行個體遷移至 VPC。如需詳細資訊,請參閱如何將 EC2-Classic 執行個體遷移至 VPC?

範例:遷移簡易 Web 應用程式

在此範例中,您會使用 AWS 託管您的園藝網站。為了管理您的網站,您在 EC2-Classic 中有三個執行中的執行個體。執行個體 A 和 B 託管您公開的 Web 應用程式,您會使用 Elastic Load Balancing 平衡這些執行個體間流量的負載。您已為執行個體 A 和 B 指派彈性 IP 地址,使得您可透過靜態 IP 地址,對那些執行個體進行組態和管理任務。執行個體 C 則保有您網站的 MySQL 資料庫。您已註冊網域名稱 www.garden.example.com,並已使用 Route 53,以利用與您的負載平衡器的 DNS 名稱相關聯的別名記錄集來建立託管區域。


                EC2-Classic 中的 Web 應用程式

遷移至 VPC 的第一項步驟,就是決定何種 VPC 架構適合您的需求。在此案例中,您已決定下列事項:一個您 Web 伺服器的公有子網,以及一個您資料庫伺服器的私有子網。隨著您的網站逐漸成長,您可以新增更多 Web 伺服器和資料庫伺服器至您的子網。根據預設,私有子網中的執行個體無法存取網際網路;但是,您可以透過公有子網中的網路位置轉譯 (NAT) 裝置啟用網際網路存取。您可能想要設定 NAT 裝置,以支援您的資料庫伺服器從網際網路取得定期更新和修補程式。您會將彈性 IP 地址遷移至 VPC,並在您的公有子網中建立負載平衡器,以平衡您 Web 伺服器間流量的負載。


                VPC 中的 Web 應用程式

若要將您的 Web 應用程式遷移至 VPC,您可以遵循這些步驟:

  • 建立 VPC︰如需詳細資訊,請參閱《Amazon VPC 使用者指南》中的建立 VPC。如需 VPC 架構案例的相關資訊,請參閱《Amazon VPC 使用者指南》中的案例

  • 設定您的安全群組:在您的 EC2-Classic 環境中,您有一個您 Web 伺服器的安全群組,以及一個您資料庫伺服器的安全群組。您可以使用 Amazon EC2 主控台將每個安全群組中的規則複製到您 VPC 的新安全群組。如需詳細資訊,請參閱 安全群組

    提示

    請先建立由其他安全群組參考的安全群組。

  • 建立 AMI 並啟動新執行個體:從您其中一個 Web 伺服器建立 AMI,並從您的資料庫伺服器建立第二個 AMI。接著,在您的公有子網中啟動取代用 Web 伺服器,並在您的私有子網中啟動您的取代用資料庫伺服器。如需詳細資訊,請參閱 建立 AMI

  • 設定您的 NAT 裝置:如果您使用 NAT 執行個體,您必須為其建立允許來自您私有子網 HTTP 和 HTTPS 流量的安全群組。如需詳細資訊,請參閱 NAT 執行個體。若您使用 NAT 閘道,會自動允許來自您私有子網的流量。

  • 設定您的資料庫:當您從 EC2-Classic 中的資料庫伺服器建立 AMI 時,所有存放於該執行個體的組態資訊都會複製至 AMI。您可能必須連線至新資料庫伺服器並更新組態詳細資訊。例如,如果您設定您的資料庫授予您 EC2-Classic 中 Web 伺服器的完整讀取、寫入和修改許可,您必須更新組態檔案,才能授予您新 VPC Web 伺服器相同的許可。

  • 設定您的 Web 伺服器:您的 Web 伺服器會具有與您 EC2-Classic 中執行個體相同的組態設定。例如,若您設定 Web 伺服器使用 EC2-Classic 中的資料庫,請更新您 Web 伺服器的組態設定,使其指向您的新資料庫執行個體。

    注意

    根據預設,在非預設子網中啟動的執行個體不會獲得指派公有 IP 地址,除非您在啟動時另外指定。您新的資料庫伺服器可能不具有公有 IP 地址。在此情況下,您可以更新您 Web 伺服器的組態檔案,使用您新資料庫伺服器的私有 DNS 名稱。位於相同 VPC 中的執行個體可透過私有 IP 地址互相通訊。

  • 遷移您的彈性 IP 地址:從您 EC2-Classic 中的 Web 伺服器解除關聯彈性 IP 地址,然後將它們遷移到 VPC。在您遷移它們之後,您可以將它們與您 VPC 中新的 Web 伺服器建立關聯。如需詳細資訊,請參閱 彈性 IP 地址

  • 建立新負載平衡器:若要繼續使用 Elastic Load Balancing 平衡您執行個體流量的負載,請確認您了解在 VPC 中設定負載平衡器的各種方式。如需詳細資訊,請參閱 Elastic Load Balancing 使用者指南

  • 更新您的 DNS 記錄:在您於您的公有子網中設定您的負載平衡器之後,請確認您的 www.garden.example.com 網域指向您的新負載平衡器。若要執行此作業,請更新您的 DNS 記錄和 Route 53 中的別名記錄集。如需有關使用 Route 53 的詳細資訊,請參閱 Route 53 入門

  • 關閉您的 EC2-Classic 資源:在確認您的 Web 應用程式已在您的 VPC 架構中正常運作後,便可關閉您的 EC2-Classic 資源,以避免其產生費用。