來自某個任務的需求,必須把 EC2 從 A 帳號複製到 B 帳號,這篇是複製過程的筆記,比較適合的讀者是已經對 AWS 的基礎操作有經驗的人士,畢竟 AWS 的服務真的太多,而且每間公司配置的方式各有差異,不太可能涵蓋到全部的情況,因此這裡談的是最簡化的情況,具體操作還是要根據自家的 AWS 配置做變通。

另外要注意的是本文是「複製」,並不是熱移轉,並且是從 A 帳號複製到 B 帳號,而 AWS 的 Elastic IP 並無法做到跨帳號的轉移,因此 IP 必定會變動的。

基礎知識

AWS
Amazon Web Services
亞馬遜雲端服務,全球最大的雲端服務商。
EC2
Elastic Compute Cloud
AWS 最主要的雲端主機租用服務。
EBS
Elastic Block Storage
搭配 EC2 使用的儲存體服務。
EBS Volume
卷,可以簡單的理解為硬碟。
EBS Snapshot
卷的快照,一般是做為備份用。
AMI
Amazon Machine Image
EC2 開立機台時的映像檔,EC2 是不用自己裝系統的,都是用現有的映像檔生成機台,映像檔可以用 AWS 提供的,也可以拿自己的快照再產生自有的映像檔。
Elastic IP
靜態 IP,在 EC2 開立機台會配一個公開 IP,但每次重開機都會變動,如果要靜態 IP 需要在 Elastic IP 頁面申請,並附掛到一台 EC2 身上。
AWS Region
AWS 全球各地的機房,不同區域提供的服務可能略有差異,不同區域間開立的資源通常也不能直接調動,不同區域間的費率也略有差異。

A 帳號流程

在 A 帳號,先把 EC2 的 EBS 做個快照,修改快照權限,填入 B 帳號 ID:

AWS EBS 快照權限

權限對話框的「公有/私有」請選「私有」,若是「公有」會公開分享到公共區,其他的 AWS 用戶也會看到喔。

帳號的 ID 可以在 AWS 控制台右上角的下拉選單內找到:

AWS 帳號 ID

A 帳號把快照分享給 B 帳號後,A 帳號的部分就完工了。

B 帳號流程

進入 B 帳號的快照區,並切換到「私有快照」,應該就可以看到剛剛 A 帳號分享出來的快照:

AWS EBS 快照

接下來要用這份快照開新機器,但這分快照是來自 A 的分享,並無法用它做 AMI,因此先用這份快照還原一份卷(volume),再用卷作一次快照,這樣做出來的新快照就會是屬於 B 帳號的。

有了新快照就可以拿它做 AMI:

AWS 根據 EBS 快照創建映像

創建映像對話框內的選項應該都不用動,只要填入名稱就可以產出一份 AMI:

AWS AMI

有了這份 AMI,就可以用它來開新的 EC2 機器了!

注意事項

上面的流程是同區域的操作,如果要做跨區複製,可能要額外的步驟。