如何將我的 Amazon EBS 快照資料複製到 Amazon S3,並為 S3 中的自訂資料建立 EBS 磁碟區?

2 分的閱讀內容
0

我想將 Amazon Elastic Block Store (Amazon EBS) 快照複製到我的Amazon Simple Storage Service (Amazon S3) 儲存貯體。我也想從儲存在 S3 儲存貯體中的資料建立 Amazon EBS 磁碟區。

簡短描述

當您建立 EBS 快照時,它會自動儲存在 AWS 管理的 Amazon S3 儲存貯體中。您可以將相同 AWS 區域內的快照複製到另一個區域,或從一個區域複製到另一個區域。不過,您無法將快照複製到您管理的 S3 儲存貯體。

若要儲存不常存取的快照,請考慮使用 Amazon EBS 快照存檔。但是,如果您仍然希望使用 Amazon S3 儲存快照,則可以使用下列因應措施。

解決方法

**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤,請確保您使用的是最新版本的 AWS CLI

若要將快照內容複製到 S3 儲存貯體,請從快照建立磁碟區。將磁碟區掛載到 Amazon Elastic Compute Cloud (Amazon EC2) Linux 執行個體。然後,使用 AWS CLI 或 S3 API 將資料複製到您的 S3 儲存貯體。

若要將 EBS 快照的內容複製到 Amazon S3 儲存貯體,請執行下列步驟:

1.    從快照建立 EBS 磁碟區

2.   在與您建立的磁碟區相同的可用區域中啟動 EC2 Linux 執行個體

3.    將磁碟區連接至執行個體

4.    連接至 Linux 執行個體

5.    在您的 Linux 執行個體上安裝 AWS CLI

6.    授予 Amazon EC2 執行個體存取您的 Amazon S3 儲存貯體

7.    執行下列命令,將磁碟區掛載至執行個體:

$ sudo mount /dev/xvdf /mnt

**注意:**裝置 (上述範例中為 /dev/xvdf) 可能會以不同的裝置名稱連接至執行個體。使用 lsblk 命令檢視可用的磁碟裝置及其掛載點,以判斷正確的裝置名稱。

8.    安裝 pv 套件以監控 tar 存檔建立期間的進度:

Amazon Linux 和 Red Hat Enterprise Linux (RHEL) 發行版

$ sudo yum install pv

注意:在安裝適用於 Amazon Linux 和 RHEL 發行版的 pv 套件之前,您必須先開啟 Extra Packages for Enterprise Linux (EPEL) 儲存庫。請參閱如何為執行 CentOS、RHEL 或 Amazon Linux 的 Amazon EC2 執行個體開啟 EPEL 儲存庫?

Ubuntu 和 Debian 型發行版

$ sudo apt install pv

9.    執行下列命令,將 EBS 磁碟區資料複製到 S3 儲存貯體:

$ tar c /mnt | pv -s $(($(du -sk /mnt | awk '{print $1}') \\\* 1024)) | gzip | aws s3 cp - "s3://my-bucket/backup1.tar.gz"

**注意:**將 my-bucket 取代為 S3 儲存貯體的名稱,並將 backup1 取代為您的檔案名稱。

此命令從 /mnt 目錄建立壓縮檔案,並將檔案上傳至名為 my-bucket 的 S3 儲存貯體。

10.   使用 Amazon S3 主控台確認壓縮檔案已上傳至 S3 儲存貯體。

11.    執行下列命令以卸載磁碟區:

$ sudo umount /mnt

12.  將 EBS 磁碟區從 Linux 執行個體分離

13.  刪除磁碟區,然後終止執行個體

相關資訊

複製 Amazon EBS 快照

如何授予我的 Amazon EC2 執行個體存取 Amazon S3 儲存貯體的存取權限?

AWS 官方
AWS 官方已更新 9 個月前