

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

# 在 Snowball Edge 上使用與 Amazon EC2-compatible運算執行個體
<a name="using-ec2"></a>

您可以使用 `sbe1`、 `sbe-c`和 執行個體類型，在 Snowball Edge 上執行託管的 Amazon EC2-compatible運算`sbe-g`執行個體。`sbe1` 執行個體類型適用於具有 Snowball Edge Storage Optimized 選項的裝置。`sbe-c` 執行個體類型適用於具有 Snowball Edge Compute Optimized 選項的裝置。如需支援的執行個體類型清單，請參閱 [Snowball Edge 裝置上的運算執行個體配額](ec2-edge-limits.md)。

支援在 Snowball Edge 裝置選項上使用的這三種運算執行個體類型，對 Snowball Edge 裝置是唯一的。就像與他們對應的雲端執行個體一樣，這些執行個體需要 Amazon Machine Image (AMI) 才能啟動。在建立 Snowball Edge 任務之前，您可以選擇 AMI 做為雲端執行個體的基礎映像。

若要在 Snowball Edge 上使用運算執行個體，請建立任務來訂購 Snowball Edge 裝置並指定您的 AMIs。您可以使用 [AWS Snow 系列管理主控台](https://console.aws.amazon.com/snowfamily/home)、 AWS CLI或其中一個 AWS SDKs來執行此操作。通常，在建立任務前，有一些需在內部完成的先決條件，才能使用執行個體。

在您的裝置送達之後，您就可以開始管理 AMI 和執行個體。您可以透過與 Amazon EC2-compatible端點，在 Snowball Edge 上管理運算執行個體。此端點類型支援 SDKs 的許多 EC2-compatible CLI 命令和動作 AWS 。您無法在 Snowball Edge AWS 管理主控台 上使用 來管理您的 AMIs和運算執行個體。

當您使用完裝置時，請將其傳回給 AWS。如果在匯入任務中使用裝置，則使用 Amazon S3 轉接器或 NFS 界面傳輸的資料會匯入 Amazon S3。否則，我們會在裝置送回時執行裝置的完整清除 AWS。此清除遵循國家標準技術研究所 (NIST) 800-88 標準。

**重要**  
不支援在 Snowball Edge 裝置上使用加密AMIs。
在 Snowball Edge 上執行的運算執行個體中的資料不會匯入 AWS。

**Topics**
+ [Snowball Edge 上的 Amazon EC2 和 Amazon EC2-compatible執行個體之間的差異](#ec2-compatible-sbe)
+ [Snowball Edge 上的運算執行個體定價](#pricing-for-ec2-edge)
+ [在 Snowball Edge 上使用與 Amazon EC2-compatible AMI](using-ami.md)
+ [將虛擬機器映像匯入 Snowball Edge 裝置](ec2-ami-import-cli.md)
+ [在 Snowball Edge 裝置上使用 AWS CLI 和 API 操作](using-ec2-cli-specify-region.md)
+ [Snowball Edge 上運算執行個體的網路組態](network-config-ec2.md)
+ [使用 SSH 連線到 Snowball Edge 上的運算執行個體](ssh-ec2-edge.md)
+ [將資料從 EC2-compatible運算執行個體傳輸到相同 Snowball Edge 上的 S3 儲存貯體](data-transfer-ec2-s3-edge.md)
+ [自動啟動 EC2-compatible執行個體](using-ec2-edge-client.md)
+ [在 Snowball Edge 上使用 EC2-compatible端點](using-ec2-endpoint.md)
+ [在 Snowball Edge 上使用啟動範本自動啟動 EC2-compatible執行個體](ec2-autostart.md)
+ [在 Snowball Edge 上使用 Instance Metadata Service for Snow 搭配與 Amazon EC2-compatible執行個體](imds.md)
+ [搭配 Snowball Edge 上的 Amazon EC2-compatible執行個體使用區塊儲存](edge-ebs.md)
+ [使用 Snowball Edge 上的安全群組控制網路流量](edge-security-groups.md)
+ [Snowball Edge 上支援的 EC2-compatible執行個體中繼資料和使用者資料](edge-compute-instance-metadata.md)
+ [停止在 Snowball Edge 上執行的 EC2-compatible執行個體](#managing-ec2-instances)

## Snowball Edge 上的 Amazon EC2 和 Amazon EC2-compatible執行個體之間的差異
<a name="ec2-compatible-sbe"></a>

AWS Snowball Edge EC2-compatible執行個體可讓客戶使用 EC2 APIs 子集和 AMIs 子集來使用和管理 Amazon EC2 EC2-compatible執行個體。

## Snowball Edge 上的運算執行個體定價
<a name="pricing-for-ec2-edge"></a>

使用運算執行個體需負擔額外費用。如需詳細資訊，請參閱[AWS Snowball 邊緣 定價](https://aws.amazon.com/snowball-edge/pricing)。

# 在 Snowball Edge 上使用與 Amazon EC2-compatible AMI
<a name="using-ami"></a>

若要在 AWS Snowball Edge 裝置上使用 Amazon Machine Image (AMI)，您必須先將其新增至裝置。您可以透過下列方式新增 AMI：
+ 訂購裝置時上傳 AMI。
+ 當裝置送達您的站點時新增 AMI。

隨附於 Snowball Edge 的 Amazon EC2 運算執行個體會根據您新增至裝置的 Amazon EC2 AMIs 啟動。Amazon EC2-compatible AMIs支援 Linux 和 Microsoft Windows 作業系統。

**Linux**  
支援下列 Linux 作業系統：
+ [適用於 Snowball Edge 的 Amazon Linux 2](https://aws.amazon.com/marketplace/pp/B08Q76DLTM/             )
**注意**  
此 AMI 的最新版本會在 Snowball Edge 準備運送時提供 AWS。若要在接收裝置時判斷此 AMI 的版本，請參閱 [判斷適用於 Snowball Edge 的 Amazon Linux 2 AMI 版本](#snow-al-version)。
+ [CentOS 7 (x86\$164) - 含更新 HVM](https://aws.amazon.com/marketplace/pp/B00O7WM7QW)
+ Ubuntu 16.04 LTS - Xenial (HVM)
**注意**  
不再支援 Ubuntu 16.04 LTS - Xenial (HVM) 映像 AWS Marketplace，但仍支援透過 Amazon EC2 VM Import/Export 在 Snowball Edge 裝置上使用，並在 AMIs 中於本機執行。
+ [Ubuntu 20.04 LTS - 焦點](https://aws.amazon.com/marketplace/pp/prodview-iftkyuwv2sjxi)
+ [Ubuntu 22.04 LTS - Jammy](https://aws.amazon.com/marketplace/pp/prodview-f2if34z3a4e3i)

作為安全性的最佳實務，在發行新的 Amazon Linux 2 AMIs 時，在 Snowball Edge 上讓您的 Amazon Linux 2 AMIs 保持up-to-date狀態。請參閱 [在 Snowball Edge 上更新您的 Amazon Linux 2 AMIs](update-ami.md)。

**Windows**  
支援下列 Windows 作業系統：
+ Windows Server 2012 R2
+ Windows Server 2016
+ Windows Server 2019

您可以使用 VM Import/Export 將 Windows 虛擬機器 (VM) 映像匯入 ，將 Windows AMIs AWS 新增至您的裝置。或者，您可以在裝置部署到網站之後，立即將映像匯入您的裝置。如需詳細資訊，請參閱[將 Microsoft Windows AMI 新增至 Snowball Edge](#windows-ami)。

**注意**  
源自 AMIs AWS 無法新增至您的裝置。  
本機匯入AMIs 必須處於 BIOS 開機模式，因為不支援 UEFI。

 Snowball Edge 支援自攜授權 (BYOL) 模型。如需詳細資訊，請參閱[將 Microsoft Windows AMI 新增至 Snowball Edge](#windows-ami)。

**注意**  
AWS Snowball Edge EC2-compatible執行個體可讓客戶使用 EC2 APIs 子集和 AMIs 子集來使用和管理 Amazon EC2 EC2-compatible執行個體。

**Topics**
+ [在建立任務以訂購 Snowball Edge 時新增 AMI](#add-ami-order)
+ [從 將 AMI AWS Marketplace 新增至 Snowball Edge](#add-marketplace-ami)
+ [在收到裝置後將 AMI 新增至 Snowball Edge](#add-ami-locally)
+ [將 Microsoft Windows AMI 新增至 Snowball Edge](#windows-ami)
+ [將 VM 映像匯入 Snowball Edge](#import-vm-image)
+ [匯出 Snowball Edge 的最新 Amazon Linux 2 AMI](#export-latest-al2-ami)

## 在建立任務以訂購 Snowball Edge 時新增 AMI
<a name="add-ami-order"></a>

訂購裝置時，您可以在**使用 EC2 執行個體的運算 - 中的選用**區段中選擇 AMIs 新增至裝置 AWS Snow 系列管理主控台。**使用 EC2 執行個體的運算 - 選用**列出可載入裝置的所有 AMIs。AMIs 分為下列類別：
+ Marketplace **AMIs AWS ** — 這些是從支援的 AMIs 清單中建立的 AMIs。如需從 AWS Marketplace 支援的 AMI 建立 AMIs 的相關資訊，請參閱 [從 將 AMI AWS Marketplace 新增至 Snowball Edge](#add-marketplace-ami)。
+ **使用 VM Import/Export 上傳AMIs ** — 當您訂購裝置時，使用 VM Import/Export 上傳的 AMIs 會列在主控台中。如需詳細資訊，請參閱*VM Import/Export 使用者指南*中的[使用 VM 匯入/匯出將 VM 匯入為映像](https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html)。如需有關支援的虛擬化環境的資訊，請參閱 [VM Import/Export Requirements](https://docs.aws.amazon.com/vm-import/latest/userguide/vmie_prereqs.html)。

## 從 將 AMI AWS Marketplace 新增至 Snowball Edge
<a name="add-marketplace-ami"></a>

您可以從 AWS Marketplace 將許多 AMIs 新增至 Snowball Edge 裝置，方法是啟動 AWS Marketplace 執行個體、從中建立 AMI，以及將 AMI 設定在您要從中訂購 Snow 裝置的相同區域中。然後，您可以在建立任務以訂購裝置時，選擇在裝置上包含 AMI。從 Marketplace 選擇 AMI 時，請確定它具有支援的產品代碼和平台。

**Topics**
+ [檢查 Snowball Edge 的 AWS Marketplace AMIs 產品代碼和平台詳細資訊](#check-marketplace-ami-codes-snb)
+ [判斷適用於 Snowball Edge 的 Amazon Linux 2 AMI 版本](#snow-al-version)
+ [設定 Snowball Edge 裝置的 AMI](#configure-ami-snow-device)

### 檢查 Snowball Edge 的 AWS Marketplace AMIs 產品代碼和平台詳細資訊
<a name="check-marketplace-ami-codes-snb"></a>

開始將 AMI 從 新增至 AWS Marketplace Snowball Edge 裝置的程序之前，請確定您的 中支援 AMI 的產品碼和平台詳細資訊 AWS 區域。

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 從導覽列中，選取要啟動執行個體的 區域，以及您要從中建立任務以訂購 Snowball Edge 裝置的區域。您可以選取任何可供您使用的區域，無論您的位置為何。

1. 在導覽窗格中，選擇 **AMIs**。

1. 使用篩選條件和搜尋選項來限定顯示的 AMIs 清單範圍，只查看符合您條件AMIs。例如，由 提供的 AMIs AWS Marketplace，請選擇**公有映像**。然後使用搜尋選項來進一步範圍顯示 AMIs的清單：
   + （新主控台） 選擇**搜尋**列，然後從功能表中選擇**擁有者別名**，然後選擇 = 運算子，然後選擇 **amazon** 值。
   + (舊主控台) 選擇 **Search** (搜尋) 列，然後從選單中依序選擇 **Owner** (擁有者) 和值 **Amazon images** (Amazon 映像)。
**注意**  
來源****欄中 AWS Marketplace 包含 **aws-marketplace** 的 AMIs。

1. 在 **AMI ID** 欄中，選擇 AMI 的 AMI ID。

1. 在 AMI **的影像摘要**中，請確定您的區域支援**產品代碼**。如需詳細資訊，請參閱下表。  
**支援的 AWS Marketplace AMI 產品代碼**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/snowball/latest/developer-guide/using-ami.html)

1. 然後，也請確定**平台詳細資訊**包含以下清單中的其中一個項目。
   + Amazon Linux、Ubuntu 或 Debian
   + Red Hat Linux bring-your-own-license
   + Amazon RDS for Oracle bring-your-own-license
   + Windows bring-your-own-license

### 判斷適用於 Snowball Edge 的 Amazon Linux 2 AMI 版本
<a name="snow-al-version"></a>

使用下列程序來判斷 Snowball Edge 上適用於 Snowball Edge 的 Amazon Linux 2 AMI 版本。請先安裝最新版本的 ， AWS CLI 再繼續。如需詳細資訊，請參閱 AWS Command Line Interface 《 使用者指南》中的[安裝或更新至最新版本的 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) 。
+ 使用 `describe-images` AWS CLI 命令來查看 AMI 的描述。版本包含在描述中。提供上一個步驟的公有金鑰憑證。如需詳細資訊，請參閱《 AWS CLI 命令參考》中的 [describe-images](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-images.html)。

  ```
  aws ec2 describe-images --endpoint http://snow-device-ip:8008 --region snow                    
  ```  
**Example `describe-images` 命令的輸出**  

  ```
  {
      "Images": [
          {
              "CreationDate": "2024-02-12T23:24:45.705Z",
              "ImageId": "s.ami-02ba84cb87224e16e",
              "Public": false,
              "ProductCodes": [
                  {
                      "ProductCodeId": "avyfzznywektkgl5qv5f57ska",
                      "ProductCodeType": "marketplace"
                  }
              ],
              "State": "AVAILABLE",
              "BlockDeviceMappings": [
                  {
                      "DeviceName": "/dev/xvda",
                      "Ebs": {
                          "DeleteOnTermination": true,
                          "Iops": 0,
                          "SnapshotId": "s.snap-0efb49f2f726fde63",
                          "VolumeSize": 8,
                          "VolumeType": "sbp1"
                      }
                  }
              ],
              "Description": "Snow Family Amazon Linux 2 AMI 2.0.20240131.0 x86_64 HVM gp2",
              "EnaSupport": false,
              "Name": "amzn2-ami-snow-family-hvm-2.0.20240131.0-x86_64-gp2-b7e7f8d2-1b9e-4774-a374-120e0cd85d5a",
              "RootDeviceName": "/dev/xvda"
          }
      ]
  }
  ```

  在此範例中，適用於 Snowball Edge 的 Amazon Linux 2 AMI 版本為 `2.0.20240131.0`。它在`Description`名稱的值中找到。

### 設定 Snowball Edge 裝置的 AMI
<a name="configure-ami-snow-device"></a>

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在 中啟動支援 AMI 的新執行個體 AWS Marketplace。
**注意**  
當您啟動執行個體時，請確定指派給執行個體的儲存體大小適合您的使用案例。在 Amazon EC2 主控台中，您可以在**新增儲存**步驟中執行此操作。

1. 安裝和設定您要在 Snowball Edge 上執行的應用程式，並確保它們如預期般運作。
**重要**  
僅支援單一磁碟區 AMIs。
AMI 中的 EBS 磁碟區應為 10 TB 或更少。建議您佈建 AMI 中資料所需的 EBS 磁碟區大小。這將有助於減少匯出 AMI 並將其載入裝置所需的時間。在裝置部署之後，您可以調整大小或將更多磁碟區新增至執行個體。
AMI 中的 EBS 快照不得加密。

1. 複製您在建立此執行個體時用於 SSH 金鑰對的 PEM 或 PPK 檔案。將此檔案儲存至您計劃用來與 Snowball Edge 裝置通訊的伺服器。請記下此檔案的路徑，因為當您使用 SSH 連線到裝置上的 EC2-compatible執行個體時，會需要此檔案。
**重要**  
如果您未遵循此程序，當您收到 Snowball Edge 裝置時，無法使用 SSH 連線至執行個體。

1. 將執行個體儲存做為 AMI。如需詳細資訊，請參閱《[Amazon EC2 使用者指南》中的適用於 Linux 執行個體的](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html) *Amazon EC2 使用者指南。*

1. 針對您要使用 SSH 連線的每個執行個體重複步驟 1–4。請務必複製每個 SSH 金鑰對，並追蹤它們相關聯的 AMIs。

1. 現在，當您訂購裝置時，這些 AMIs 可以新增到您的裝置。

## 在收到裝置後將 AMI 新增至 Snowball Edge
<a name="add-ami-locally"></a>

當裝置送達您的網站時，您可以將新的 AMIs 新增至該網站。如需說明，請參閱[將虛擬機器映像匯入 Snowball Edge 裝置](ec2-ami-import-cli.md)。請記住，雖然支援所有 VMs，但只有支援的 AMIs 已經過完整功能測試。

**注意**  
當您使用 VM Import/Export 將 AMIs 新增至您的裝置，或在裝置部署後匯入 VM 時，您可以新增使用任何作業系統VMs。不過，只有支援的作業系統已在 Snowball Edge 上經過測試和驗證。您有責任遵守您匯入裝置之虛擬映像中任何作業系統或軟體的條款與條件。  
若要讓 AWS 服務在 Snowball Edge 上正常運作，您必須允許服務的連接埠。如需詳細資訊，請參閱[Snowball Edge 上 AWS 服務的連接埠需求](port-requirements.md)。

## 將 Microsoft Windows AMI 新增至 Snowball Edge
<a name="windows-ami"></a>

對於使用支援的 Windows 作業系統的虛擬機器 (VMs)，您可以透過 AWS 使用 VM Import/Export 將 Windows VM 映像匯入至 ，或在部署至網站後直接將其匯入至您的裝置，來新增 AMI。

**使用自有授權 (BYOL)**  
Snowball Edge 支援使用您自己的授權將 Microsoft Windows AMIs 匯入您的裝置。Bring Your Own License (BYOL) 是將具有現場部署授權的 AMI 帶到 的程序 AWS。 為 BYOL 選項 AWS 提供共用和專用部署選項。

 您可以使用 VM AWS Import/Export 將 Windows VM 映像匯入至您的裝置，或在裝置部署至您的網站後直接匯入至您的裝置。您無法新增源自 AMIs AWS。因此，如果您想要在 Snowball Edge 裝置上使用 AMI，您必須建立和匯入自己的 Windows VM 映像，並攜帶自己的授權。如需 Windows 授權和 BYOL 的詳細資訊，請參閱 [Amazon Web Services 和 Microsoft：常見問答集](https://aws.amazon.com/windows/faq/)。

### 建立 Windows VM 映像以匯入 Snowball Edge
<a name="create-windows-image"></a>

若要建立 Windows VM 映像，您需要虛擬化環境，例如支援 Windows 和 macOS 作業系統的 VirtualBox。當您為 Snow 裝置建立 VM 時，我們建議您配置至少兩個核心，其中至少包含 4 GB 的 RAM。當 VM 啟動並執行時，您必須安裝作業系統 (Windows Server 2012、2016 或 2019)。若要安裝 Snowball Edge 裝置所需的驅動程式，請遵循本節中的指示。

若要在 Snow 裝置上執行 Windows AMI，您必須新增 VirtIO、FLR、NetVCM、Vioinput、Viorng、Vioscsi、Visoserial 和 VioStor 驅動程式。您可以[下載 Microsoft 軟體安裝程式 (virtio-win-guest-tools-installer)](https://github.com/virtio-win/virtio-win-pkg-scripts)，以便在 GitHub 的 virtio-win-pkg-scripts 儲存庫的 Windows 映像上安裝這些驅動程式。

**注意**  
如果您打算將 VM 映像直接匯入已部署的 Snow 裝置，VM 映像檔案必須為 RAW 格式。

**建立 Windows 映像**

1. 在 Microsoft Windows 電腦上，選擇**開始**並輸入 **devmgmt.msc**以開啟 **Device Manager**。

1. 在主功能表中，選擇**動作**，然後選擇**新增舊版硬體**。
**注意**  
對於 Windows 11，請先選取以下面板中的任何裝置，然後**新增舊版硬體**選項才會出現在**動作**功能表中。

1. 在精靈中，選擇**下一步**。

1. 選擇**安裝我從清單手動選取的硬體 （進階）**，然後選擇**下一步**。

1. 選擇**顯示所有裝置**，然後選擇**下一步**。

1. 選擇**擁有磁碟**，從清單中開啟**複製製造商的檔案**，然後瀏覽至 ISO 檔案。

1. 在 ISO 檔案中，瀏覽至 `Driver\W2K8R2\amd64`目錄，然後尋找 `.INF` 檔案。

1. 選擇 **.INF** 檔案，選擇**開啟**，然後選擇**確定**。

1. 當您看到驅動程式名稱時，請選擇**下一步**，然後再次選擇**下一步**。然後選擇 **Finish (完成)**。

   這會使用新的驅動程式安裝裝置。實際硬體不存在，因此您會看到黃色驚嘆號，指出裝置上的問題。您必須修正此問題。

**修正硬體問題**

1. 開啟具有驚嘆號之裝置的內容 （按一下滑鼠右鍵） 選單。

1. 選擇**解除安裝**，清除**刪除此裝置的驅動程式軟體**，然後選擇**確定**。

   驅動程式已安裝，您已準備好在裝置上啟動 AMI。

## 將 VM 映像匯入 Snowball Edge
<a name="import-vm-image"></a>

準備 VM 映像之後，您可以使用其中一個選項，將映像匯入您的裝置。
+ **使用 VM Import/Export 在雲端中** — 當您將 VM 映像匯入 AWS 並註冊為 AMI 時，您可以在從 下訂單時將其新增至您的裝置 AWS Snow 系列管理主控台。如需詳細資訊，請參閱*VM Import/Export 使用者指南*中的[使用 VM 匯入/匯出將 VM 匯入為映像](https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html)。
+ **在現場部署的裝置上本機 **- 您可以使用 AWS OpsHub 或 AWS Command Line Interface () 將 VM 映像直接匯入您的裝置AWS CLI。

  如需使用 的詳細資訊 AWS OpsHub，請參閱[在本機使用與 Amazon EC2-compatible運算執行個體](https://docs.aws.amazon.com/snowball/latest/developer-guide/manage-ec2.html)。

  如需使用 的詳細資訊 AWS CLI，請參閱 [將虛擬機器映像匯入 Snowball Edge 裝置](ec2-ami-import-cli.md)。

## 匯出 Snowball Edge 的最新 Amazon Linux 2 AMI
<a name="export-latest-al2-ami"></a>

若要將您的 Amazon Linux 2 AMIs 更新為最新版本，請先從 匯出最新的 Amazon Linux 2 VM 映像 AWS Marketplace，然後將該 VM 映像匯入 Snow 裝置。

1. 使用 `ssm get-parameters` AWS CLI 命令在 中尋找 Amazon Linux 2 AMI 的最新映像 ID AWS Marketplace。

   ```
     aws ssm get-parameters --names /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2 --query 'Parameters[0].[Value]' --region your-region                
   ```

   命令會傳回 AMI 的最新映像 ID。例如 `ami-0ccb473bada910e74`。

1. 匯出最新的 Amazon Linux 2 映像。請參閱《[Amazon EC2 使用者指南》中的直接從 Amazon Machine Image (AMI) 匯出 VM](https://docs.aws.amazon.com/vm-import/latest/userguide/vmexport_image.html)。 Amazon EC2 使用 Amazon Linux 2 AMI 的最新映像 ID 做為 `ec2 export-image`命令的 `image-id` 參數值。

1. 使用 AWS CLI 或 將 VM 映像匯入 Snow 裝置 AWS OpsHub。
   + 如需使用 的詳細資訊 AWS CLI，請參閱 [將虛擬機器映像匯入 Snowball Edge 裝置](ec2-ami-import-cli.md)。
   + 如需使用 的詳細資訊 AWS OpsHub，請參閱 [使用 將映像匯入為與 Amazon EC2-compatible AMI AWS OpsHub](ec2-ami-import.md)。

# 將虛擬機器映像匯入 Snowball Edge 裝置
<a name="ec2-ami-import-cli"></a>

您可以使用 AWS CLI 和 VM Import/Export 服務，將虛擬機器 (VM) 映像匯入 Snowball Edge 裝置，做為 Amazon Machine Image (AMI)。匯入 VM 映像之後，請將映像註冊為 AMI，並將其啟動為與 Amazon EC2-compatible執行個體。

您可以在建立任務以訂購 Snowball Edge 裝置時，從 Amazon EC2 將 AMIs 新增至裝置。收到 Snowball Edge 裝置後，請使用此程序。如需詳細資訊，請參閱[選擇您的運算和儲存選項](create-job-common.md#compute-storage)。

您也可以使用 AWS OpsHub 上傳 VM 映像檔案。如需詳細資訊，請參閱本指南中的[將映像匯入您的裝置做為與 Amazon EC2-compatible AMI](https://docs.aws.amazon.com/snowball/latest/developer-guide/manage-ec2.html#ec2-ami-import)。

**Topics**
+ [步驟 1：準備 VM 映像並將其上傳至 Snowball Edge 裝置](#prepare-image-cli)
+ [步驟 2：在 Snowball Edge 上設定必要的許可](#setup-permission-cli)
+ [步驟 3：匯入 VM 映像做為 Snowball Edge 上的快照](#import-snapshot-cli)
+ [步驟 4：將快照註冊為 Snowball Edge 上的 AMI](#register-snapshot-cli)
+ [步驟 5：從 Snowball Edge 上的 AMI 啟動執行個體](#launch-ami-cli)
+ [Snowball Edge 的其他 AMI 動作](#additional-ami-actions)

## 步驟 1：準備 VM 映像並將其上傳至 Snowball Edge 裝置
<a name="prepare-image-cli"></a>

 AWS 雲端 使用 VM Import/Export 從 中的 Amazon EC2 AMI 或執行個體匯出 VM 映像，或使用您選擇的虛擬化平台在本機產生 VM 映像，以準備 VM 映像。

若要使用 VM Import/Export 將 Amazon EC2 執行個體匯出為 VM 映像，請參閱《[VM Import/Export 使用者指南》中的使用 VM Import/Export 將執行個體匯出為](https://docs.aws.amazon.com/vm-import/latest/userguide/vmexport.html) VM。若要使用 VM Import/Export 將 Amazon EC2 AMI 匯出為 VM 映像，請參閱[《VM Import/Export 使用者指南》中的直接從 Amazon Machine Image (AMI)](https://docs.aws.amazon.com/vm-import/latest/userguide/vmexport_image.html) 匯出 VM。

如果從本機環境產生 VM 映像，請確保映像已設定為在 Snowball Edge 裝置上用作 AMI。視您的環境而定，您可能需要設定下列項目。
+ 設定和更新作業系統。
+ 設定主機名稱。
+ 確保已設定網路時間通訊協定 (NTP)。
+ 如有必要，請包含 SSH 公有金鑰。製作金鑰對的本機副本。如需詳細資訊，請參閱[使用 SSH 連線到 Snowball Edge 上的運算執行個體](https://docs.aws.amazon.com/snowball/latest/developer-guide/ssh-ec2-edge.html)。
+ 安裝和設定您將在 Snowball Edge 裝置上使用的任何軟體。

**注意**  
為 Snowball Edge 裝置準備磁碟快照時，請注意下列限制。  
Snowball Edge 目前僅支援匯入 RAW 映像格式的快照。
Snowball Edge 目前僅支援匯入大小從 1 GB 到 1 TB 的快照。

### 將 VM 映像上傳至 Snowball Edge 裝置上的 Amazon S3 儲存貯體
<a name="upload-images-to-your-device"></a>

準備 VM 映像後，將其上傳至 Snowball Edge 裝置或叢集上的 S3 儲存貯體。您可以使用 S3 Edge 上的 S3 轉接器或 Amazon S3 相容儲存來上傳快照。

**使用 S3 轉接器上傳虛擬機器映像**
+ 使用 `cp`命令將 VM 映像檔案複製到裝置上的儲存貯體。

  ```
  aws s3 cp image-path s3://S3-bucket-name --endpoint http://S3-object-API-endpoint:443 --profile profile-name
  ```

  如需詳細資訊，請參閱本指南中[支援的 AWS CLI 命令](https://docs.aws.amazon.com/snowball/latest/developer-guide/using-adapter-cli.html)。

**在 Snowball Edge 上使用 Amazon S3 相容儲存上傳 VM 映像**
+ 使用 `put-object`命令將快照檔案複製到裝置上的儲存貯體。

  ```
  aws s3api put-object --bucket bucket-name --key path-to-snapshot-file --body snapshot-file --endpoint-url s3api-endpoint-ip --profile your-profile       
  ```

  如需詳細資訊，請參閱[在 Snowball Edge 裝置上使用 S3 物件](https://docs.aws.amazon.com/snowball/latest/developer-guide/objects-s3-snow.html)。

## 步驟 2：在 Snowball Edge 上設定必要的許可
<a name="setup-permission-cli"></a>

若要讓匯入成功，您必須在 Snowball Edge 裝置、Amazon EC2 和 使用者上設定 VM Import/Export 的許可。

**注意**  
提供這些許可的服務角色和政策位於 Snowball Edge 裝置上。

### Snowball Edge 上的 VM Import/Export 所需的許可
<a name="vmie-permissions"></a>

在開始匯入程序之前，您必須建立具有信任政策的 IAM 角色，允許 Snowball Edge 裝置上的 VM Import/Export 擔任該角色。角色會獲得其他許可，以允許裝置上的 VM Import/Export 存取存放在裝置上的 S3 儲存貯體中的映像。

**建立信任政策 json 檔案**

以下是連接到角色所需的信任政策範例，以便 VM Import/Export 可以存取需要從 S3 儲存貯體匯入的快照。

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",
   "Statement":[
      {
         "Effect":"Allow",
         "Principal":{
            "Service":"vmie.amazonaws.com"
         },
         "Action":"sts:AssumeRole"
      }
   ]
}
```

------

**使用信任政策 json 檔案建立角色**

角色名稱可以是 vmimport。您可以使用 命令中的 --role-name 選項進行變更：

```
aws iam create-role --role-name role-name --assume-role-policy-document file:///trust-policy-json-path --endpoint http://snowball-ip:6078 --region snow  --profile profile-name
```

以下是來自 `create-role`命令的範例輸出。

```
{
   "Role":{
      "AssumeRolePolicyDocument":{
         "Version":"2012-10-17",
         "Statement":[
            {
               "Action":"sts:AssumeRole",
               "Effect":"Allow",
               "Principal":{
                  "Service":"vmie.amazonaws.com"
               }
            }
         ]
      },
      "MaxSessionDuration":3600,
      "RoleId":"AROACEMGEZDGNBVGY3TQOJQGEZAAAABQBB6NSGNAAAABPSVLTREPY3FPAFOLKJ3",
      "CreateDate":"2022-04-19T22:17:19.823Z",
      "RoleName":"vmimport",
      "Path":"/",
      "Arn":"arn:aws:iam::123456789012:role/vmimport"
   }
}
```

**建立角色的政策**

下列範例政策具有存取 Amazon S3 所需的最低許可。將 Amazon S3 儲存貯體名稱變更為具有映像的名稱。對於獨立的 Snowball Edge 裝置，請將 *snow-id* 變更為您的任務 ID。對於裝置叢集，將 *snow-id* 變更為叢集 ID。您也可以使用字首進一步縮小 VM Import/Export 可從中匯入快照的位置。像這樣建立政策 json 檔案。

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "s3:GetBucketLocation",
            "s3:GetObject",
            "s3:ListBucket",
            "s3:GetMetadata"
         ],
         "Resource":[
            "arn:aws:s3:snow:account-id:snow/snow-id/bucket/import-snapshot-bucket-name",
            "arn:aws:s3:snow:account-id:snow/snow-id/bucket/import-snapshot-bucket-name/*"
            ]
      }
   ]
}
```

------

**使用政策檔案建立政策：**

```
aws iam create-policy --policy-name policy-name --policy-document file:///policy-json-file-path --endpoint http://snowball-ip:6078 --region snow --profile profile-name
```

以下是 create-policy 命令的輸出範例。

```
{
   "Policy":{
      "PolicyName":"vmimport-resource-policy",
      "PolicyId":"ANPACEMGEZDGNBVGY3TQOJQGEZAAAABOOEE3IIHAAAABWZJPI2VW4UUTFEDBC2R",
      "Arn":"arn:aws:iam::123456789012:policy/vmimport-resource-policy",
      "Path":"/",
      "DefaultVersionId":"v1",
      "AttachmentCount":0,
      "IsAttachable":true,
      "CreateDate":"2020-07-25T23:27:35.690000+00:00",
      "UpdateDate":"2020-07-25T23:27:35.690000+00:00"
   }
}
```

****將政策連接至角色****

將政策連接至上述角色，並授予存取所需資源的許可。這可讓本機 VM Import/Export 服務從裝置上的 Amazon S3 下載快照。

```
aws iam attach-role-policy --role-name role-name --policy-arn arn:aws:iam::123456789012:policy/policy-name --endpoint http://snowball-ip:6078 --region snow --profile profile-name
```

### Snowball Edge 上的呼叫者所需的許可
<a name="caller-permissions"></a>

除了要擔任的 Snowball Edge VM Import/Export 角色之外，您還必須確保使用者具有允許其將角色傳遞給 VMIE 的許可。如果您使用預設根使用者執行匯入，根使用者已經擁有所有必要的許可，因此您可以略過此步驟，然後前往步驟 3。

將下列兩個 IAM 許可連接到執行匯入的使用者。
+ `pass-role`
+ `get-role`

**建立角色的政策**

以下是允許使用者為 IAM 角色執行 `get-role`和 `pass-role`動作的範例政策。

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",
   "Statement":[
        {
            "Effect":"Allow",
            "Action": "iam:GetRole",
            "Resource":"*"
        },
        {
            "Sid": "iamPassRole",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/snowball*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "importexport.amazonaws.com"
                }
            }
        }
   ]
}
```

------

****使用政策檔案建立政策：****

```
aws iam create-policy --policy-name policy-name --policy-document file:///policy-json-file-path --endpoint http://snowball-ip:6078 --region snow --profile profile-name
```

以下是 create-policy 命令的輸出範例。

```
{
   "Policy":{
      "PolicyName":"caller-policy",
      "PolicyId":"ANPACEMGEZDGNBVGY3TQOJQGEZAAAABOOOTUOE3AAAAAAPPBEUM7Q7ARPUE53C6R",
      "Arn":"arn:aws:iam::123456789012:policy/caller-policy",
      "Path":"/",
      "DefaultVersionId":"v1",
      "AttachmentCount":0,
      "IsAttachable":true,
      "CreateDate":"2020-07-30T00:58:25.309000+00:00",
      "UpdateDate":"2020-07-30T00:58:25.309000+00:00"
   }
}
```

產生政策後，請將政策連接至將呼叫 Amazon EC2 API 或 CLI 操作以匯入快照的 IAM 使用者。

```
aws iam attach-user-policy --user-name your-user-name --policy-arn arn:aws:iam::123456789012:policy/policy-name --endpoint http://snowball-ip:6078 --region snow --profile profile-name
```

### 在 Snowball Edge 上呼叫 Amazon EC2 APIs 所需的許可
<a name="ec2-permissions"></a>

若要匯入快照，IAM 使用者必須具有 `ec2:ImportSnapshot`許可。如果不需要限制對使用者的存取，您可以使用 `ec2:*`許可來授予完整的 Amazon EC2 存取。以下是可以為裝置上的 Amazon EC2 授予或限制的許可。使用顯示的內容建立政策檔案：

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "ec2:ImportSnapshot",
            "ec2:DescribeImportSnapshotTasks",
            "ec2:CancelImportTask",
            "ec2:DescribeSnapshots",
            "ec2:DeleteSnapshot",
            "ec2:RegisterImage",
            "ec2:DescribeImages",
            "ec2:DeregisterImage"
         ],
         "Resource":"*"
      }
   ]
}
```

------

**使用政策檔案建立政策：**

```
aws iam create-policy --policy-name policy-name --policy-document file:///policy-json-file-path --endpoint http://snowball-ip:6078 --region snow --profile profile-name
```

以下是 create-policy 命令的輸出範例。

```
{ 
    "Policy": 
        {
            "PolicyName": "ec2-import.json",
            "PolicyId": "ANPACEMGEZDGNBVGY3TQOJQGEZAAAABQBGPDQC5AAAAATYN62UNBFYTF5WVCSCZS",
            "Arn": "arn:aws:iam::123456789012:policy/ec2-import.json",
            "Path": "/",
            "DefaultVersionId": "v1",
            "AttachmentCount": 0,
            "IsAttachable": true,
            "CreateDate": "2022-04-21T16:25:53.504000+00:00",
            "UpdateDate": "2022-04-21T16:25:53.504000+00:00"
        }
}
```

產生政策後，請將政策連接至將呼叫 Amazon EC2 API 或 CLI 操作以匯入快照的 IAM 使用者。

```
aws iam attach-user-policy --user-name your-user-name --policy-arn arn:aws:iam::123456789012:policy/policy-name --endpoint http://snowball-ip:6078 --region snow --profile profile-name
```

## 步驟 3：匯入 VM 映像做為 Snowball Edge 上的快照
<a name="import-snapshot-cli"></a>

下一個步驟是匯入 VM 映像做為裝置上的快照。`S3Bucket` 參數的值是包含 VM 映像的儲存貯體名稱。`S3Key` 參數的值是此儲存貯體中 VM 映像檔案的路徑。

```
aws ec2 import-snapshot --disk-container "Format=RAW,UserBucket={S3Bucket=bucket-name,S3Key=image-file}" --endpoint http://snowball-ip:8008 --region snow --profile profile-name
```

如需詳細資訊，請參閱《 AWS CLI 命令參考》中的 [import-snapshot](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/import-snapshot.html)。

此命令不支援下列切換。
+ 【--client-data`value`】 
+ 【--client-token`value`】
+ 【--dry-run】
+ 【--no-dry-run】
+ 【--加密】
+ 【--無加密】
+ 【--kms-key-id `value`】
+ 【--tag-specifications`value`】

**Example `import-snapshot` 命令的輸出**  

```
{
   "ImportTaskId":"s.import-snap-1234567890abc",
   "SnapshotTaskDetail":{
      "DiskImageSize":2.0,
      "Encrypted":false,
      "Format":"RAW",
      "Progress":"3",
      "Status":"active",
      "StatusMessage":"pending",
      "UserBucket":{
         "S3Bucket":"bucket",
         "S3Key":"vmimport/image01"
      }
   }
}
```
Snowball Edge 目前僅允許每個裝置一次執行一個作用中的匯入任務。若要啟動新的匯入任務，請等待目前任務完成，或選擇叢集中另一個可用的節點。您也可以視需要選擇取消目前的匯入。為了避免延遲，請勿在匯入進行時重新啟動 Snowball Edge 裝置。如果您重新啟動裝置，匯入將會失敗，而且當裝置可存取時，將會刪除進度。若要檢查快照匯入任務狀態的狀態，請使用下列命令：  

```
aws ec2 describe-import-snapshot-tasks --import-task-ids id --endpoint http://snowball-ip:8008 --region snow --profile profile-name
```

## 步驟 4：將快照註冊為 Snowball Edge 上的 AMI
<a name="register-snapshot-cli"></a>

當快照匯入裝置成功時，您可以使用 `register-image`命令註冊它。

**注意**  
您只能在所有快照可用時註冊 AMI。

如需詳細資訊，請參閱《 AWS CLI 命令參考》中的 [register-image](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/register-image.html)。

**Example `register-image` 命令的**  

```
aws ec2 register-image \
--name ami-01 \
--description my-ami-01 \
--block-device-mappings "[{\"DeviceName\": \"/dev/sda1\",\"Ebs\":{\"Encrypted\":false,\"DeleteOnTermination\":true,\"SnapshotId\":\"snapshot-id\",\"VolumeSize\":30}}]" \
--root-device-name /dev/sda1 \
--endpoint http://snowball-ip:8008 \
--region snow \
--profile profile-name
```

以下是區塊型設備映射 JSON 的範例。如需詳細資訊，請參閱《 AWS CLI 命令參考》中 [register-image 的 block-device-mapping 參數](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/register-image.html)。

```
[
    {
        "DeviceName": "/dev/sda",
        "Ebs": 
            {
                "Encrypted": false,
                "DeleteOnTermination": true,
                "SnapshotId": "snapshot-id",
                "VolumeSize": 30
            }
    }
]
```

**Example `register-image` 命令的**  

```
{
    "ImageId": "s.ami-8de47d2e397937318"
 }
```

## 步驟 5：從 Snowball Edge 上的 AMI 啟動執行個體
<a name="launch-ami-cli"></a>

若要啟動執行個體，請參閱《 AWS CLI 命令參考》中的 [run-instances](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/run-instances.html)。

`image-id` 參數的值是做為 `register-image`命令輸出`ImageId`的名稱值。

```
aws ec2 run-instances --image-id image-id --instance-type instance-type --endpoint http://snowball-ip:8008 --region snow --profile profile-name
```

```
{
   "Instances":[
      {
         "SourceDestCheck":false,
         "CpuOptions":{
            "CoreCount":1,
            "ThreadsPerCore":2
         },
         "InstanceId":"s.i-12345a73123456d1",
         "EnaSupport":false,
         "ImageId":"s.ami-1234567890abcdefg",
         "State":{
            "Code":0,
            "Name":"pending"
         },
         "EbsOptimized":false,
         "SecurityGroups":[
            {
               "GroupName":"default",
               "GroupId":"s.sg-1234567890abc"
            }
         ],
         "RootDeviceName":"/dev/sda1",
         "AmiLaunchIndex":0,
         "InstanceType":"sbe-c.large"
      }
   ],
   "ReservationId":"s.r-1234567890abc"
}
```

**注意**  
您也可以使用 AWS OpsHub 來啟動執行個體。如需詳細資訊，請參閱本指南中的[啟動與 Amazon EC2-compatible執行個體](https://docs.aws.amazon.com/snowball/latest/developer-guide/manage-ec2.html#launch-instance)。

## Snowball Edge 的其他 AMI 動作
<a name="additional-ami-actions"></a>

您可以使用其他 AWS CLI 命令來監控快照匯入狀態、取得已匯入快照的詳細資訊、取消匯入快照，以及在匯入快照之後刪除或取消註冊快照。

### 在 Snowball Edge 上監控快照匯入狀態
<a name="decribe-import-task-cli"></a>

若要查看匯入進度的目前狀態，您可以執行 Amazon EC2 `describe-import-snapshot-tasks`命令。此命令支援 上的分頁和篩選`task-state`。

**Example `describe-import-snapshot-tasks` 命令的**  

```
aws ec2 describe-import-snapshot-tasks --import-task-ids id --endpoint http://snowball-ip:8008 --region snow --profile profile-name
```

**Example `describe-import-snapshot-tasks` 命令輸出的**  

```
{
        "ImportSnapshotTasks": [
            {
                "ImportTaskId": "s.import-snap-8f6bfd7fc9ead9aca",                
                "SnapshotTaskDetail": {
                    "Description": "Created by AWS-Snowball-VMImport service for s.import-snap-8f6bfd7fc9ead9aca",                    
                    "DiskImageSize": 8.0,                    
                    "Encrypted": false,                    
                    "Format": "RAW",  
                    "Progress": "3",                  
                    "SnapshotId": "s.snap-848a22d7518ad442b",                    
                    "Status": "active", 
                    "StatusMessage": "pending",                   
                    "UserBucket": {
                        "S3Bucket": "bucket1",                        
                        "S3Key": "image1"                        
                    }
                }
            }
        ]
 }
```

**注意**  
此命令只會顯示過去 7 天內成功完成或標示為已刪除之任務的輸出。篩選僅支援 `Name=task-state`、 `Values=active | deleting | deleted | completed`

此命令不支援下列參數。
+ 【--dry-run】
+ 【--no-dry-run】

### 取消 Snowball Edge 上的匯入任務
<a name="cancel-import-task-cli"></a>

若要取消匯入任務，請執行 `cancel-import-task`命令。

**Example `cancel-import-task` 命令的**  

```
aws ec2 cancel-import-task --import-task-id import-task-id --endpoint http://snowball-ip:8008 --region snow --profile profile-name
```

**Example `cancel-import-task` 命令輸出的**  

```
{
        "ImportTaskId": "s.import-snap-8234ef2a01cc3b0c6",
        "PreviousState": "active",
        "State": "deleting"
}
```
只有未處於已完成狀態的任務才能取消。

此命令不支援下列參數。
+ 【--dry-run】
+ 【--no-dry-run】

### 描述 Snowball Edge 上的快照
<a name="describe-snapshots-cli"></a>

匯入快照後，您可以使用此命令來描述快照。若要篩選快照，您可以使用先前匯入任務回應`snapshot-ids`中的快照 ID 傳入 。此命令支援對 `volume-id`、 和 進行分頁`status`和篩選`start-time`。

**Example `describe-snapshots` 命令的**  

```
aws ec2 describe-snapshots --snapshot-ids snapshot-id --endpoint http://snowball-ip:8008 --region snow --profile profile-name
```

**Example `describe-snapshots` 命令輸出的**  

```
{
    "Snapshots": [
        {
            "Description": "Created by AWS-Snowball-VMImport service for s.import-snap-8f6bfd7fc9ead9aca",
            "Encrypted": false,
            "OwnerId": "123456789012",
            "SnapshotId": "s.snap-848a22d7518ad442b",
            "StartTime": "2020-07-30T04:31:05.032000+00:00",
            "State": "completed",
            "VolumeSize": 8
        }
    ]
 }
```

此命令不支援下列參數。
+ 【--restorable-by-user-ids`value`】 
+ 【--dry-run】
+ 【--no-dry-run】

### 從 Snowball Edge 裝置刪除快照
<a name="delete-snapshot-cli"></a>

若要移除您擁有且不再需要的快照，您可以使用 `delete-snapshot`命令。

**Example `delete-snapshot` 命令的**  

```
aws ec2 delete-snapshot --snapshot-id snapshot-id --endpoint http://snowball-ip:8008 --region snow --profile profile-name
```

**注意**  
Snowball Edge 不支援刪除處於**待定**狀態或指定為 AMI 根裝置的快照。

此命令不支援下列參數。
+ 【--dry-run】
+ 【--no-dry-run】

### 在 Snowball Edge 上取消註冊 AMI
<a name="deregister-snapshot-cli"></a>

若要取消註冊不再需要AMIs，您可以執行 `deregister-image`命令。目前不支援取消註冊處於**待定**狀態的 AMI。

**Example `deregister-image` 命令的**  

```
aws ec2 deregister-image --image-id image-id --endpoint http://snowball-ip:8008 --region snow --profile profile-name
```

此命令不支援下列參數。
+ 【--dry-run】
+ 【--no-dry-run】

# 在 Snowball Edge 裝置上使用 AWS CLI 和 API 操作
<a name="using-ec2-cli-specify-region"></a>

使用 AWS Command Line Interface (AWS CLI) 或 API 操作在 Snowball Edge 上發出 IAM、Amazon S3 和 Amazon EC2 命令時，您必須將 指定`region`為「」`snow`。 您可以使用 `AWS configure`或在命令本身內執行此操作，如下列範例所示。

```
aws configure --profile ProfileName
AWS Access Key ID [None]: defgh
AWS Secret Access Key [None]: 1234567
Default region name [None]: snow
Default output format [None]: json
```

或

```
aws s3 ls --endpoint http://192.0.2.0:8080 --region snow --profile ProfileName
```

# Snowball Edge 上運算執行個體的網路組態
<a name="network-config-ec2"></a>

在 Snowball Edge 上啟動運算執行個體後，您必須透過建立網路介面來為其提供 IP 地址。Snowball Edges 支援兩種類型的網路界面：虛擬網路界面和直接網路界面。

**虛擬網路界面 (VNI)** – 虛擬網路界面是連線至 Snowball Edge 上 EC2-compatible執行個體的標準網路界面。無論您是否使用直接網路界面，都必須為每個 EC2-compatible執行個體建立 VNI。通過 VNI 的流量受到您設定的安全群組保護。您只能將 VNIs與您用來控制 Snowball Edge 的實體網路連接埠建立關聯。

**注意**  
VNI 將使用用於管理 Snowball Edge 的相同實體界面 (RJ45、SFP\$1 或 QSFP)。在與用於裝置管理的實體界面不同的實體界面上建立 VNI 可能會導致非預期的結果。

**直接網路界面 (DNI)** – 直接網路界面 (DNI) 是一種進階網路功能，可啟用多點傳送串流、傳輸路由和負載平衡等使用案例。透過為執行個體提供 layer 2 網路存取，而不需要任何中介轉譯或篩選，您可以提高 Snowball Edge 網路組態的彈性，並改善網路效能。DNIs支援 VLAN 標籤和自訂 MAC 地址。DNIs上的流量不受安全群組保護。

在 Snowball Edge 裝置上，DNIs 可以與 RJ45、SFP 或 QSFP 連接埠建立關聯。每個實體連接埠最多支援 63 DNIs。DNIs不必與您用來管理 Snowball Edge 的相同實體網路連接埠相關聯。

**注意**  
Snowball Edge 儲存最佳化 （使用 EC2 運算功能） 裝置不支援 DNIs。

**Topics**
+ [Snowball Edge DNIs 或 VNIs先決條件](#snowcone-configuration-prerequisites)
+ [在 Snowball Edge 上設定虛擬網路界面 (VNI)](#setup-vni)
+ [在 Snowball Edge 上設定直接網路界面 (DNI)](#snowcone-setup-dni)

## Snowball Edge DNIs 或 VNIs先決條件
<a name="snowcone-configuration-prerequisites"></a>

設定 VNI 或 DNI 之前，請確定您已完成下列先決條件。

****

1. 請確定您的裝置有電源，而且您的其中一個實體網路介面，例如 RJ45 連接埠，已使用 IP 地址連線。

1. 取得與您在 Snowball Edge 上使用之實體網路界面相關聯的 IP 地址。

1. 設定 Snowball Edge 用戶端。如需詳細資訊，請參閱[設定 Snowball Edge 用戶端的設定檔](using-client-commands.md#client-configuration)。

1. 設定 AWS CLI。如需詳細資訊，請參閱 AWS Command Line Interface 《 使用者指南》中的 [入門 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)。

1. 解鎖裝置。
   + 使用 AWS OpsHub 解鎖裝置。如需詳細資訊，請參閱使用 [解鎖 Snowball Edge AWS OpsHub](https://docs.aws.amazon.com/snowball/latest/developer-guide/connect-unlock-device.html)。
   + 使用 Snowball Edge 用戶端解鎖裝置。如需詳細資訊，請參閱[解鎖 Snowball Edge](unlockdevice.md)。

1. 在裝置上啟動 EC2-compatible執行個體。您將建立 VNI 與此執行個體的關聯。

1. 使用 Snowball Edge 用戶端執行 `describe-device`命令。命令的輸出將提供實體網路介面 IDs的清單。如需詳細資訊，請參閱[檢視 Snowball Edge 的狀態](using-client-commands.md#client-status)。

1. 確認要使用的實體網路界面 ID，並將其記下。

## 在 Snowball Edge 上設定虛擬網路界面 (VNI)
<a name="setup-vni"></a>

 識別實體網路界面的 ID 之後，您可以使用該實體界面設定虛擬網路界面 (VNI)。使用下列程序設定 VNI。在建立 VNI 之前，請務必執行先決條件任務。

**建立 VNI 並關聯 IP 地址**

1. 使用 Snowball Edge 用戶端執行 `create-virtual-network-interface`命令。下列範例說明使用兩個不同的 IP 地址指派方法 (`DHCP` 或 `STATIC`) 執行此命令。此 `DHCP` 方法使用動態主機組態通訊協定 (DHCP)。

   ```
   snowballEdge create-virtual-network-interface \
   --physical-network-interface-id s.ni-abcd1234 \
   --ip-address-assignment DHCP \
   --profile profile-name
           //OR//
           
   snowballEdge create-virtual-network-interface \
   --physical-network-interface-id s.ni-abcd1234 \
   --ip-address-assignment STATIC \
   --static-ip-address-configuration IpAddress=192.0.2.0,Netmask=255.255.255.0 \
   --profile profile-name
   ```

   該命令會傳回含有 IP 地址的 JSON 結構。請記下該 IP 地址，以便稍後在程序中與 `ec2 associate-address` AWS CLI 命令搭配使用。

   每當您需要此 IP 地址時，您可以使用 Snowball Edge 用戶端命令 `describe-virtual-network-interfaces` Snowball Edge 用戶端命令或 AWS CLI 命令`aws ec2 describe-addresses`來取得它。

1. 使用 AWS CLI 將 IP 地址與 EC2-compatible執行個體建立關聯，將紅色文字取代為您的值：

   ```
   aws ec2 associate-address --public-ip 192.0.2.0 --instance-id s.i-01234567890123456 --endpoint http://Snowball Edge physical IP address:8008
   ```

## 在 Snowball Edge 上設定直接網路界面 (DNI)
<a name="snowcone-setup-dni"></a>

**注意**  
 直接網路界面功能在 2021 年 1 月 12 日當天或之後提供，並可在 Snowball Edges 提供的所有 AWS 區域 中使用。

### Snowball Edge 上 DNI 的先決條件
<a name="use-snowwire-prerequisites"></a>

在設定直接網路界面 (DNI) 之前，您必須執行先決條件區段中的任務。

1. 在設定 DNI 之前執行先決條件任務。如需說明，請參閱[Snowball Edge DNIs 或 VNIs先決條件](#snowcone-configuration-prerequisites)。

1. 此外，您必須在裝置上啟動執行個體、建立 VNI，並將其與執行個體建立關聯。如需說明，請參閱[在 Snowball Edge 上設定虛擬網路界面 (VNI)](#setup-vni)。
**注意**  
如果您透過in-the-field軟體更新將直接聯網新增至現有裝置，則必須重新啟動裝置兩次，才能完全啟用此功能。

**建立 DNI 並關聯 IP 地址**

1. 執行下列命令，建立直接網路界面並將其連接至與 Amazon EC2-compatible執行個體。下一個步驟需要裝置的 MAC 地址。

   ```
   create-direct-network-interface [--endpoint endpoint] [--instance-id instanceId] [--mac macAddress]
                                   [--physical-network-interface-id physicalNetworkInterfaceId] 
                                   [--unlock-code unlockCode] [--vlan vlanId]
   ```

   OPTIONS

   ** --endpoint <endpoint>** 傳送此請求的端點。您裝置的端點將是使用 `https`結構描述後接 IP 地址的 URL。例如，如果裝置的 IP 地址為 123.0.1.2，則裝置的端點會是 https://123.0.1.2。

   ** --instance-id <instanceId>** 要連接界面的 EC2-compatible執行個體 ID （選用）。

   ** --mac <macAddress>** 設定網路界面的 MAC 地址 （選用）。

   **--physical-network-interface-id <physicalNetworkInterfaceId>** 要在其中建立新的虛擬網路界面的實體網路界面 ID。您可以使用 `describe-device`命令來判斷 Snowball Edge 上可用的實體網路介面。

    **--vlan <vlanId>** 設定介面的指派 VLAN （選用）。指定時，從界面傳送的所有流量都會以指定的 VLAN ID 標記。傳入流量會針對指定的 VLAN ID 進行篩選，並在傳遞給執行個體之前分割所有 VLAN 標籤。

1. 建立 DNI 並將其與 EC2-compatible執行個體建立關聯之後，您必須在 Amazon EC2-compatible執行個體內進行兩項組態變更。
   + 首先是變更，確保透過 eth0 傳送與 EC2-compatible執行個體相關聯之 VNI 適用的封包。
   + 第二個變更會將您的直接網路界面設定為在開機時使用 DCHP 或靜態 IP。

   以下是 Amazon Linux 2 和 CentOS Linux 進行這些組態變更的 Shell 指令碼範例。

------
#### [ Amazon Linux 2 ]

   ```
   # Mac address of the direct network interface. 
   # You got this when you created the direct network interface.
   DNI_MAC=[MAC ADDRESS FROM CREATED DNI]
   
   # Configure routing so that packets meant for the VNI always are sent through eth0.
   PRIVATE_IP=$(curl -s http://169.254.169.254/latest/meta-data/local-ipv4)
   PRIVATE_GATEWAY=$(ip route show to match 0/0 dev eth0 | awk '{print $3}')
   ROUTE_TABLE=10001
   echo "from $PRIVATE_IP table $ROUTE_TABLE" > /etc/sysconfig/network-scripts/rule-eth0
   echo "default via $PRIVATE_GATEWAY dev eth0 table $ROUTE_TABLE" > /etc/sysconfig/network-scripts/route-eth0
   echo "169.254.169.254 dev eth0" >> /etc/sysconfig/network-scripts/route-eth0
   
   # Query the persistent DNI name, assigned by udev via ec2net helper.
   #   changable in /etc/udev/rules.d/70-persistent-net.rules
   DNI=$(ip --oneline link | grep -i $DNI_MAC | awk -F ': ' '{ print $2 }')
   
   # Configure DNI to use DHCP on boot.
   cat << EOF > /etc/sysconfig/network-scripts/ifcfg-$DNI
   DEVICE="$DNI"
   NAME="$DNI"
   HWADDR=$DNI_MAC
   ONBOOT=yes
   NOZEROCONF=yes
   BOOTPROTO=dhcp
   TYPE=Ethernet
   MAINROUTETABLE=no
   EOF
   
   # Make all changes live.
   systemctl restart network
   ```

------
#### [ CentOS Linux ]

   ```
   # Mac address of the direct network interface. You got this when you created the direct network interface.
   DNI_MAC=[MAC ADDRESS FROM CREATED DNI]
   # The name to use for the direct network interface. You can pick any name that isn't already in use.
   DNI=eth1
   
   # Configure routing so that packets meant for the VNIC always are sent through eth0 
   PRIVATE_IP=$(curl -s http://169.254.169.254/latest/meta-data/local-ipv4)
   PRIVATE_GATEWAY=$(ip route show to match 0/0 dev eth0 | awk '{print $3}')
   ROUTE_TABLE=10001
   echo from $PRIVATE_IP table $ROUTE_TABLE > /etc/sysconfig/network-scripts/rule-eth0
   echo default via $PRIVATE_GATEWAY dev eth0 table $ROUTE_TABLE > /etc/sysconfig/network-scripts/route-eth0
   
   # Configure your direct network interface to use DHCP on boot.
   cat << EOF > /etc/sysconfig/network-scripts/ifcfg-$DNI
   DEVICE="$DNI"
   NAME="$DNI"
   HWADDR="$DNI_MAC"
   ONBOOT=yes
   NOZEROCONF=yes
   BOOTPROTO=dhcp
   TYPE=Ethernet
   EOF
   
   # Rename DNI device if needed.
   CURRENT_DEVICE_NAME=$(LANG=C ip -o link | awk -F ': ' -vIGNORECASE=1 '!/link\/ieee802\.11/ && /'"$DNI_MAC"'/ { print $2 }')
   ip link set $CURRENT_DEVICE_NAME name $DNI
   
   # Make all changes live.
   systemctl restart network
   ```

------

# 使用 SSH 連線到 Snowball Edge 上的運算執行個體
<a name="ssh-ec2-edge"></a>

若要使用 Secure Shell (SSH) 連線到 Snowball Edge 上的運算執行個體，您有下列選項可提供或建立 SSH 金鑰。
+ 您可以在建立任務以訂購裝置時，提供 Amazon Machine Image (AMI) 的 SSH 金鑰。如需詳細資訊，請參閱[建立任務以訂購 Snowball Edge](https://docs.aws.amazon.com/snowball/latest/developer-guide/create-job-common.html)。
+ 您可以在建立要匯入 Snowball Edge 的虛擬機器映像時，提供 AMI 的 SSH 金鑰。如需詳細資訊，請參閱[將虛擬機器映像匯入 Snowball Edge 裝置](ec2-ami-import-cli.md)。
+ 您可以在 Snowball Edge 上建立金鑰對，並選擇使用該本機產生的公有金鑰啟動執行個體。如需詳細資訊，請參閱《[Amazon EC2 使用者指南》中的使用 Amazon EC2 建立金鑰對](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html#having-ec2-create-your-key-pair)。 Amazon EC2 

**透過 SSH 連線至執行個體**

1. 請確定您的裝置已開啟電源、連線至網路並解除鎖定。如需詳細資訊，請參閱[將 Snowball Edge 連接到您的本機網路](getting-started.md#getting-started-connect)。

1. 請確認已為運算執行個體進行網路設定。如需詳細資訊，請參閱[Snowball Edge 上運算執行個體的網路組態](network-config-ec2.md)。

1. 查看您所記下用於此特定執行個體的 PEM 或 PPK 金鑰對。在電腦上某個位置複製這些檔案。請記下 PEM 檔案的路徑。

1. 透過 SSH 連線到執行個體，如下列命令範例所示。IP 地址是您在[Snowball Edge 上運算執行個體的網路組態](network-config-ec2.md)中設定之虛擬網路界面 (VNIC) 的 IP 地址。

   ```
     ssh -i path/to/PEM/key/file instance-user-name@192.0.2.0
   ```

   如需詳細資訊，請參閱《Amazon EC2 使用者指南》中的[使用 SSH 連線至 Linux 執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html)。* Amazon EC2 *

# 將資料從 EC2-compatible運算執行個體傳輸到相同 Snowball Edge 上的 S3 儲存貯體
<a name="data-transfer-ec2-s3-edge"></a>

您可以在相同的 Snowball Edge 裝置上，在運算執行個體和 Amazon S3 儲存貯體之間傳輸資料。您可以使用支援的 AWS CLI 命令和適當的端點來執行此操作。例如，假設您想要將資料從我`sbe1.xlarge`執行個體中的目錄移至相同裝置上的 Amazon S3 儲存貯`amzn-s3-demo-bucket`體。假設您在 Snowball Edge 端點 上使用 Amazon S3 相容儲存`https://S3-object-API-endpoint:443`。請使用下列程序。

**在相同 Snowball Edge 上的運算執行個體與儲存貯體之間傳輸資料**

1. 使用 SSH 連線到執行個體。

1. 下載並安裝 AWS CLI。如果您的執行個體尚無 AWS CLI，請下載並安裝它。如需詳細資訊，請參閱[安裝 AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/installing.html)。

1. 將運算執行個體 AWS CLI 上的 設定為使用 Snowball Edge 上的 Amazon S3 端點。如需詳細資訊，請參閱[在 Snowball Edge 上取得和使用本機 Amazon S3 登入資料](using-adapter.md#adapter-credentials)。

1. 在 Snowball Edge 命令上使用支援的 Amazon S3 相容儲存體來傳輸資料。例如：

   ```
   aws s3 cp ~/june2018/results s3://amzn-s3-demo-bucket/june2018/results --recursive --endpoint https://S3-object-API-endpoint:443
   ```

# 自動啟動 EC2-compatible執行個體
<a name="using-ec2-edge-client"></a>

Snowball Edge 用戶端是獨立的命令列界面 (CLI) 應用程式，您可以在環境中執行。您可以使用它在 Snowball Edge 裝置或裝置叢集上執行一些管理任務。如需如何使用 Snowball Edge 用戶端的詳細資訊，包括如何啟動和停止服務，請參閱 [設定和使用 Snowball Edge 用戶端](using-client-commands.md)。

您可以在下面找到運算執行個體特有的 Snowball Edge 用戶端命令相關資訊，包括使用範例。

如需您可以在 AWS Snowball 邊緣 裝置上使用的 Amazon EC2-compatible命令清單，請參閱 [Snowball Edge 上支援的 EC2-compatible AWS CLI 命令](using-ec2-endpoint.md#cli-support-ec2-edge)。

## 在 Snowball Edge 上建立與 EC2-compatible啟動組態
<a name="ec2-edge-create-autostart-config"></a>

若要在 AWS Snowball 邊緣 裝置上解鎖後自動啟動與 Amazon EC2-compatible運算執行個體，您可以建立啟動組態。若要這樣做，請使用 `snowballEdge create-autostart-configuration`命令，如下所示。

**用途**

```
snowballEdge create-autostart-configuration --physical-connector-type [SFP_PLUS or RJ45 or QSFP] --ip-address-assignment [DHCP or STATIC] [--static-ip-address-configuration IpAddress=[IP address],NetMask=[Netmask]] --launch-template-id [--launch-template-version]
```

## 更新 Snowball Edge EC2-compatible啟動組態
<a name="ec2-edge-update-autostart-config"></a>

若要更新 Snowball Edge 上的現有啟動組態，請使用 `snowballEdge update-autostart-configuration`命令。用法如下所示。若要啟用或停用啟動組態，請指定 `--enabled` 參數。

**用途**

```
snowballEdge update-autostart-configuration --autostart-configuration-arn [--physical-connector-type [SFP_PLUS or RJ45 or QSFP]] [--ip-address-assignment [DHCP or STATIC]] [--static-ip-address-configuration IpAddress=[IP address],NetMask=[Netmask]][--launch-template-id] [--launch-template-version] [--enabled]
```

## 刪除 Snowball Edge EC2-compatible啟動組態
<a name="ec2-edge-delete-autostart-config"></a>

若要刪除不再使用的啟動組態，請使用 `snowballEdge delete-autostart-configuration`命令，如下所示。

**用途**

```
snowballEdge delete-autostart-configuration --autostart-configuration-arn
```

## 列出 Snowball Edge EC2-compatible啟動組態
<a name="ec2-edge-describe-autostart-configs"></a>

若要列出您在 Snowball Edge 上建立的啟動組態，請使用 `describe-autostart-configurations`命令，如下所示。

**用途**

```
snowballEdge describe-autostart-configurations            
```

## 在 Snowball Edge 上建立虛擬網路界面
<a name="ec2-edge-create-vnic"></a>

若要在 Snowball Edge 上執行運算執行個體或啟動 NFS 介面，請先建立虛擬網路界面 (VNI)。每個 Snowball Edge 都有三個網路介面 NICs)，即裝置的實體網路介面控制器。這些網路界面就是裝置背面的 RJ45、SFP 和 QSFP 連接埠。

每個 VNI 都是以實體 VNI 為基礎，而且您可以擁有與每個 NIC 相關聯的任意數量 VNI。若要建立虛擬網路界面，請使用 `snowballEdge create-virtual-network-interface` 命令。

**注意**  
僅當為 `--ip-address-assignment` 參數使用 `STATIC` 選項時，`--static-ip-address-configuration` 參數才有效。

**用途**

您可以透過兩種方式使用此命令：已設定 Snowball Edge 用戶端，或未設定 Snowball Edge 用戶端。下列使用範例顯示已設定 Snowball Edge 用戶端的 方法。

```
snowballEdge create-virtual-network-interface --ip-address-assignment [DHCP or STATIC] --physical-network-interface-id [physical network interface id] --static-ip-address-configuration IpAddress=[IP address],NetMask=[Netmask]
```

下列使用範例顯示未設定 Snowball Edge 用戶端的方法。

```
snowballEdge create-virtual-network-interface --endpoint https://[ip address] --manifest-file /path/to/manifest --unlock-code [unlock code] --ip-address-assignment [DHCP or STATIC] --physical-network-interface-id [physical network interface id] --static-ip-address-configuration IpAddress=[IP address],NetMask=[Netmask]
```

**Example 範例：建立 VNIC (使用 DHCP)**  

```
snowballEdge create-virtual-network-interface --ip-address-assignment dhcp --physical-network-interface-id s.ni-8EXAMPLEaEXAMPLEd
{
  "VirtualNetworkInterface" : {
    "VirtualNetworkInterfaceArn" : "arn:aws:snowball-device:::interface/s.ni-8EXAMPLE8EXAMPLEf",
    "PhysicalNetworkInterfaceId" : "s.ni-8EXAMPLEaEXAMPLEd",
    "IpAddressAssignment" : "DHCP",
    "IpAddress" : "192.0.2.0",
    "Netmask" : "255.255.255.0",
    "DefaultGateway" : "192.0.2.1",
    "MacAddress" : "EX:AM:PL:E1:23:45",
    "MtuSize" : "1500"
  }
}
```

## 描述虛擬網路界面
<a name="ec2-edge-describe-vnic"></a>

若要描述您之前在裝置上建立的 VNIC，請使用 `snowballEdge describe-virtual-network-interfaces` 命令。用法如下所示。

**用途**

您可以透過兩種方式使用此命令：已設定 Snowball Edge 用戶端，或未設定 Snowball Edge 用戶端。下列使用範例顯示已設定 Snowball Edge 用戶端的 方法。

```
snowballEdge describe-virtual-network-interfaces
```

下列使用範例顯示未設定 Snowball Edge 用戶端的方法。

```
snowballEdge describe-virtual-network-interfaces --endpoint https://[ip address] --manifest-file /path/to/manifest --unlock-code [unlock code]
```

**Example 範例：說明 VNIC**  

```
snowballEdge describe-virtual-network-interfaces
[
  {
    "VirtualNetworkInterfaceArn" : "arn:aws:snowball-device:::interface/s.ni-8EXAMPLE8EXAMPLE8",
    "PhysicalNetworkInterfaceId" : "s.ni-8EXAMPLEaEXAMPLEd",
    "IpAddressAssignment" : "DHCP",
    "IpAddress" : "192.0.2.0",
    "Netmask" : "255.255.255.0",
    "DefaultGateway" : "192.0.2.1",
    "MacAddress" : "EX:AM:PL:E1:23:45",
    "MtuSize" : "1500"
  },{
    "VirtualNetworkInterfaceArn" : "arn:aws:snowball-device:::interface/s.ni-1EXAMPLE1EXAMPLE1",
    "PhysicalNetworkInterfaceId" : "s.ni-8EXAMPLEaEXAMPLEd",
    "IpAddressAssignment" : "DHCP",
    "IpAddress" : "192.0.2.2",
    "Netmask" : "255.255.255.0",
    "DefaultGateway" : "192.0.2.1",
    "MacAddress" : "12:34:5E:XA:MP:LE",
    "MtuSize" : "1500"
  }  
]
```

## 更新 Snowball Edge 上的虛擬網路界面
<a name="ec2-edge-update-vnic"></a>

建立虛擬網路界面 (VNI) 之後，您可以使用 `snowballEdge update-virtual-network-interface`命令更新其組態。提供特定 VNI 的 Amazon Resource Name (ARN) 之後，您只能為要更新的任何元素提供值。

**用途**

您可以透過兩種方式使用此命令：已設定 Snowball Edge 用戶端，或未設定 Snowball Edge 用戶端。下列使用範例顯示已設定 Snowball Edge 用戶端的 方法。

```
snowballEdge update-virtual-network-interface --virtual-network-interface-arn [virtual network-interface-arn] --ip-address-assignment [DHCP or STATIC] --physical-network-interface-id [physical network interface id] --static-ip-address-configuration IpAddress=[IP address],NetMask=[Netmask]
```

 下列使用範例顯示未設定 Snowball Edge 用戶端的方法。

```
snowballEdge update-virtual-network-interface --endpoint https://[ip address] --manifest-file /path/to/manifest --unlock-code [unlock code] --virtual-network-interface-arn [virtual network-interface-arn] --ip-address-assignment [DHCP or STATIC] --physical-network-interface-id [physical network interface id] --static-ip-address-configuration IpAddress=[IP address],NetMask=[Netmask]
```

**Example 範例：更新 VNIC (使用 DHCP)**  

```
snowballEdge update-virtual-network-interface --virtual-network-interface-arn arn:aws:snowball-device:::interface/s.ni-8EXAMPLEbEXAMPLEd --ip-address-assignment dhcp
```

## 刪除 Snowball Edge 上的虛擬網路界面
<a name="ec2-edge-delete-vnic"></a>

若要刪除虛擬網路界面 (VNI)，您可以使用 ` snowballEdge delete-virtual-network-interface`命令。

**用途**

您可以透過兩種方式使用此命令：已設定 Snowball Edge 用戶端，或未設定 Snowball Edge 用戶端。下列使用範例顯示已設定 Snowball Edge 用戶端的 方法。

```
snowballEdge delete-virtual-network-interface --virtual-network-interface-arn [virtual network-interface-arn]
```

下列使用範例顯示未設定 Snowball Edge 用戶端的方法。

```
snowballEdge delete-virtual-network-interface --endpoint https://[ip address] --manifest-file /path/to/manifest --unlock-code [unlock code] --virtual-network-interface-arn [virtual network-interface-arn]
```

**Example 範例：刪除 VNIC**  

```
snowballEdge delete-virtual-network-interface --virtual-network-interface-arn arn:aws:snowball-device:::interface/s.ni-8EXAMPLEbEXAMPLEd
```

# 在 Snowball Edge 上使用 EC2-compatible端點
<a name="using-ec2-endpoint"></a>

您可以在下面找到 Amazon EC2-compatible端點的概觀。使用此端點，您可以使用與 Amazon EC2-compatible API 操作，以程式設計方式管理您的 Amazon Machine Image (AMIs) 和運算執行個體。

## 將 EC2-compatible端點指定為 Snowball Edge 上的 AWS CLI 端點
<a name="using-ec2-adapter-cli-endpoint"></a>

當您使用 AWS CLI 向 AWS Snowball 邊緣 裝置發出命令時，您可以指定端點是與 Amazon EC2-compatible端點。您可以選擇使用 HTTPS 端點或不安全的 HTTP 端點，如下所示。

**HTTPS 安全端點**

```
aws ec2 describe-instances --endpoint https://192.0.2.0:8243 --ca-bundle path/to/certificate
```

**HTTP 不安全端點 **

```
aws ec2 describe-instances --endpoint http://192.0.2.0:8008
```

如果您使用 HTTPS 端點 `8243`，您傳輸中的資料都會經過加密。此加密是透過 Snowball Edge 在解除鎖定時產生的憑證來確保。有了憑證之後，就可以將其儲存到本機 `ca-bundle.pem` 檔案。然後，您可以設定 AWS CLI 設定檔，以包含憑證的路徑，如下所述。

**將您的憑證與 Amazon EC2-compatible端點建立關聯**

1. 將 Snowball Edge 連接到電源和網路，然後將其開啟。

1. 在裝置完成解鎖後，請記下其在本機網路上的 IP 地址。

1. 從您網路上的終端機，確定您可以 ping Snowball Edge。

1. 在您的終端機中執行 `snowballEdge get-certificate` 命令。如需此命令的詳細資訊，請參閱[在 Snowball Edge 上管理公有金鑰憑證](snowball-edge-certificates-cli.md)。

1. 將 `snowballEdge get-certificate` 命令的輸出儲存至檔案，例如 `ca-bundle.pem`。

1. 從您的終端機中執行下列命令。

   ```
   aws configure set profile.snowballEdge.ca_bundle /path/to/ca-bundle.pem
   ```

當您完成程序後，可以使用這些本機登入資料、憑證及指定的端點來執行 CLI 命令。

## Snowball Edge 上支援的 EC2-compatible AWS CLI 命令
<a name="cli-support-ec2-edge"></a>

您可以透過與 Amazon EC2-compatible端點，在 Snowball Edge 裝置上管理運算執行個體。這種端點類型支援許多 Amazon EC2 CLI 命令和 AWS SDKs 的動作。如需有關安裝和設定 的資訊 AWS CLI，包括指定 AWS 區域 您要 AWS CLI 呼叫哪些 ，請參閱 [AWS Command Line Interface 使用者指南](https://docs.aws.amazon.com/cli/latest/userguide/)。

### Snowball Edge 上支援的 EC2-compatible AWS CLI 命令清單
<a name="list-cli-commands-ec2-edge"></a>

您可以在下面找到 Snowball Edge 裝置上支援的 Amazon EC2 AWS CLI 命令和選項子集的描述。如果某命令或選項未在以下列出，則不受支援。您可以隨著命令宣告某些不受支援的選項。不過，系統會忽略這些部分。
+ [associate-address](https://docs.aws.amazon.com/cli/latest/reference/ec2/associate-address.html) – 將虛擬 IP 地址與執行個體建立關聯，以在裝置上三個實體網路界面的其中一個使用：
  + --instance-id – 單一 `sbe` 執行個體的 ID。
  + --public-ip – 要用來存取執行個體的虛擬 IP 地址。
+ [attach-volume](https://docs.aws.amazon.com/cli/latest/reference/ec2/attach-volume.html) – 將 Amazon EBS 磁碟區連接至裝置上的已停止或執行中的執行個體，並使用指定的裝置名稱將其公開至執行個體。
  + --device `value` – 裝置名稱。
  + --instance-id – 目標 Amazon EC2-compatible執行個體的 ID。
  + --volume-id `value` – EBS 磁碟區的 ID。
+ [authorize-security-group-egress](https://docs.aws.amazon.com/cli/latest/reference/ec2/authorize-security-group-egress.html) – 將一或多個輸出規則新增至安全群組，以便與 Snowball Edge 裝置搭配使用。特別是，這個動作允許執行個體將流量傳送到一或多個目的地 IPv4 CIDR 地址範圍。如需詳細資訊，請參閱[使用 Snowball Edge 上的安全群組控制網路流量](edge-security-groups.md)。
  + --group-id `value` – 安全群組的 ID
  + 【--ip-permissions `value`】 – 一或多個 IP 許可集。
+ [authorize-security-group-ingress](https://docs.aws.amazon.com/cli/latest/reference/ec2/authorize-security-group-ingress.html) – 將一或多個輸入規則新增至安全群組。呼叫 `authorize-security-group-ingress` 時，您必須指定 `group-name` 或 `group-id` 的值。
  + 【--group-name `value`】 – 安全群組的名稱。
  + 【--group-id `value`】 – 安全群組的 ID
  + 【--ip-permissions `value`】 – 一或多個 IP 許可集。
  + [--protocol `value`] IP 通訊協定。可能值為 `tcp`、`udp` 及 `icmp`。除非已指定 "all protocols" 的值 (-1)，否則需要 `--port` 引數。
  + 【--port `value`】 – 對於 TCP 或 UDP，允許連接埠的範圍。此值可以是單一整數或範圍 （最小值至最大值）。

    對於 ICMP，單一整數或範圍 (`type`–`code`)，其中的 `type` 代表 ICMP 類型編號，而 `code` 代表 ICMP 代碼編號。-1 值表示所有 ICMP 類型的所有 ICMP 代碼。`type` 的 -1 值指出指定 ICMP 類型的所有 ICMP 代碼。
  + 【--cidr `value`】 – CIDR IP 範圍。
+ [create-launch-template](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-launch-template.html) – 建立啟動範本。*啟動範本*包含啟動執行個體的參數。當您使用 `RunInstances` 啟動執行個體時，可以指定啟動範本而無需在請求中提供啟動參數。每個裝置最多可以建立 100 個範本。
  + --launch-template-name `string` – 啟動範本的名稱。
  + --launch-template-data `structure` – 啟動範本的資訊。支援以下屬性：
    + `ImageId`
    + `InstanceType`
    + `SecurityGroupIds`
    + `TagSpecifications`
    + `UserData`

    JSON 語法：

    ```
    {
        "ImageId":"string",
        "InstanceType":"sbe-c.large",
        "SecurityGroupIds":["string", ...],
        "TagSpecifications":[{"ResourceType":"instance","Tags":[{"Key":"Name","Value":"Test"},
        {"Key":"Stack","Value":"Gamma"}]}],
        "UserData":"this is my user data"
    }
    ```
  + 【--version-description `string`】 – 啟動範本第一個版本的描述。
  + --endpoint `snowballEndpoint` – 可讓您使用 Amazon EC2-compatible API 操作，以程式設計方式管理運算執行個體的值。如需詳細資訊，請參閱[將 EC2-compatible端點指定為 Snowball Edge 上的 AWS CLI 端點](#using-ec2-adapter-cli-endpoint)。
+ [create-launch-template-version](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-launch-template-version.html) – 為啟動範本建立新版本。您可以指定現有的啟動範本版本當做新版本的基礎。啟動範本版本會依其建立順序進行編號。您無法指定、變更或替換啟動範本的版本編號。每個啟動範本最多可以建立 100 個版本。

  在請求中指定啟動範本 ID 或啟動範本名稱。
  + --launch-template-id `string` – 啟動範本的 ID。
  + --launch-template-name `string` – 啟動範本的名稱。
  + --launch-template-data `structure` – 啟動範本的資訊。支援以下屬性：
    + `ImageId`
    + `InstanceType`
    + `SecurityGroupIds`
    + `TagSpecifications`
    + `UserData`

    JSON 語法：

    ```
    {
        "ImageId":"string",
        "InstanceType":"sbe-c.large",
        "SecurityGroupIds":["string", ...],
        "TagSpecifications":[{"ResourceType":"instance","Tags":[{"Key":"Name","Value":"Test"},
         {"Key":"Stack","Value":"Gamma"}]}],
        "UserData":"this is my user data"
    }
    ```
  + 【--source-version `string`】 – 新版本的啟動範本版本編號。新的版本繼承相同於原始版本的啟動參數，但您在 `launch-template-data` 中指定的參數除外。
  + 【--version-description `string`】 – 啟動範本第一個版本的描述。
  + --endpoint `snowballEndpoint` – 可讓您使用 Amazon EC2-compatible API 操作，以程式設計方式管理運算執行個體的值。如需詳細資訊，請參閱[將 EC2-compatible端點指定為 Snowball Edge 上的 AWS CLI 端點](#using-ec2-adapter-cli-endpoint)。
+ [create-tags](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-tags.html) – 新增或覆寫指定資源的一或多個標籤。每個資源的上限為 50 個標籤。每個標籤皆包含索引鍵與選用值。資源的標籤索引鍵必須是唯一的。支援以下資源：
  + AMI
  + 執行個體
  + 啟動範本
  + 安全群組
  + 金鑰對
+ [create-security-group](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-security-group.html) – 在 Snowball Edge 上建立安全群組。您最多可以建立 50 個安全群組。建立安全群組時，您可以指定您所選易記名稱：
  + --group-name `value` – 安全群組的名稱。
  + --description `value` – 安全群組的描述。此資訊僅供參考。此值的長度最多為 255 個字元。
+ [create-volume](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-volume.html) – 建立可連接到裝置上的執行個體的 Amazon EBS 磁碟區。
  + 【-size `value`】 – 磁碟區的大小，以 GiBs為單位，可以是 1 GiB 到 1 TB (1000 GiBs)。
  + 【--snapshot-id `value`】 – 從中建立磁碟區的快照。
  + 【--volume-type `value`】 – 磁碟區類型。如未指定任何值，預設為 `sbg1`。可能的值包括以下：
    + `sbg1` 適用於磁性磁碟區
    + `sbp1` 適用於 SSD 磁碟區
  + 【--tag-specification `value`】 – 要在建立期間套用至磁碟區的標籤清單。
+ [delete-launch-template](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-launch-template.html) – 刪除啟動範本。刪除啟動範本會刪除它的所有版本。

  在請求中指定啟動範本 ID 或啟動範本名稱。
  + --launch-template-id `string` – 啟動範本的 ID。
  + --launch-template-name `string` – 啟動範本的名稱。
  + --endpoint `snowballEndpoint` – 可讓您使用 Amazon EC2-compatible API 操作，以程式設計方式管理運算執行個體的值。如需詳細資訊，請參閱[將 EC2-compatible端點指定為 Snowball Edge 上的 AWS CLI 端點](#using-ec2-adapter-cli-endpoint)。
+ [delete-launch-template-version](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-launch-template-version.html) – 刪除啟動範本的一或多個版本。您無法刪除啟動範本的預設版本；您必須先指派不同的版本做為預設值。如果預設版本是啟動範本的唯一版本，則使用 `delete-launch-template` 命令來刪除整個啟動範本。

  在請求中指定啟動範本 ID 或啟動範本名稱。
  + --launch-template-id `string` – 啟動範本的 ID。
  + --launch-template-name `string` – 啟動範本的名稱。
  + --versions （清單） `"string" "string"` – 要刪除的一或多個啟動範本版本的版本編號。
  + --endpoint `snowballEndpoint` – 可讓您使用 Amazon EC2-compatible API 操作，以程式設計方式管理運算執行個體的值。如需詳細資訊，請參閱[將 EC2-compatible端點指定為 Snowball Edge 上的 AWS CLI 端點](#using-ec2-adapter-cli-endpoint)。
+ [delete-security-group](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-security-group.html) – 刪除安全群組。

  如果您嘗試刪除的安全群組與執行個體相關聯，或其為另一個安全群組所參考的對象，則該操作會失敗並傳回 `DependencyViolation`。
  + --group-name `value` – 安全群組的名稱。
  + --description `value` – 安全群組的描述。此資訊僅供參考。此值的長度最多為 255 個字元。
+ [delete-tags](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-tags.html) – 從指定的資源 (AMI、運算執行個體、啟動範本或安全群組） 刪除指定的標籤集。
+ [delete-volume](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-volume.html) – 刪除指定的 Amazon EBS 磁碟區。磁碟區必須位在 `available` 狀態 (未連接到執行個體)。
  + --volume-id `value` – 磁碟區的 ID。
+ [describe-addresses](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-addresses.html) – 描述與裝置上的相同`sbe`執行個體數量相關聯的一或多個虛擬 IP 地址。
  + --public-ips – 與執行個體相關聯的一或多個虛擬 IP 地址。
+ [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) – 說明您可用的一或多個映像 AMIs)。您可用的映像會在任務建立期間新增至 Snowball Edge 裝置。
  + --image-id – AMI 的 Snowball AMI ID。
+ [describe-instance-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-attribute.html) – 描述指定執行個體的指定屬性。您一次只能指定一個屬性。支援以下屬性：
  + `instanceInitiatedShutdownBehavior` 
  + `instanceType`
  + `userData`
+ [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) – 描述一或多個執行個體。回應會傳回指派給執行個體的任何安全群組。
  + --instance-ids – 裝置上已停止之一或多個 `sbe` 執行個體的 ID。
  + --page-size – 呼叫中要取得的每個頁面大小。此值不會影響命令輸出中傳回的項目數。設定的頁面大小愈小，對裝置發出的呼叫就愈多，在每個呼叫中擷取的項目也愈少。這有助避免呼叫逾時。
  + --max-items – 在命令的輸出中傳回的項目總數。如果可用的總項目數超過指定的值，會在命令的輸出中提供 `NextToken`。若要繼續分頁，請在後續命令的 `starting-token` 引數中提供 `NextToken` 值。
  + --starting-token – 指定在何處開始分頁的字符。此符記是來自先前已截斷回應的 `NextToken` 值。
+ [describe-instance-status](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-status.html) – 描述指定執行個體或所有執行個體的狀態。根據預設，只會描述執行中的執行個體，除非您特別指示 傳回所有執行個體的狀態。執行個體狀態包括下列元件：
  + **狀態檢查** – Snow 裝置會在執行 Amazon EC2-compatible執行個體時執行狀態檢查，以識別硬體和軟體問題。
  + **執行個體狀態** – 從您啟動執行個體的那一刻起，您就可以管理執行個體，直到其終止為止。

  使用此命令時，支援以下篩選條件。
  + `[--filters]` （清單）

    篩選條件。
    + `instance-state-code` – 執行個體狀態的程式碼，以 16 位元無符號整數表示。高位元組用於內部服務報告，應予以忽略。低位元組是根據表示的狀態設定。有效值為 0 （待定）、16 （執行中）、32 （倒轉）、48 （已終止）、64 （停止） 和 80 （已停止）。
    + `instance-state-name` – 執行個體的狀態 (`pending` \$1 `running` \$1 `shutting-down` \$1 `terminated` \$1 `stopping` \$1 `stopped` )。
    + `instance-status.reachability` – 依名稱為 `reachability`(`passed` \$1 `failed` \$1 `initializing` \$1 ) `insufficient-data` 的執行個體狀態進行篩選。
    + `instance-status.status` – 執行個體的狀態 (`ok` \$1 `impaired` \$1 `initializing` \$1 `insufficient-data` \$1 `not-applicable` )。
    + `system-status.reachability` – 篩選名稱為可連線性的系統狀態 (`passed` \$1 `failed` \$1 `initializing` \$1 `insufficient-data` )。
    + `system-status.status` – 執行個體的系統狀態 (`ok` \$1 `impaired` \$1 `initializing` \$1 `insufficient-data` \$1 `not-applicable` )。
  + JSON 語法：

    ```
    [
      {
        "Name": "string",
        "Values": ["string", ...]
      }
      ...
    ]
    ```
  + `[--instance-ids]` （清單）

    執行個體 IDs。

    預設：描述您的所有執行個體。
  + `[--dry-run|--no-dry-run]` （布林值）

    檢查您是否具有動作所需的許可，而無需實際提出請求，並提供錯誤回應。如果您有必要的許可，則錯誤回應為 `DryRunOperation`。

    否則為 `UnauthorizedOperation`。
  + `[--include-all-instances | --no-include-all-instances]` （布林值）

    當 時`true`， 會包含所有執行個體的運作狀態。當 時`false`， 只會包含執行中執行個體的運作狀態。

    預設：`false`
  + `[--page-size]` （整數） – 要在通話中取得的每個頁面大小。此值不會影響命令輸出中傳回的項目數。設定的頁面大小愈小，對裝置發出的呼叫就愈多，在每個呼叫中擷取的項目也愈少。這有助避免呼叫逾時。
  + `[--max-items]` （整數） – 在命令的輸出中傳回的項目總數。如果可用的總項目數超過指定的值，會在命令的輸出中提供 `NextToken`。若要繼續分頁，請在後續命令的 `starting-token` 引數中提供 `NextToken` 值。
  + `[--starting-token]` （字串） – 用於指定從何處開始分頁的字符。此符記是來自先前已截斷回應的 `NextToken` 值。
+ [describe-launch-templates](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-launch-templates.html) – 說明一或多個啟動範本。`describe-launch-templates` 命令是一項分頁操作。您可以進行多個呼叫，以擷取結果的整個資料集。

  在請求中指定啟動範本 ID 或啟動範本名稱。
  + --launch-template-ids （清單） `"string" "string"` – 啟動範本IDs 清單。
  + --launch-template-names （清單） `"string" "string"` – 啟動範本的名稱清單。
  + --page-size – 呼叫中要取得的每個頁面大小。此值不會影響命令輸出中傳回的項目數。設定的頁面大小愈小，對裝置發出的呼叫就愈多，在每個呼叫中擷取的項目也愈少。這有助避免呼叫逾時。
  + --max-items – 在命令的輸出中傳回的項目總數。如果可用的總項目數超過指定的值，會在命令的輸出中提供 `NextToken`。若要繼續分頁，請在後續命令的 `starting-token` 引數中提供 `NextToken` 值。
  + --starting-token – 指定在何處開始分頁的字符。此符記是來自先前已截斷回應的 `NextToken` 值。
  + --endpoint `snowballEndpoint` – 可讓您使用 Amazon EC2-compatible API 操作，以程式設計方式管理運算執行個體的值。如需詳細資訊，請參閱[將 EC2-compatible端點指定為 Snowball Edge 上的 AWS CLI 端點](#using-ec2-adapter-cli-endpoint)。
+ [describe-launch-template-versions](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-launch-template-versions.html) – 描述指定啟動範本的一或多個版本。您可以描述所有版本、個別版本或多種版本。`describe-launch-template-versions` 命令是一項分頁操作。您可以進行多個呼叫，以擷取結果的整個資料集。

  在請求中指定啟動範本 ID 或啟動範本名稱。
  + --launch-template-id `string` – 啟動範本的 ID。
  + --launch-template-name `string` – 啟動範本的名稱。
  + 【--versions (list) `"string" "string"`】 – 要刪除的一或多個啟動範本版本的版本編號。
  + 【--min-version `string`】 – 描述啟動範本版本的版本編號。
  + 【--max-version `string`】 – 用來描述啟動範本版本的版本編號。
  + --page-size – 呼叫中要取得的每個頁面大小。此值不會影響命令輸出中傳回的項目數。設定的頁面大小愈小，對裝置發出的呼叫就愈多，在每個呼叫中擷取的項目也愈少。這有助避免呼叫逾時。
  + --max-items – 在命令的輸出中傳回的項目總數。如果可用的總項目數超過指定的值，會在命令的輸出中提供 `NextToken`。若要繼續分頁，請在後續命令的 `starting-token` 引數中提供 `NextToken` 值。
  + --starting-token – 指定在何處開始分頁的字符。此符記是來自先前已截斷回應的 `NextToken` 值。
  + --endpoint `snowballEndpoint` – 可讓您使用 Amazon EC2-compatible API 操作，以程式設計方式管理運算執行個體的值。如需詳細資訊，請參閱[將 EC2-compatible端點指定為 Snowball Edge 上的 AWS CLI 端點](#using-ec2-adapter-cli-endpoint)。
+ [describe-security-groups](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-security-groups.html) – 描述一或多個安全群組。

  `describe-security-groups` 命令是一項分頁操作。您可以發出多個 API 呼叫來擷取整個結果資料集。
  + 【--group-name `value`】 – 安全群組的名稱。
  + 【--group-id `value`】 – 安全群組的 ID。
  + 【--page-size `value`】 – 要在 AWS 服務呼叫中取得的每個頁面大小。此大小不會影響命令輸出中傳回的項目數。設定較小的頁面大小會導致對服務的 AWS 呼叫更多，每次呼叫中擷取的項目較少。此方法有助於防止 AWS 服務呼叫逾時。如需使用範例，請參閱*AWS Command Line Interface 《 使用者指南*[》中的分頁](https://docs.aws.amazon.com/cli/latest/userguide/pagination.html)。
  + 【--max-items `value`】 – 在命令的輸出中傳回的項目總數。如果可用的總項目數超過指定的值，會在命令的輸出中提供 `NextToken`。若要繼續分頁，請在後續命令的 `starting-token` 引數中提供 `NextToken` 值。請勿直接在 外部使用`NextToken`回應元素 AWS CLI。如需使用範例，請參閱*AWS Command Line Interface 《 使用者指南*[》中的分頁](https://docs.aws.amazon.com/cli/latest/userguide/pagination.html)。
  + 【--starting-token `value`】 – 指定在何處開始分頁的字符。此符記是來自先前已截斷回應的 `NextToken` 值。如需使用範例，請參閱*AWS Command Line Interface 《 使用者指南*》中的[分頁](https://docs.aws.amazon.com/cli/latest/userguide/pagination.html)。
+ [describe-tags](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-tags.html) – 描述指定資源 (`image`、 `instance`或 安全群組） 的一或多個標籤。系統會透過此命令，支援以下篩選條件：
  + launch-template
  + resource-id
  + resource-type – `image` 或 `instance`
  + 金錀
  + value
+ [describe-volumes](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-volumes.html) – 描述指定的 Amazon EBS 磁碟區。
  + 【--max-items `value`】 – 在命令的輸出中傳回的項目總數。如果可用的總項目數超過指定的值，會在命令的輸出中提供 `NextToken`。若要繼續分頁，請在後續命令的 `starting-token` 引數中提供 `NextToken` 值。
  + 【--starting-token `value`】 – 指定在何處開始分頁的字符。此符記是來自先前已截斷回應的 `NextToken` 值。
  + 【--volume-ids `value`】 – 一或多個磁碟區 IDs。
+ [detach-volume](https://docs.aws.amazon.com/cli/latest/reference/ec2/detach-volume.html) – 從已停止或執行中的執行個體分離 Amazon EBS 磁碟區。
  + 【--device `value`】 – 裝置名稱。
  + 【--instance-id】 – 目標 Amazon EC2 執行個體的 ID。
  + --volume-id `value` – 磁碟區的 ID。
+ [disassociate-address](https://docs.aws.amazon.com/cli/latest/reference/ec2/disassociate-address.html) – 將虛擬 IP 地址從相關聯的執行個體取消關聯。
  + --public-ip – 您要與執行個體取消關聯的虛擬 IP 地址。
+ [get-launch-template-data](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-launch-template-data.html) – 擷取指定執行個體的組態資料。此資料可用來建立啟動範本。
  + --instance-id – 單一 `sbe` 執行個體的 ID。
  + --endpoint `snowballEndpoint` – 可讓您使用 Amazon EC2-compatible API 操作，以程式設計方式管理運算執行個體的值。如需詳細資訊，請參閱[將 EC2-compatible端點指定為 Snowball Edge 上的 AWS CLI 端點](#using-ec2-adapter-cli-endpoint)。
+ [modify-launch-template](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-launch-template.html) – 修改啟動範本。您可以指定要將啟動範本的哪些版本設定為預設版本。如果您啟動執行個體但未指定啟動範本版本，系統會套用預設的啟動範本版本。

  在請求中指定啟動範本 ID 或啟動範本名稱。
  + --launch-template-id `string` – 啟動範本的 ID。
  + --launch-template-name `string` – 啟動範本的名稱。
  + --default-version `string` – 要設定為預設版本的啟動範本版本編號。
  + --endpoint `snowballEndpoint` – 可讓您使用 Amazon EC2-compatible API 操作，以程式設計方式管理運算執行個體的值。如需詳細資訊，請參閱[將 EC2-compatible端點指定為 Snowball Edge 上的 AWS CLI 端點](#using-ec2-adapter-cli-endpoint)。
+ [modify-instance-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html) – 修改指定執行個體的屬性。支援以下屬性：
  + `instanceInitiatedShutdownBehavior`
  + `userData`
+ [revoke-security-group-egress](https://docs.aws.amazon.com/cli/latest/reference/ec2/revoke-security-group-egress.html) – 從安全群組移除一或多個輸出規則：
  + 【--group-id `value`】 – 安全群組的 ID
  + 【--ip-permissions `value`】 – 一或多個 IP 許可集。
+ [revoke-security-group-ingress](https://docs.aws.amazon.com/cli/latest/reference/ec2/revoke-security-group-ingress.html) – 將一或多個輸入規則撤銷至安全群組。呼叫 `revoke-security-group-ingress` 時，您必須指定 `group-name` 或 `group-id` 的值。
  + 【--group-name `value`】 – 安全群組的名稱。
  + 【--group-id `value`】 – 安全群組的 ID。
  + 【--ip-permissions `value`】 – 一或多個 IP 許可集。
  + [--protocol `value`] IP 通訊協定。可能值為 `tcp`、`udp` 及 `icmp`。除非已指定 "all protocols" 的值 (-1)，否則需要 `--port` 引數。
  + 【--port `value`】 – 對於 TCP 或 UDP，允許連接埠的範圍。單一整數或範圍 （最小值至最大值）。

    對於 ICMP，單一整數或範圍 (`type`–`code`)，其中的 `type` 代表 ICMP 類型編號，而 `code` 代表 ICMP 代碼編號。-1 值表示所有 ICMP 類型的所有 ICMP 代碼。`type` 的 -1 值指出指定 ICMP 類型的所有 ICMP 代碼。
  + 【--cidr `value`】 – CIDR IP 範圍。
+ [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) – 使用 AMI 的 Snowball AMI ID 啟動多個運算執行個體。
**注意**  
根據執行個體的大小和類型，在 Snowball Edge 上啟動運算執行個體最多可能需要一小時半的時間。
  + 【--block-device-mappings `(list)]` – 區塊型設備映射項目。支援參數 `DeleteOnTermination`、`VolumeSize` 和 `VolumeType`。開機磁碟區類型必須是 `sbg1`。

    此命令的 JSON 語法如下所示。

    ```
    {
       "DeviceName": "/dev/sdh",
       "Ebs": 
       {
          "DeleteOnTermination": true|false,
          "VolumeSize": 100,
          "VolumeType": "sbp1"|"sbg1"
       }
    }
    ```
  + --count – 要啟動的執行個體數量。如果提供單個數目，會假定為要啟動的最小數目 (預設為 1)。如果以 `min:max` 的格式提供某個範圍，會將第一個數目視為要啟動的最小執行個體數目，而第二個則視為要啟動的最大執行個體數目。
  + --image-id – 您可以透過呼叫 取得的 AMI Snowball AMI ID`describe-images`。必須具有 AMI 才可啟動執行個體。
  + --InstanceInitiatedShutdownBehavior – 根據預設，當您從執行個體啟動關機時 （使用關機或關機等命令），執行個體會停止。您可以變更這項預設動作，讓執行個體改為終止。支援參數 `stop` 和 `terminate`。預設值為 `stop`。如需詳細資訊，請參閱《*Amazon EC2 Linux *[執行個體使用者指南》中的變更執行個體啟動的關機行為](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingInstanceInitiatedShutdownBehavior)。
  + --instance-type – `sbe` 執行個體類型。
  + --launch-template `structure` – 用來啟動執行個體的啟動範本。任何您在 `run-instances` 命令中指定的參數都會覆寫啟動範本中的相同參數。您可以指定啟動範本的名稱或 ID，但不能同時指定兩者。

    ```
    {
       "LaunchTemplateId": "string",
       "LaunchTemplateName": "string",
       "Version": "string"
    }
    ```
  + --security-group-ids – 一或多個安全群組 IDs。您可以使用 [CreateSecurityGroup](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSecurityGroup.html) 來建立安全群組。如果未提供任何值，則會對建立的執行個體指派預設安全群組的 ID。
  + --tag-specifications – 在啟動期間套用至資源的標籤。您只能在啟動時對執行個體加上標籤。指定的標籤會套用至所有於啟動期間建立的執行個體。若要在資源建立後為其加上標籤，請使用 `create-tags`。
  + --user-data – 要提供給執行個體的使用者資料。如果您使用的是 AWS CLI，則會為您執行 base64 編碼，而且您可以從檔案載入文字。否則，您必須提供 base64 編碼的文字。
  + --key-name （字串） – 金鑰對的名稱。您可以使用 `CreateKeyPair`或 建立金鑰對`ImportKeyPair`。
**警告**  
如果您未指定金鑰對，除非您選擇設定為允許使用者以其他方式登入的 AMI，否則無法連線到執行個體。
+ [start-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html) – 啟動您先前已停止的`sbe`執行個體。連接到該執行個體的所有資源在啟動和停止的整個過程中都會持續存在，但若執行個體已終止，就會予以清除。
  + --instance-ids – 裝置上已停止之一或多個 `sbe` 執行個體的 ID。
+ [stop-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html) – 停止正在執行的`sbe`執行個體。連接到該執行個體的所有資源在啟動和停止的整個過程中都會持續存在，但若執行個體已終止，就會予以清除。
  + --instance-ids – 裝置上已停止之一或多個 `sbe` 執行個體的 ID。
+ [terminate-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/terminate-instances.html) – 關閉一或多個執行個體。這是等冪操作，如果您多次終止執行個體，每個呼叫都會成功。連接到該執行個體的所有資源在啟動和停止的整個過程中都會持續存在，但若執行個體已終止，就會清除資料。
**注意**  
根據預設，使用如 `shutdown` 或 `poweroff` 等命令時，該執行個體會停止。不過，您可以使用 `InstanceInitiatedShutdownBehavior` 屬性來變更此行為，讓這些命令終止您的執行個體。如需詳細資訊，請參閱《*Amazon EC2 Linux *[執行個體使用者指南》中的變更執行個體啟動的關機行為](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingInstanceInitiatedShutdownBehavior)。
  + --instance-ids – 要在裝置上終止的一或多個`sbe`執行個體IDs。為這些執行個體存放的所有相關聯資料都將遺失。
+ [create-key-pair](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-key-pair.html) – 建立具有指定名稱的 2048 位元 RSA 金鑰對。Amazon EC2 會存放公有金鑰，並顯示私有金鑰供您儲存至檔案。私有金鑰會以未加密的 PEM 編碼 PKCS\$11 私有金鑰傳回。如果具有指定名稱的金鑰已存在，Amazon EC2 會傳回錯誤。
  + --key-name （字串） – 金鑰對的唯一名稱。

    限制條件：最多 255 個 ASCII 字元。
  + 【--tag-specifications】 (list) – 要套用至新金鑰對的標籤。

  ```
  {
      "ResourceType": "image"|"instance"|"key-pair"|"launch-template"|"security-group",
      "Tags": [
        {
          "Key": "string",
          "Value": "string"
        }
        ...
      ]
    }
    ...
  ```
+ [import-key-pair](https://docs.aws.amazon.com/cli/latest/reference/ec2/import-key-pair.html) – 
  + --key-name （字串） – 金鑰對的唯一名稱。

    限制條件：最多 255 個 ASCII 字元。
  + --public-key-material (blob) – 公有金鑰。對於 API 呼叫，文字必須是 base64 編碼。對於命令列工具，會為您執行 base64 編碼。
  + 【--tag-specifications】 (list) – 要套用至新金鑰對的標籤。

  ```
  {
      "ResourceType": "image"|"instance"|"key-pair"|"launch-template"|"security-group",
      "Tags": [
        {
          "Key": "string",
          "Value": "string"
        }
        ...
      ]
    }
  ```
+ [describe-key-pairs](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-key-pairs.html) – 

  【--filters】 （清單） – 篩選條件。
  + key-pair-id – 金鑰對的 ID。
  + key-name – 金鑰對的名稱。
  + tag-key – 指派給資源之標籤的索引鍵。使用此篩選條件來尋找指派具有特定索引鍵之標籤的所有資源，無論標籤值為何。
  + 【--tag-specifications】 (list) – 要套用至新金鑰對的標籤。
  + tag ：key – 指派給資源之標籤的鍵/值組合。使用篩選條件名稱中的標籤鍵，並將標籤值作為篩選條件值。例如，要尋找標籤帶有鍵 `Owner` 和值 `Team A` 的所有資源，將篩選條件名稱指定為 `tag:Owner`，將篩選條件值指定為 `Team A`。

  ```
  {
      "Name": "string",
      "Values": ["string", ...]
    }
    ...
  ```
+ 【--key-names】 （清單） – 金鑰對名稱。

  預設：描述所有金鑰對。
+ 【--key-pair-ids】 （清單） – 金鑰對IDs。
+ [delete-key-pair](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-key-pair.html) – 
  + 【--key-name】 （字串） – 金鑰對的名稱。
  + 【--key-pair-id】 （字串） – 金鑰對的 ID。

## Snowball Edge 上支援的 EC2-compatible API 操作
<a name="using-ec2-adapter-supported-api"></a>

您可以在下面找到可與 Snowball Edge 搭配使用的 EC2-compatible API 操作，並在 *Amazon EC2 API 參考中找到其描述的連結。 *Amazon EC2-compatible API 呼叫需要簽章版本 4 (SigV4) 簽署。如果您使用 AWS CLI 或 AWS SDK 進行這些 API 呼叫，則會為您處理 SigV4 簽署。否則，您需要實作自己的 SigV4 簽署解決方案。如需詳細資訊，請參閱[在 Snowball Edge 上取得和使用本機 Amazon S3 登入資料](using-adapter.md#adapter-credentials)。
+ [AssociateAddress](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_AssociateAddress.html) – 將彈性 IP 地址與執行個體或網路界面建立關聯。
+  [AttachVolume](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_AttachVolume.html) – 支援下列請求參數：
  + `Device`
  + `InstanceId`
  + `VolumeId`
+ [AuthorizeSecurityGroupEgress](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_AuthorizeSecurityGroupEgress.html) – 將一或多個輸出規則新增至安全群組，以便與 Snowball Edge 裝置搭配使用。特別是，這個動作允許執行個體將流量傳送到一或多個目的地 IPv4 CIDR 地址範圍。
+ [AuthorizeSecurityGroupIngress](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_AuthorizeSecurityGroupIngress.html) – 將一或多個輸入規則新增至安全群組。呼叫 AuthorizeSecurityGroupIngress 時，您必須指定 `GroupName` 或 `GroupId` 的值。
+  [CreateVolume](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) – 支援下列請求參數：
  + `SnapshotId`
  + `Size`
  + `VolumeType`
  + `TagSpecification.N`
+ [CreateLaunchTemplate](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateLaunchTemplate.html) – 支援下列請求參數：
  + `ImageId`
  + `InstanceType`
  + `SecurityGroupIds`
  + `TagSpecifications`
  + `UserData`
+ [CreateLaunchTemplateVersion](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateLaunchTemplateVersion.html)
+ [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html) – 支援下列請求參數：
  + `AMI`
  + `Instance`
  + `Launch template`
  + `Security group`
+ [CreateSecurityGroup](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSecurityGroup.html) – 在 Snowball Edge 上建立安全群組。您最多可以建立 50 個安全群組。建立安全群組時，您可以指定您所選易記名稱。
+ [DeleteLaunchTemplate](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DeleteLaunchTemplate.html)
+ [DeleteLaunchTemplateVersions](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DeleteLaunchTemplateVersions.html)
+ [DeleteSecurityGroup](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DeleteSecurityGroup.html) – 刪除安全群組。如果您嘗試刪除的安全群組與執行個體相關聯，或其為另一個安全群組所參考的對象，則該操作會失敗並傳回 `DependencyViolation`。
+ [DeleteTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DeleteTags.html) – 從指定的資源集刪除指定的標籤集。
+  [DeleteVolume](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DeleteVolume.html) – 支援下列請求參數：
  + `VolumeId`
+ [DescribeAddresses](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAddresses.html)
+ [DescribeImages](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImages.html)
+ [DescribeInstanceAttribute ](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstanceAttribute.html) - 支援下列屬性：
  + `instanceType`
  + `userData`
+ <a name="API_describe-instance-status"></a>[DescribeInstanceStatus](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstanceStatus.html)
+ [DescribeLaunchTemplates](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeLaunchTemplates.html)
+ [DeleteLaunchTemplateVersions](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeLaunchTemplateVersions.html)
+ [DescribeInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html)
+ [DescribeSecurityGroups](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeSecurityGroups.html) – 描述一或多個安全群組。 `DescribeSecurityGroups` 是一種分頁操作。您可以發出多個 API 呼叫來擷取整個結果資料集。
+ [DescribeTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTags.html) – 使用此命令，下列篩選會受到支援：
  + `resource-id`
  + `resource-type` – 僅限 AMI 或運算執行個體
  + `key`
  + `value`
+  [DescribeVolume](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVolumes.html) – 支援下列請求參數：
  + `MaxResults`
  + `NextToken`
  + `VolumeId.N`
+  [DetachVolume](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DetachVolumes.html) – 支援下列請求參數：
  + `Device`
  + `InstanceId`
  + `VolumeId`
+ [DisassociateAddress](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DisassociateAddress.html)
+ [GetLaunchTemplateData](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetLaunchTemplateData.html)
+ [ModifyLaunchTemplate](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyLaunchTemplate.html)
+ [ModifyInstanceAttribute](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceAttribute.html) – 僅支援 `userData` 屬性。
+ [RevokeSecurityGroupEgress](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RevokeSecurityGroupEgress.html) – 從安全群組移除一或多個輸出規則。
+ [RevokeSecurityGroupIngress](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RevokeSecurityGroupIngress.html) – 將一或多個輸入規則撤銷至安全群組。呼叫 RevokeSecurityGroupIngress 時，您必須指定 `group-name` 或 `group-id` 的值。
+ [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) –
**注意**  
根據執行個體的大小和類型，在 Snowball Edge 上啟動運算執行個體最多可能需要一小時半的時間。
+ [StartInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_StartInstances.html)
+ [StopInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_StopInstances.html) – 與已停止執行個體相關聯的資源會持續存在。您可以終止執行個體來釋放這些資源。不過，任何相關資料會遭到刪除。
+ [TerminateInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TerminateInstances.html)

# 在 Snowball Edge 上使用啟動範本自動啟動 EC2-compatible執行個體
<a name="ec2-autostart"></a>

您可以使用啟動範本和 Snowball Edge 用戶端啟動組態命令，在您的裝置上自動 AWS Snowball 邊緣 啟動與 Amazon EC2-compatible執行個體。

*啟動範本*包含在 Snowball Edge 上建立 Amazon EC2-compatible執行個體所需的組態資訊。您可以使用啟動範本來存放啟動參數，因此您不必在每次在 Snowball Edge 上啟動 EC2-compatible執行個體時指定這些參數。

當您在 Snowball Edge 上使用自動啟動組態時，您可以設定您希望 Amazon EC2-compatible執行個體開頭的參數。設定 Snowball Edge 之後，當您重新啟動並解鎖它時，它會使用自動啟動組態來啟動具有您指定參數的執行個體。若您使用自動開始組態啟動的執行個體已停止，它會在裝置解除鎖定後開始執行。

**注意**  
首次設定自動開始組態後，請重啟裝置來啟動該組態。所有後續執行個體啟動 （在計劃或非計劃重新啟動之後） 都會在裝置解除鎖定後自動執行。

當您啟動執行個體時，啟動範本可以指定 Amazon EC2-compatible執行個體的 Amazon Machine Image (AMI) ID、執行個體類型、使用者資料、安全群組和標籤。如需支援的執行個體類型清單，請參閱 [Snowball Edge 裝置上的運算執行個體配額](ec2-edge-limits.md)。

若要在您的 Snowball Edge 上自動啟動 EC2-compatible執行個體，請執行下列步驟：

1. 當您訂購 AWS Snowball 邊緣 裝置時，請建立任務來訂購具有運算執行個體的 Snowball Edge 裝置。如需詳細資訊，請參閱[建立任務以訂購 Snowball Edge](https://docs.aws.amazon.com/snowball/latest/developer-guide/create-job-common.html)。

1. 收到您的 Snowball Edge 之後，請將其解除鎖定。

1. 使用 EC2-compatible API 命令`aws ec2 create-launch-template`來建立啟動範本。

1. 使用 Snowball Edge 用戶端命令`snowballEdge create-autostart-configuration`，將您的 EC2-compatible執行個體啟動範本繫結至您的網路組態。如需詳細資訊，請參閱[在 Snowball Edge 上建立與 EC2-compatible啟動組態](using-ec2-edge-client.md#ec2-edge-create-autostart-config)。

1. 重新啟動，然後解鎖您的裝置。您的 EC2-compatible執行個體會使用啟動範本中指定的屬性和 Snowball Edge 用戶端命令 自動啟動`create-autostart-configuration`。

若要檢視執行中執行個體的狀態，請使用 EC2-compatible API 命令 `describe-autostart-configurations`。

**注意**  
沒有 AWS Snowball Edge 支援啟動範本的主控台或任務管理 API。您可以使用 EC2-compatible和 Snowball Edge 用戶端 CLI 命令，在您的 AWS Snowball 邊緣 裝置上自動啟動 EC2-compatible執行個體。

# 在 Snowball Edge 上使用 Instance Metadata Service for Snow 搭配與 Amazon EC2-compatible執行個體
<a name="imds"></a>

IMDS for Snow 為 Snow 上的 Amazon EC2-compatible執行個體提供執行個體中繼資料服務 (IMDS)。執行個體中繼資料是執行個體的相關資訊類別。它包含*主機名稱*、*事件*和*安全群組*等類別。使用 IMDS for Snow，您可以使用執行個體中繼資料來存取您在啟動 Amazon EC2-compatible執行個體時指定的使用者資料。例如，您可以使用 IMDS for Snow 來指定設定執行個體的參數，或在簡單的指令碼中包含這些參數。您可以建立一般 AMI 並使用使用者資料來修改啟動時提供的組態檔案。

若要了解執行個體中繼資料和使用者資料以及 Snow EC2-compatible執行個體，請參閱本指南中的[支援的執行個體中繼資料和使用者資料](https://docs.aws.amazon.com/snowball/latest/developer-guide/edge-compute-instance-metadata.html)。

**重要**  
雖然您只能在執行個體內部存取執行個體中繼資料和使用者資料，資料並未受到驗證或密碼編譯法保護。可直接存取執行個體的任何人，以及可能在該執行個體上執行的任何軟體，都能檢視其中繼資料。因此，您不應該將敏感性資料 (例如密碼或長期加密金鑰) 儲存為使用者資料。

**注意**  
本節中的範例使用執行個體中繼資料服務的 IPv4 地址： 169.254.169.254。我們不支援使用連結本機 IPv6 地址擷取執行個體中繼資料。

**Topics**
+ [Snowball Edge 上的 IMDS 版本](imds-versions.md)
+ [在 Snowball Edge 上使用 IMDSv1 和 IMDSv2 擷取執行個體中繼資料的範例](imds-code-examples.md)

# Snowball Edge 上的 IMDS 版本
<a name="imds-versions"></a>

您可以使用 IMDS 第 2 版或 IMDS 第 1 版，從執行中的執行個體存取執行個體中繼資料：
+ Instance Metadata Service 第 2 版 (IMDSv2)，一種工作階段導向的方法
+ 執行個體中繼資料服務第 1 版 (IMDSv1)，一種請求回應方法

根據您的 Snow 軟體版本，您可以使用 IMDSv1, IMDSv2 或兩者。這也取決於 EC2-compatible執行個體中執行的 AMI 類型。有些 AMIs，例如執行 Ubuntu 20.04 的 AMI，需要 IMDSv2。執行個體中繼資料服務會根據 `PUT`或 `GET`標頭的存在，區分 IMDSv1 和 IMDSv2 請求。IMDSv2 使用這兩個標頭。IMDSv1 僅使用 `GET`標頭。

AWS 鼓勵使用 IMDSv2 而非 IMDSv1，因為 IMDSv2 包含更高的安全性。如需詳細資訊，請參閱 [透過 EC2 執行個體中繼資料服務的增強功能，提高開放式防火牆、反向代理伺服器及 SSRF (伺服器端請求偽造) 弱點的防禦能力](https://aws.amazon.com/blogs/security/defense-in-depth-open-firewalls-reverse-proxies-ssrf-vulnerabilities-ec2-instance-metadata-service/)。

## Snowball Edge 上的 IMDSv2
<a name="imdsv2"></a>

當您使用 IMDSv2 請求執行個體中繼資料時，請求必須遵循下列規則：

1. 使用 `PUT` 請求，在執行個體中繼資料服務中起始工作階段。`PUT` 請求會傳回工作階段字符，該字符必須包含在執行個體中繼資料服務的後續`GET`請求中。定義工作階段持續時間的工作階段字符。工作階段持續時間最短為 1 秒，最長為 6 小時。在此期間，您可以將相同的工作階段字符用於後續請求。在此持續時間過期後，您必須為未來的請求建立新的工作階段字符。字符必須使用 IMDSv2 存取中繼資料。

1. 將字符包含在執行個體中繼資料服務的所有 `GET` 請求。

   1. 字符是執行個體特定的金鑰。權杖在其他 EC2-compatible執行個體上無效，如果您嘗試在產生權杖的執行個體之外使用權杖，則會遭到拒絕。

   1. `PUT` 請求必須包含指定字符存留時間 (TTL)，時間會以秒數表示且最長可達 6 小時 (21,600 秒)。字符會代表邏輯工作階段。TTL 會指定字符有效的時間長度，也就是工作階段的持續期間。

   1. 在字符到期後，若要繼續存取執行個體中繼資料，您必須使用另一個 `PUT` 請求建立新的工作階段。

   1. 您可以選擇重複使用字符或使用每個請求來建立新字符。對於少量請求，您每次需要存取執行個體中繼資料服務時，就能更輕鬆地產生和立即使用字符。但為了提升效率，您可以為該字符指定時間更長的持續期間，然後再重複使用該字符，而不需要在每次要請求執行個體中繼資料時寫入 `PUT`。並行字符數量沒有實際限額，每個都代表它自己的工作階段。

HTTP `GET` 及 `HEAD` 方法可在 IMDSv2 執行個體中繼資料請求中使用。如果 `PUT` 請求中包含 `X-Forwarded-For` 標頭，則會遭到拒絕。

根據預設，對`PUT`請求的回應在 IP 通訊協定層級的回應跳轉限制 （存留時間） 為 1。IMDS for Snow 無法修改`PUT`回應的跳轉限制。

下列範例使用 Linux shell 指令碼和 IMDSv2 來擷取最上層執行個體中繼資料項目。此範例：

1. 使用 `PUT`請求建立持續六個小時 (21，600 秒） 的工作階段字符。

1. 將工作階段字符標頭存放在名為 的變數中`TOKEN`。

1. 使用字符請求最上層中繼資料項目。

使用兩個命令來產生 EC2-compatible字符。您可以個別執行命令，或做為一個命令執行。

首先，使用以下命令產生字符。

**注意**  
`X-aws-ec2-metadata-token-ttl-seconds` 是必要的標頭。如果未包含此標頭，您將收到 **400 - 缺少或無效的參數**錯誤代碼。

```
    [ec2-user ~]$ TOKEN=curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"
```

然後，使用以下命令使用字符產生最上層中繼資料項目。

```
    [ec2-user ~]$ curl -H "X-aws-ec2-metadata-token: $TOKEN" -v http://169.254.169.254/latest/meta-data/
```

**注意**  
如果建立字符時發生錯誤，則會在 變數中儲存錯誤訊息，而非有效的字符，且命令將無法運作。

您可以存放字符並組合命令。下列範例結合上述兩個命令，並將工作階段字符標頭存放在名為 的變數中`TOKEN`。

**Example 合併命令的**  

```
    [ec2-user ~]$ TOKEN=curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600" \
    && curl -H "X-aws-ec2-metadata-token: $TOKEN" -v http://169.254.169.254/latest/meta-data/
```

建立字符之後，您可以重複使用直到到期為止。下列範例命令會取得用來啟動執行個體的 AMI ID，並將其存放在先前範例中`$TOKEN`建立的 中。

**Example 重複使用字符**  

```
    [ec2-user ~]$ curl -H "X-aws-ec2-metadata-token: $TOKEN" -v http://169.254.169.254/latest/meta-data/ami-id                        
```

## Snowball Edge 上的 IMDSv1
<a name="imdsv1"></a>

IMDSv1 使用請求-回應模型。若要請求執行個體中繼資料，請將`GET`請求傳送至執行個體中繼資料服務。

```
    [ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/                   
```

您的執行個體中繼資料可從執行中的執行個體取得，因此您不需要使用 Amazon EC2 主控台或 AWS CLI 來存取它。若您正在撰寫要從您的執行個體執行的指令碼，這將會很有幫助。例如，您可以存取從執行個體中繼資料存取您執行個體的本機 IP 地址，管理與外部應用程式的連線。執行個體中繼資料分為數種分類。如需每個執行個體中繼資料類別的說明，請參閱本指南中的[支援的執行個體中繼資料和使用者資料](https://docs.aws.amazon.com/snowball/latest/developer-guide/edge-compute-instance-metadata.html)。

若要從執行中的執行個體中檢視所有類別的執行個體中繼資料，請使用下列 IPv4 URI：

```
    http://169.254.169.254/latest/meta-data/
```

IP 地址是 link-local 地址且僅在執行個體中有效。如需詳細資訊，請參閱維基百科上的 [Link-local address](https://en.wikipedia.org/wiki/Link-local_address)。

所有執行個體中繼資料都會以文字傳回 (HTTP 內容類型 `text/plain`)。

對特定中繼資料資源的請求會傳回適當的值，如果資源不可用，則傳回 **404 - 找不到** HTTP 錯誤代碼。

一般中繼資料資源的請求 （當 URI 以`/`字元結尾時） 會傳回可用資源的清單，如果沒有此類資源，則會傳回 **404 - 找不到** HTTP 錯誤碼。清單項目位於不同的行，以行饋送 (ASCII 字元碼 10) 終止。

對於使用 IMDSv1 提出的請求，可以傳回下列 HTTP 錯誤代碼：
+ **400 - 缺少參數或參數無效** - `PUT`請求無效。
+ **401 – 未授權** — `GET`請求使用無效的字符。建議動作會產生新字符。
+ **403 - 禁止** - 不允許請求或關閉執行個體中繼資料服務。

# 在 Snowball Edge 上使用 IMDSv1 和 IMDSv2 擷取執行個體中繼資料的範例
<a name="imds-code-examples"></a>

以下範例是可在 Linux 執行個體上使用的命令。

**Example 取得執行個體中繼資料的可用版本**  
此範例會取得執行個體中繼資料的可用版本。每個版本會參照在發佈新執行個體中繼資料類別時的執行個體中繼資料建置。若您有依存於先前版本中結構和資訊的指令碼，您也可以取得先前版本。  
IMDSV2  

```
    [ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` && curl -H "X-aws-ec2-metadata-token: $TOKEN" -v http://169.254.169.254/
    % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current  Dload  Upload   Total   Spent    Left  Speed
    100        56         100      56      0       0       3733     0    --:--:-- --:--:-- --:--:--  3733
    *   Trying 169.254.169.254...
    * TCP_NODELAY set
    * Connected to 169.254.169.254 (169.254.169.254) port 80 (#0)
    > GET / HTTP/1.1
    > Host: 169.254.169.254
    > User-Agent: curl/7.61.1
    > Accept: */*
    > X-aws-ec2-metadata-token: MDAXcxNFLbAwJIYx8KzgNckcHTdxT4Tt69TzpKExlXKTULHIQnjEtXvD
    >
    * HTTP 1.0, assume close after body
    < HTTP/1.0 200 OK
    < Date: Mon, 12 Sep 2022 21:58:03 GMT
    < Content-Length: 274
    < Content-Type: text/plain
    < Server: EC2ws
    <
    1.0
    2007-01-19
    2007-03-01
    2007-08-29
    2007-10-10
    2007-12-15
    2008-02-01
    2008-09-01
    2009-04-04
    2011-01-01
    2011-05-01
    2012-01-12
    2014-02-25
    2014-11-05
    2015-10-20
    2016-04-19
    2016-06-30
    2016-09-02
    2018-03-28
    2018-08-17
    2018-09-24
    2019-10-01
    2020-10-27
    2021-01-03
    2021-03-23
    * Closing connection 0
```
IMDSv1  

```
    [ec2-user ~]$ curl http://169.254.169.254/
    1.0
    2007-01-19
    2007-03-01
    2007-08-29
    2007-10-10
    2007-12-15
    2008-02-01
    2008-09-01
    2009-04-04
    2011-01-01
    2011-05-01
    2012-01-12
    2014-02-25
    2014-11-05
    2015-10-20
    2016-04-19
    2016-06-30
    2016-09-02
    2018-03-28
    2018-08-17
    2018-09-24
    2019-10-01
    2020-10-27
    2021-01-03
    2021-03-23
    latest
```

**Example 取得最上層中繼資料項目**  
此範例會取得最上層中繼資料項目。如需最上層中繼資料項目的詳細資訊，請參閱本指南中的[支援的執行個體中繼資料和使用者資料](https://docs.aws.amazon.com/snowball/latest/developer-guide/edge-compute-instance-metadata.html)。  
IMDSV2  

```
    [ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` && curl -H "X-aws-ec2-metadata-token: $TOKEN" -v http://169.254.169.254/latest/meta-data/ 
    ami-id
    hostname
    instance-id
    instance-type
    local-hostname
    local-ipv4
    mac
    network/
    reservation-id
    security-groups
```
IMDSv1  

```
    [ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/ 
    ami-id
    hostname
    instance-id
    instance-type
    local-hostname
    local-ipv4
    mac
    network/
    reservation-id
    security-groups
```

**Example 取得最上層中繼資料的值**  
下列範例會取得在上述範例中取得的一些最上層中繼資料項目的值。IMDSv2 請求會使用在之前範例命令中建立的儲存字符，前提是字符並未過期。  
`ami‐id` IMDSv2  

```
    curl -H "X-aws-ec2-metadata-token: $TOKEN" -v http://169.254.169.254/latest/meta-data/ami-id ami-0abcdef1234567890                    
```
`ami-id` IMDSv1  

```
    curl http://169.254.169.254/latest/meta-data/ami-id ami-0abcdef1234567890                    
```
`reservation-id` IMDSv2  

```
    [ec2-user ~]$ curl -H "X-aws-ec2-metadata-token: $TOKEN" -v http://169.254.169.254/latest/meta-data/reservation-id r-0efghijk987654321
```
`reservation-id` IMDSv1  

```
    [ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/reservation-id \
    r-0efghijk987654321
```
`local-hostname` IMDSv2  

```
    [ec2-user ~]$ curl -H "X-aws-ec2-metadata-token: $TOKEN" -v http://169.254.169.254/latest/meta-data/local-hostname ip-00-000-00-00                    
```
`local-hostname` IMDSv1  

```
    [ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/local-hostname ip-00-000-00-00
```

# 搭配 Snowball Edge 上的 Amazon EC2-compatible執行個體使用區塊儲存
<a name="edge-ebs"></a>

透過 Snowball Edge 上的區塊儲存，您可以根據應用程式的需求新增或移除區塊儲存。連接至 Amazon EC2-compatible執行個體的磁碟區會公開為與執行個體生命週期無關的儲存磁碟區。您可以使用熟悉的 Amazon EBS API 管理區塊儲存。

使用 EC2-compatible端點支援某些 Amazon EBS 命令。支援的命令包括 `attach-volume`、`create-volume`、`delete-volume`、`detach-volume` 和 `describe-volumes`。如需這些命令的詳細資訊，請參閱 [Snowball Edge 上支援的 EC2-compatible AWS CLI 命令清單](using-ec2-endpoint.md#list-cli-commands-ec2-edge)。

**重要**  
在分離磁碟區之前，請務必在作業系統內的裝置上卸載任何檔案系統。否則可能會導致資料遺失。

您可以在下面找到 Amazon EBS 磁碟區配額，以及裝置上的 Amazon EBS 磁碟區與雲端中的 Amazon EBS 磁碟區之間的差異：
+ Amazon EBS 磁碟區僅適用於在託管磁碟區的裝置上執行的 EC2-compatible執行個體。
+ 磁碟區類型僅限於容量最佳化 HDD (`sbg1`) 或效能最佳化 SSD ()`sbp1`。預設磁碟區類型為 `sbg1`。
+ Snowball Edge 會在 Amazon S3 物件和 Amazon EBS 之間共用 HDD 記憶體。如果您在 上使用 HDD 型區塊儲存 AWS Snowball 邊緣，則會減少 Amazon S3 物件可用的記憶體量。同樣地，Amazon S3 物件可減少 HDD 磁碟區上 Amazon EBS 區塊儲存的可用記憶體量。
+ Amazon EC2-compatible根磁碟區一律使用 IDE 驅動程式。如果可用，其他 Amazon EBS 磁碟區會優先使用 Virtio 驅動程式。如果無法使用 Virtio 驅動程式，SBE 會預設為 IDE 驅動程式。建議使用 Virtio 驅動程式，因為它可提供較佳效能。
+ 建立 Amazon EBS 磁碟區時，不支援 `encrypted` 參數。不過，預設會加密您裝置上的所有資料。。
+ 磁碟區的大小可介於 1 GB 到 10 TB 之間。
+ 單一 EC2-compatible執行個體最多可連接 10 個 Amazon EBS 磁碟區。
+ 您可以在 AWS Snowball 邊緣 裝置上擁有的 Amazon EBS 磁碟區數量沒有正式限制。不過，Amazon EBS 磁碟區總容量會受限於裝置上的可用空間。

# 使用 Snowball Edge 上的安全群組控制網路流量
<a name="edge-security-groups"></a>

*安全群組*可做為一種虛擬防火牆，控制一或多個執行個體的流量。啟動執行個體時，就代表將一或多個安全群組與執行個體建立關聯。您可以在各個安全群組新增規則，允許流量往返於建立關聯的執行個體。如需詳細資訊，請參閱《[Amazon EC2 使用者指南》中的 Linux 執行個體的 Amazon EC2 安全群組](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)。 Amazon EC2 

Snowball Edge 裝置上的安全群組類似於 雲端中的 AWS 安全群組。Snowball Edge 裝置不支援虛擬私有雲端 (VPCs)。

您可以在下面找到 Snowball Edge 安全群組和 EC2 VPC 安全群組之間的其他差異：
+ 每個 Snowball Edge 裝置都有 50 個安全群組的限制。
+ 預設的安全群組會允許所有對內及對外流量。
+ 本機執行個體之間的流量可以使用私有執行個體 IP 地址或公有 IP 地址。例如，假設您希望使用 SSH 從執行個體 A 連接到執行個體 B。在這種情況下，如果安全群組規則允許流量，則您的目標 IP 地址可以是執行個體 B 的公有 IP 或私有 IP 地址。
+ 僅支援為 AWS CLI 動作和 API 呼叫列出的參數。這些通常是 EC2 VPC 執行個體中支援的部分。

如需支援 AWS CLI 動作的詳細資訊，請參閱 [Snowball Edge 上支援的 EC2-compatible AWS CLI 命令清單](using-ec2-endpoint.md#list-cli-commands-ec2-edge)。如需支援 API 操作的詳細資訊，請參閱 [Snowball Edge 上支援的 EC2-compatible API 操作](using-ec2-endpoint.md#using-ec2-adapter-supported-api)。

# Snowball Edge 上支援的 EC2-compatible執行個體中繼資料和使用者資料
<a name="edge-compute-instance-metadata"></a>

*執行個體中繼資料* 是關於您執行個體的資料，您可以用來設定或管理執行中的執行個體。Snowball Edge 支援運算執行個體的執行個體中繼資料類別子集。如需詳細資訊，請參閱《Amazon EC2 使用者指南》中的[執行個體中繼資料和使用者資料](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)。

支援下列類別。使用任何其他類別會傳回 `404` 錯誤訊息。


**Snowball Edge 裝置上支援的執行個體中繼資料類別**  

| 資料 | 描述 | 
| --- | --- | 
|  ami-id  | 用於啟動執行個體的 AMI ID。 | 
| hostname | 執行個體的私有 IPv4 DNS 主機名稱。 | 
|  instance-id  | 此執行個體的 ID。 | 
|  instance-type  | 執行個體的類型。 | 
|  local-hostname  | 執行個體的私有 IPv4 DNS 主機名稱。 | 
|  local-ipv4  | 執行個體的私有 IPv4 地址。 | 
|  mac  | 執行個體的媒體存取控制 (MAC) 地址。 | 
|  network/interfaces/macs/mac/local-hostname  | 界面的本機主機名稱。 | 
|  network/interfaces/macs/mac/local-ipv4s  | 與介面相關聯的私有 IPv4 地址。 | 
|  network/interfaces/macs/mac/mac  | 執行個體的 MAC 地址。 | 
|  network/interfaces/macs/mac/public-ipv4s  | 與界面相關聯的彈性 IP 地址。 | 
|  public-ipv4  | 公有 IPv4 地址。 | 
|  public-keys/0/openssh-key  | 公有金鑰。只有在執行個體啟動階段提供時才可用。 | 
|  reservation-id  | 保留 ID。 | 
| userData | Shell 指令碼會在啟動時將指示傳送至執行個體。 | 


**Snowball Edge 裝置上支援的執行個體動態資料類別**  

| 資料 | 描述 | 
| --- | --- | 
| instance-identity/document | 含有執行個體屬性的 JSON。僅 instanceId、imageId、privateIp 和 instanceType 具有值，且其他傳回的屬性皆為 null。如需詳細資訊，請參閱《Amazon EC2 使用者指南》中的[執行個體身分文件](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-identity-documents.html)。 | 

## Snowball Edge 上的電腦執行個體使用者資料
<a name="userdatasupport"></a>

使用 shell 指令碼存取 Snowball Edge 裝置上的運算執行個體使用者資料。您可以使用 Shell 指令碼，在啟動時將指示傳送至執行個體。您可以使用 `modify-instance-attribute` AWS CLI 命令或 `ModifyInstanceAttribute` API 動作來變更使用者資料。

**變更使用者資料**

1. 使用 `stop-instances` AWS CLI 命令停止您的運算執行個體。

1. 使用 `modify-instance-attribute` AWS CLI 命令，修改 `userData` 屬性。

1. 使用 `start-instances` AWS CLI 命令重新啟動您的運算執行個體。

運算執行個體僅支援 shell 指令碼。在 Snowball Edge 裝置上執行的運算執行個體上不支援`cloud-init`套件指令。如需使用 AWS CLI 命令的詳細資訊，請參閱 *[AWS CLI 命令參考](https://docs.aws.amazon.com/cli/latest/reference/)。*

## 停止在 Snowball Edge 上執行的 EC2-compatible執行個體
<a name="managing-ec2-instances"></a>

為了避免意外刪除您在裝置上建立的 Amazon EC2-compatible執行個體，請勿從作業系統關閉執行個體。例如請勿使用 `shutdown` 或 `reboot` 命令。從作業系統內部關閉執行個體的效用等同於呼叫 [terminate-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/terminate-instances.html) 命令。

反之，請使用 [stop-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html) 命令來暫停您要保留的 Amazon EC2-compatible執行個體。