

 AWS Cloud9 不再提供給新客戶。 AWS Cloud9 的現有客戶可以繼續正常使用該服務。[進一步了解](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

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

# 從 AWS Cloud9 Amazon EBS 磁碟區移動 IDE
<a name="move-environment"></a>

您可以將 AWS Cloud9 開發環境從一個 Amazon EC2 執行個體移至另一個執行個體。舉例來說，您也許想要執行下列其中一個動作：
+ 從受損 (或與健康的執行個體相比，以異常的方式執行工作) 的 Amazon EC2 執行個體中移轉環境。
+ 將環境從現有執行個體移轉到具有最新系統更新的執行個體。
+ 由於現有執行個體中的環境不敷使用或使用率過低，而必須增加或減少執行個體的運算資源。

您可以透過遷移到新的 AWS Cloud9 EC2 環境，同時保留專案檔案，從一個 AWS Cloud9 支援的 AMI 升級到另一個 AMI。您可能想要升級至 AMI 的另一個版本，因為：
+ 目前環境的 AMI end-of-life，不再受支援。
+ 您需要的套件在目前的 AMI 中已過期。

您也可以為與環境的 Amazon EC2 執行個體相關聯的 Amazon Elastic Block Store (Amazon EBS) 磁碟區調整大小。舉例來說，您也許想要執行下列其一或全部動作：
+ 由於您即將用光執行個體上的儲存空間，而必須增加磁碟區的大小。
+ 由於您不想為未使用的額外儲存空間支付費用，而必須減少磁碟區的大小。

在移動環境或調整大小之前，您可以嘗試停用環境中部分正在執行的程序，或將置換檔新增至環境。如需詳細了解如何處理記憶體不足或高 CPU 使用率，請參閱[*疑難排解*](troubleshooting.md#troubleshooting-ide-low-memory)。

**注意**  
本主題僅說明如何在不同 Amazon EC2 執行個體之間轉移環境或調整 Amazon EBS 磁碟區的大小。若要從某部自有伺服器調整環境大小，或為某部自有伺服器變更儲存空間，請參閱您伺服器的文件。

最後，您可以將 Amazon EBS 資源加密，藉此為執行個體和連接的 EBS 儲存空間之間的靜態資料和傳輸中資料確保安全性。

## 如何移動環境
<a name="move-environment-move"></a>

在您開始移動程序之前，請注意以下條件：
+ 您無法將環境移至相同類型的 Amazon EC2 執行個體。移動時，您必須為新的執行個體選擇不同的 Amazon EC2 執行個體類型。
**重要**  
如果您將環境移至另一個 Amazon EC2 執行個體類型，目前 AWS Cloud9 也必須支援該執行個體類型 AWS 區域。若要檢查每個區域的可用執行個體類型，請移至[使用主控台建立 EC2 環境](create-environment-main.md#create-environment-console)時顯示的 **Configure settings** (組態設定) 頁面。您在**執行個體類型**區段中的選擇，取決於主控台右上角 AWS 區域 選取的 。
+ 您必須先停止與環境相關聯的 Amazon EC2 執行個體，方可變更執行個體類型。當執行個體停止時，您和任何成員都不能使用與停止的執行個體相關聯的環境。
+ AWS 會將執行個體移至新硬體，但執行個體的 ID 不會變更。
+ 如果執行個體在 Amazon VPC 中執行，且具有公有 IPv4 地址，則 會 AWS 釋出該地址，並為執行個體提供新的公有 IPv4 地址。執行個體會保留其私有 IPv4 地址，以及任何彈性 IP 地址或 IPv6 地址。
+ 請為執行個體停止時的停機時間做好規劃。此程序可能需要幾分鐘時間。

**如何移動環境**

1. (選用) 若新執行個體類型需要的驅動程式並未安裝於現有的執行個體，請連線至您的執行個體並安裝這些驅動程式。如需詳細資訊，請參閱《*Amazon EC2 使用者指南*》中的[調整執行個體大小的相容性](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-resize.html#resize-limitations)。

1. 關閉 Web 瀏覽器中正在顯示環境的所有標籤頁。
**重要**  
如果您未關閉目前顯示環境的所有 Web 瀏覽器索引標籤， AWS Cloud9 可能會干擾完成此程序。具體而言，在此程序中 AWS Cloud9 ， 可能會在錯誤的時間嘗試重新啟動與環境相關聯的 Amazon EC2 執行個體。此執行個體必須保持停止，直到程序中的最後一個步驟。

1. 如果您尚未登入 AWS 管理主控台，請登入 https：//[https://console.aws.amazon.com](https://console.aws.amazon.com/)。

   我們建議您在 中使用管理員層級登入資料來登入 AWS 帳戶。如果您無法執行此操作，請洽詢您的 AWS 帳戶 管理員。

1. 開啟 Amazon EC2 主控台。若要執行此操作，請在 **Services (服務)** 清單中，選擇 **EC2**。

1. 在 AWS 導覽列中，選擇 AWS 區域 包含您要移動之環境的 （例如，**美國東部 （俄亥俄）)**。

1. 在服務導覽窗格中，展開 **Instances** (執行個體)，然後選擇 **Instances** (執行個體)。

1. 在執行個體清單中，選擇與您要移動的環境相關聯的執行個體。如為 EC2 環境，執行個體的名稱會以 `aws-cloud9-` 開頭，其後接著環境的名稱。舉例來說，如果環境名稱為 `my-demo-environment`，執行個體名稱開頭即為 `aws-cloud9-my-demo-environment`。

1. 如果**執行個體狀態**未**停止**，請選擇**動作**、**執行個體狀態**、**停止**。出現提示時，請選擇 **Yes, Stop (是，停止)**。停止執行個體可能需要幾分鐘。

1. 在 **Instance State** (執行個體狀態) 為 **stopped** (停止) 之後，並且該執行個體仍為已選取的情況下，選擇 **Actions** (動作)、**Instance Settings** (執行個體設定)、**Change Instance Type** (變更執行個體類型)。

1. 在 **Change Instance Type** (變更執行個體類型) 對話方塊中為您要使用的環境選擇新的 **Instance Type** (執行個體類型)。
**注意**  
若您想要的執行個體類型並未出現在清單中，表示該類型與您執行個體的組態不相容。例如，執行個體可能由於虛擬化類型而不相容。

1. (選用) 若您選擇的執行個體類型支援 EBS 最佳化，請選取 **EBS-optimized (EBS 最佳化)** 以啟用 EBS 最佳化，或取消選取 **EBS-optimized (EBS 最佳化)** 以停用 EBS 最佳化。
**注意**  
如果您選擇的執行個體類型預設為 EBS 最佳化，則 **EBS-optimized** (EBS 最佳化) 便會處於選取狀態，而且您無法取消選取。

1. 選擇 **Apply (套用)** 以接受新的設定。
**注意**  
如果您先前未在此程序中，為 **Instance Type** (執行個體類型) 選擇不同的執行個體類型，在您選擇 **Apply** (套用) 之後，不會發生任何事情。

1. 重新開啟環境。如需詳細資訊，請參閱[在 中開啟環境 AWS Cloud9](open-environment.md)。

如需上述程序的詳細資訊，請參閱《*Amazon EC2 使用者指南*》中的[變更執行個體類型](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-resize.html)。

## 將 an AWS Cloud9 EC2 環境移至不同的 Amazon Machine Image (AMI)
<a name="moving-ec2-environ-to-ami"></a>

 

本主題說明如何將 AWS Cloud9 EC2 環境從一個 Amazon Linux AMI 遷移到另一個 AWS Cloud9 支援的 AMI。

**注意**  
如果您想要在不更新作業系統版本的情況下將環境移至新的執行個體，請參閱 [如何移動環境](#move-environment-move)。

您可以使用下列其中一個程序，在環境之間遷移資料：

**將封存下載至本機電腦以移動環境**

1. 在具有不同基礎映像的相同可用區域中建立新的環境：

   1. 完成 [建立 EC2 環境](create-environment-main.md)區段中的步驟，以建立新的環境。
**注意**  
選擇**平台**時，請選取您要遷移環境的平台。

   1. 根據預設，環境會以 10 GiB 磁碟區建立。如果您沒有足夠的空間上傳或解壓縮封存至新環境，請完成[為環境使用的 Amazon EBS 磁碟區調整大小](move-environment-resize.md)程序中的步驟來調整 Amazon EBS 磁碟區大小。

1. 在 IDE AWS Cloud9 中開啟您要遷移的環境。

1. 載入 AWS Cloud9 IDE 之後，從功能表中選取**檔案** > **下載專案**，以使用環境專案目錄的內容下載封存。

1. 在新環境中開啟 AWS Cloud9 IDE。

1. 選擇**檔案** > **上傳本機檔案...** 以上傳封存。

1. （選用） 若要將舊`.c9`目錄備份至 `.c9.backup`，請在環境終端機中執行下列命令：

   ```
   cp .c9 .c9.backup
   ```

   如果您想要稍後還原組態檔案，您可能需要這些備份檔案。

1. 若要解壓縮封存，請執行下列命令：

   ```
   tar xzvf <old_environment_name>.tar.gz -C ~/
   ```

1. 若要從專案目錄中刪除封存，請執行下列命令：

   ```
   rm <old_environment_name>.tar.gz
   ```

   確保新環境如預期般運作。

1. 您現在可以刪除舊環境。

**使用 Amazon EBS 磁碟區移動環境**

如果您無法下載封存，或產生的封存太大，您可以使用 Amazon EBS 磁碟區進行遷移。此外，此方法可讓您複製位於 `~/environment`目錄外部的檔案。

1. 關閉在現有環境中開啟的所有 AWS Cloud9 IDE 標籤。

1. 完成下列步驟以停止現有的執行個體：

   1. 在 AWS Cloud9 主控台中，選取要導覽的環境，以檢視其詳細資訊。

   1. 在**環境詳細資訊**頁面的 **EC2 執行個體**索引標籤下，選擇**管理 EC2 執行個體**。

   1. 在 EC2 主控台中，選取要導覽至執行個體詳細資訊的執行個體。

   1. 確定**執行個體狀態**設定為**已停止**。如果沒有，請從**執行個體狀態下拉式清單中選取停止****執行個體**。出現提示時，請選擇**停止**。停止執行個體可能需要幾分鐘。

1. 在具有不同基礎映像的相同可用區域中建立新的環境：

   1. 完成 [建立 EC2 環境](create-environment-main.md)區段中的步驟，以建立新的環境。
**注意**  
選擇**平台**時，請選取您要遷移環境的平台。

   1. 根據預設，環境會以 10 GiB 磁碟區建立。如果您沒有足夠的空間將檔案從來源磁碟區移至新環境，請完成[為環境使用的 Amazon EBS 磁碟區調整大小](move-environment-resize.md)程序中的步驟來調整 Amazon EBS 磁碟區大小。

1. 請完成下列步驟，以從現有執行個體分離磁碟區：

   1. 在**執行個體摘要**頁面上，選擇**儲存**索引標籤，然後選取磁碟區。所選磁碟區的裝置名稱必須與**根裝置詳細資訊**區段的**根裝置名稱**中指定的名稱相同。

   1. 在磁碟區詳細資訊頁面上，選擇**動作** > **分離磁碟區**。

   1. 磁碟區成功分離後，請選擇**動作** > **連接磁碟區**，然後從下拉式清單尋找並選取新環境的執行個體。您選取的 Amazon EC2 執行個體名稱必須包含字首為 AWS Cloud9 的環境名稱`aws-cloud9`。

1. 在新環境中開啟 AWS Cloud9 IDE。

1. 環境載入後，若要識別新連接磁碟區的裝置，請在終端機中執行下列命令：

   ```
   lsblk
   ```

   在下列範例輸出中，`nvme0n1`根裝置的分割區`nvme0n1p1`已掛載，因此也必須掛載`nvme1n1p1`分割區。其裝置的完整路徑為 `/dev/nvme1n1p1`：

   ```
   Admin:~/environment $ lsblk
   NAME          MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
   nvme0n1       259:0    0  10G  0 disk 
   ├─nvme0n1p1   259:2    0  10G  0 part /
   ├─nvme0n1p127 259:3    0   1M  0 part 
   └─nvme0n1p128 259:4    0  10M  0 part /boot/efi
   nvme1n1       259:1    0  10G  0 disk 
   ├─nvme1n1p1   259:5    0  10G  0 part 
   └─nvme1n1p128 259:6    0   1M  0 part
   ```
**注意**  
當您在終端機中執行此命令時，輸出會有所不同。

1. 完成環境終端機中的下列步驟，以掛載現有的磁碟區：

   1. 若要建立要掛載磁碟區分割區的暫存目錄，請執行下列命令：

      ```
      MOUNT_POINT=$(mktemp -d)
      ```

   1. 根據`lsblk`命令的範例輸出，指定要掛載之裝置的下列路徑：

      ```
      MOUNT_DEVICE=/dev/nvme1n1p1
      ```
**注意**  
當您在終端機中執行此命令時，輸出會有所不同。

   1. 若要掛載現有的磁碟區，請執行下列命令：

      ```
      sudo mount $MOUNT_DEVICE $MOUNT_POINT
      ```

   1. 請完成下列步驟，以驗證現有磁碟區是否已正確掛載：

      1. 若要確保磁碟區包含在輸出中，請執行下列命令：

         ```
         df -h
         ```

      1. 若要驗證磁碟區的內容，請執行下列命令：

         ```
         ls $MOUNT_POINT/home/ec2-user/environment/
         ```

1. （選用） 若要將舊`.c9`目錄備份至 `.c9.backup`，請在環境終端機中執行下列命令：

   ```
   cp .c9 .c9.backup
   ```

   如果您想要稍後還原組態檔案，您可能需要這些備份檔案。

1. 若要從現有磁碟區複製舊環境，請執行下列命令：

   ```
   cp -R $MOUNT_POINT/home/ec2-user/environment ~
   ```
**注意**  
如有需要，您也可以使用上述命令，在環境目錄外複製檔案或目錄。

   確保新環境如預期般運作。

1. 若要卸載先前的裝置，請執行下列兩個命令之一：

   ```
   sudo umount $MOUNT_DEVICE
   ```

   ```
   sudo umount $MOUNT_POINT
   ```

1. 從**動作**下拉式清單中選擇**分離磁碟**區，以分離您在**步驟 3 **中連接的磁碟區。

1. 您現在可以刪除舊環境及其磁碟區。
**注意**  
由於磁碟區不再連接至環境的 Amazon EC2 執行個體，因此您需要手動將其移除。您可以在**磁碟區詳細資訊**頁面上選擇**刪除**來執行此操作。