使用 Amazon S3 轉接器將檔案傳輸至 Snow 系列裝置或從 Snow 系列裝置進行資料遷移 - AWS Snowball Edge 開發者指南

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

使用 Amazon S3 轉接器將檔案傳輸至 Snow 系列裝置或從 Snow 系列裝置進行資料遷移

以下是 Amazon S3 適配器的概觀,您可以使用此介面卡使用 Amazon S3 REST API 動作,以程式設計方式在 AWS Snowball Edge 裝置上已有的 S3 儲存貯體之間傳輸資料。此 Amazon S3 REST API 支援僅限於動作子集。您可以 AWS SDKs將此動作子集與其中一個搭配使用,以程式設計方式傳輸資料。您也可以使用 Amazon S3 支援 AWS Command Line Interface (AWS CLI) 命令的子集,以程式設計方式傳輸資料。

如果您的解決方案使用 1.11.0 或更新 AWS SDK for Java 版本,則必須使用下列命令:S3ClientOptions

  • disableChunkedEncoding()— 指示介面不支援區塊編碼。

  • setPathStyleAccess(true)— 設定介面以針對所有要求使用路徑樣式存取。

如需詳細資訊,請參閱 Java Amazon AppStream SDK 中的類別 S3 ClientOptions .Builder。

重要

建議您一次只使用一種方法,將資料讀取和寫入 AWS Snowball Edge 裝置上的本機儲存貯體。同時在同一個儲存貯體上使用檔案界面和 Amazon S3 介面卡可能會導致讀取/寫入衝突。

AWS Snowball 邊緣配額詳細說明限制。

若要讓 AWS 服務在 Snowball Edge 上正常運作,您必須允許服務的連接埠。如需詳細資訊,請參閱 Snow 系列裝置上 AWS 服務的連接埠需求

下載並安裝 1.16.14 AWS CLI 版以搭配 Amazon S3 介面卡使用

目前,Snowball 邊緣裝置僅支援 1.16.14 及更早版本的版本,以搭配 Amazon S3 介面卡使用。 AWS CLI 較新版本 AWS CLI 的 Amazon S3 介面卡不相容,因為它們不支援 S3 轉接器的所有功能。

注意

如果您在 Snow 系列裝置上使用 Amazon S3 相容儲存裝置,您可以使用最新版本的 AWS CLI. 若要下載並使用最新版本,請參閱使用AWS Command Line Interface 者指南

AWS CLI 在 Linux 作業系統上安裝

運行此鏈接命令:

curl "https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.14.zip" -o "awscli-bundle.zip";unzip awscli-bundle.zip;sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws;/usr/local/bin/aws --version;

AWS CLI 在視窗作業系統上安裝

下載並執行作業系統的安裝程式檔案:

在 Snowball 邊緣裝置上使用 AWS CLI 和API操作

使用 AWS CLI 或API操作在 Snowball Edge 上發IAM出 Amazon S3 和 Amazon EC2 命令時,您必須將該區域指定為「snow。」 您可以使用AWS configure或在命令本身內執行此操作,如下列範例所示。

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

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

使用 Amazon S3 API 界面進行授權 AWS Snowball

使用 Amazon S3 介面卡時,預設情況下,每次互動都會使用 AWS 簽章版本 4 演算法簽署。此授權僅用於驗證從其源傳輸到界面的數據。所有加密和解密都會在裝置上執行。未加密的資料一律不會存放在裝置上。

使用介面時,請記住以下事項:

  • 若要取得本機 Amazon S3 登入資料以將您的請求簽署到 AWS Snowball Edge 裝置,請執行snowballEdge list-access-keys和 S snowballEdge get-secret-access-keys nowball Edge 用戶端命令。如需詳細資訊,請參閱設定和使用 Snowball 邊緣用戶端。這些本機 Amazon S3 登入資料包括一對金鑰:存取金鑰和一個秘密金鑰。這些金鑰僅對與任務相關聯的裝置有效。它們不能在中使用, AWS 雲端 因為它們沒有 AWS Identity and Access Management (IAM)對應物。

  • 您使用的 AWS 認證不會變更加密金鑰。使用「簽名版本 4」演算法進行簽署,僅用於驗證從其來源傳輸到介面的資料。因此,此簽章絕不會將用於在 Snowball 上加密資料的加密金鑰納入考量。

在雪家族設備上獲取和使用本地 Amazon S3 登入資料

每次與 Snowball Edge 的互動都會使用簽 AWS 名版本 4 演算法簽署。如需演算法的詳細資訊,請參閱 AWS 一般參考.

您可以執行snowballEdge list-access-keys和 Snowball Edge 用戶端資訊,取得本機 Amazon S3 登入資料,將請求簽署到 snowballEdge get-secret-access-key Snowball Edge 用戶端邊緣裝置,請參閱。取得 Snow 系列裝置的認證這些本機 Amazon S3 登入資料包括一對金鑰:存取金鑰 ID 和一個秘密金鑰。這些登入資料僅適用於與您的任務相關聯的裝置。它們不能在中使用, AWS 雲端 因為它們沒有IAM對應物。

您可以將這些認證新增至伺服器上的 AWS 認證檔案。預設登入資料設定檔通常位於 ~/.aws/credentials,但位置可能會根據每個平台而有所不同。該文件由許多人共享, AWS SDKs並由 AWS CLI. 您可以使用設定檔名稱儲存本機登入資料,如以下範例所示。

[snowballEdge] aws_access_key_id = AKIAIOSFODNN7EXAMPLE aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

將設定 AWS CLI 為使用 Snow 系列裝置上的 S3 介面卡做為端點

使用 AWS CLI 向 AWS Snowball Edge 裝置發出命令時,您可以指定端點為 Amazon S3 介面卡。您可以選擇使用HTTPS端點或不安全的HTTP端點,如下所示。

HTTPS安全端點

aws s3 ls --profile snowballEdge --endpoint https://192.0.2.0:8443 --ca-bundle path/to/certificate

HTTP不安全端點

aws s3 ls --profile snowballEdge --endpoint http://192.0.2.0:8080

如果您使用的HTTPS端點8443,您的資料會從伺服器安全地傳輸到 Snowball Edge。當 Snowball Edge 取得新 IP 位址時,會使用由 Snowball Edge 產生的憑證來確保此加密。有了憑證之後,就可以將其儲存到本機 ca-bundle.pem 檔案。然後,您可以將設定 AWS CLI 檔設定為包含憑證的路徑,如下所述。

將您的憑證與介面端點建立關聯
  1. 將 Snowball 邊緣 Connect 到電源和網絡,然後將其打開。

  2. 在裝置完成啟動之後,請記下其在本機網路上的 IP 地址。

  3. 從網路上的終端機,確定您可以偵測到 Snowball 邊緣。

  4. 在您的終端機中執行 snowballEdge get-certificate 命令。如需此命令的詳細資訊,請參閱管理 Snow 系列裝置上的公開金鑰憑證

  5. snowballEdge get-certificate 命令的輸出儲存至檔案,例如 ca-bundle.pem

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

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

完成程序後,您可以使用這些本機認證、憑證和指定的端點執行CLI命令,如下列範例所示。

aws s3 ls --profile snowballEdge --endpoint https://192.0.2.0:8443

Snow 系列裝置上 Amazon S3 介面卡不支援的 Amazon S3 功能

使用 Amazon S3 介面卡,您可以使用 Amazon S3 API 動作,以程式設計方式在 Snowball 邊緣之間傳輸資料。不過,並非所有 Amazon S3 傳輸功能和API動作都支援在使用 Amazon S3 轉接器時搭配 Snowball Edge 裝置使用。例如,下列功能和動作不支援搭配 Snowball 邊緣使用:

  • TransferManager— 此公用程式會使用 Java 將檔案從本機環境傳輸到 Amazon S3。SDK請考慮改用介面支援的API動作或 AWS CLI 指令。

  • GET值區 (清單物件) 第 2 版 — 此GET動作的實作會傳回值區中部分或全部 (最多 1,000 個) 物件。請考慮使用「GET值區 (列出物件) 版本 1」動作或 ls AWS CLI 指令。

  • ListBuckets— 不支援 ListBuckets 搭配物件端點。下列命令不適用於 Snow 系列裝置上的 Amazon S3 相容儲存裝置:

    aws s3 ls --endpoint https://192.0.2.0 --profile profile