我們最近完成了一個資料分析項目,最終產生了一個100TB 的輸出檔。雖然我們的實驗室擁有充足的儲存空間,但永久保存一個 100TB 的文件仍然面臨著一系列獨特的挑戰。此外,我們並非真的「需要」這個文件,但如果可能的話,我們還是希望能夠保留它。雲端顯然是滿足這項需求的理想選擇,但透過網路傳輸如此龐大的資料量耗時龐大,因此我們決定嘗試使用 AWS Snowball Edge 裝置。我們的目標是:以最快的速度將資料從辛辛那提的實驗室傳輸到 AWS us-east-2 區域的 S3 儲存桶中。
什麼是 AWS Snowball 邊緣設備?
在我們深入研究數據遷移任務之前,有必要簡要介紹一下 AWS Snowball Edge 設備。 AWS Snow Family 是一系列專門構建的服務。 這些服務運行計算密集型工作負載,同時將數據存儲在邊緣位置以實現拒絕、中斷、間歇或受限 (DDIL) 網絡連接,以及從本地和堅固或移動環境傳輸大量數據。 AWS Snowball Edge 設備堅固耐用、便攜且安全,並提供存儲優化或計算優化功能。 這些設備旨在幫助客戶安全高效地移動(到 AWS)或處理大量數據,即使在遠程或斷開連接的位置也是如此。
Snowball Edge 設備有兩個版本:我們在這裡使用的 Snowball Edge Storage Optimized 和 Snowball Edge Compute Optimized。 存儲優化版本專為數據傳輸和存儲用例而設計,具有高達 80TB 的存儲容量。 Compute Optimized 版本適用於數據處理和計算用例,配備多達 104 個虛擬 CPU 和 416GB RAM。 計算優化系統甚至可以選擇包含 GPU。 對於數據需求較少的用戶,還有一個小型、超便攜的 Snow Family,稱為 AWS Snowcone。
Snowball Edge 的兩個版本都具有內置的安全功能,例如防篡改外殼、256 位加密和可信平台模塊 (TPM) 芯片,以確保數據的完整性和機密性。 此外,Snowball Edge 設備可以配置為在邊緣運行 AWS Lambda 函數、Amazon EC2 實例和其他 AWS 服務,使客戶能夠在將數據傳輸到 AWS 之前在本地執行數據處理和分析。
對於我們的用例,Snowball Edge 設備為客戶提供了一種快速、安全且靈活的方式來在各種環境(包括遠程或斷開連接的位置)中傳輸和處理大量數據。
AWS Snowball 訂購流程
對於經驗豐富的 AWS 專業人士來說,Snowball 的訂購過程非常簡單。 即使對於像我這樣的新手,我也能夠在指導我們完成整個過程的 AWS 朋友的幫助下點擊完成這些步驟。
第 1 步是為您的作業命名並為您的 Snow 設備選擇作業類型。 我們的任務只是將數據傳輸到 S3,但 Snow 設備也可以從 S3 導出數據。 它們還可以用作點解決方案,為邊緣位置提供本地計算、存儲和 GPU。
第 2 步仍然很簡單,選擇 Snow 設備。 在我們的案例中,我們選擇了 Snowball Edge Storage Optimized 單元,可用容量為 80TB。 AWS Snowball 有多種定價選項。 有按天使用的定價選項,或者 AWS Snowball 為 62 年使用和 1 年使用承諾提供顯著折扣定價(高達 3%)。 通過這些長期交易,您可以預先支付折扣價使用 Snowball 設備,並且在預付費期結束之前無需支付任何額外服務費或每日費用。 訂購 Snowball 設備時,您可以在 AWS Snow 系列控制台中註冊承諾的預付費用。
最後,選擇導入所需的 EC2 執行個體和 S3 儲存桶。由於這是一個新帳戶,所以我們創建了一個新的 S3 儲存桶。雖然這次不需要 EC2 實例,但後來為了好玩,我們還是側載了一個 EC2 執行個體。
第 3 步提供了一些額外的功能,例如可選的 AWS IoT Greengrass for Snow 和遠程設備管理選項。
第 4 步涵蓋安全、運輸和通知首選項。 在這裡,我們使用了默認加密並創建了建議的服務角色以允許 AWS 處理數據。 從那裡,它會添加您的地址並選擇一到兩天的送貨時間。 您還可以在此處添加電子郵件通知,儘管 AWS 控制台會顯示作業在系統中運行時的所有進度。
最後一步是驗證所有輸入和提交的信息。 這將創建作業,然後 AWS 的履行過程開始。 我們非常緩慢地逐步完成了 AWS 的流程,想要了解所有選項。 即使按照我們隨意的節奏,整個過程也需要大約 10 分鐘。 更激進的方法是讓訂購 Snow 設備最多花費 2-3 分鐘。
當時,我們認為我們需要兩台 Snowball Edge 設備。 回想起來,我們只需要一個。 克隆此作業的過程也非常簡單,只需點擊幾下即可為更大的數據集匯總幾個 Snowball。
從這裡開始,這是一個等待遊戲,因為履行過程通過系統進行。 因為這是一個全新的帳戶,所以我們立即訂購了兩台 Snowball Edge 設備時遇到了一些問題。 但對於有活動的賬戶,不應該有這樣的驗證。 Snowballs 在短短幾天內就出現了,我們開始準備傳輸數據。
使用 Snowball 時需要考慮的一點是定價。它包含一項服務費,其中包括設備在現場運作十天的費用。當然,資料儲存到 S3 後,還會產生雲端服務費。雖然 Snowball 的定價並不複雜,但具體費用會根據您選擇的系統、所需時間以及您所在的地區而有所不同。就我們而言,每個 Snowball 的服務費是 300 美元,即使是這個價格,如果簽訂長期合同,也可以大幅降低。不過,您可以參考 AWS提供的詳細定價表來了解 Snowball 的定價情況。
資料準備
我們從一個 100TB 的文本文件開始,但對於任何有 S3 經驗的人來說,您都會知道這是一個問題。 S3 的對像大小限制為 5TB,這意味著我們需要對單個不合規文件採取一些措施。 我們的答案是將其切碎,看看我們是否可以同時獲得一些壓縮優勢。 我們希望能夠精簡到單個 Snowball 單元,最高可用容量為 80TB。 在等待 Snowball Edge 到達的同時,我們開始準備數據。
過程再造
我們使用了我們最喜歡的處理大數字的應用程式y-cruncher,它包含數位檢視、分割和壓縮工具。由於 S3 的物件大小限制,我們選擇將圓周率 100 兆位元數字分割成 200 個檔案。壓縮後,每個檔案的大小約為 191GB,包含 500,000,000,000(500 億)位數。
AWS 雪球配置
準備好數據並準備好 Snowball 設備後,我們啟動了第一個單元使其聯機。 設置 Snowball 非常簡單,為其供電並訪問網絡; 我們選擇了 10GbE 端口。 許多人會選擇使用 CLI 與 Snowball 交互,這可能是首選方法。 儘管如此,為了視覺效果並希望從非 AWS 專業角度獲得體驗,我們還是選擇了 AWS OpsHub for Snow Family。
AWS OpsHub for Snow Family是一款使用者友善的工具,可協助客戶管理其 Snow Family 裝置和本機 AWS 服務。使用者可以透過圖形使用者介面解鎖和配置裝置、傳輸檔案、啟動和管理實例以及監控裝置指標,該介面提供對裝置上執行的 AWS 服務的統一視圖。 AWS OpsHub 可自動執行操作任務,並且旨在滿足不同技術等級使用者的需求,從而簡化對大量 Snow Family 裝置的管理。
使用 LCD 屏幕上的 IP 地址以及來自 AWS 控制台的解鎖代碼和清單文件,您可以解鎖和訪問 Snowball Edge。 這可能需要幾分鐘時間,因為 AWS 會驗證憑證、解密內容並處理一些其他內務處理任務。
登錄後,您將被帶到一個可視化儀表板,其中包含相關設備信息和已啟用的服務。 此時,我們在線,連接到網絡,並準備好移動我們的數據。
將數據傳輸到 AWS Snowball
在網絡上設置 Snowball Edge 並連接 OpsHub 後,是時候轉移我們的 200 個 200GB 文件了。 雖然大多數人會為此過程使用 CLI 界面,並且會受益於時間更優化的體驗,但我們選擇了簡單性。 在 Windows 中使用 OpsHub,我們只需選擇其中包含我們的 Pi 數據的文件夾,然後放開數據。 我們花了大約四天的時間才將文件傳送到 Snowball。
數據傳輸完成後,我們關閉了設備電源,此時電子墨水顯示屏變為用於攝取的地址。 在我們的案例中,這意味著俄亥俄州哥倫布市,us-east-2 的所在地。 順便說一句,一旦它到了托運人手中,訪問憑證也會從 Web 控制台消失,從而在途中保護數據。
AWS 跟踪雪球狀態
使用 UPS 投遞後,AWS Web 界面會使用跟踪編號和 Snowball 的運輸、分揀、AWS 接收和導入 S3 的進度更新作業狀態。 Snowball 花了幾天時間運抵哥倫布,兩天時間完成進口。
確認流程完成後,我們在 S3 中進行了可視化,以確保所有數據看起來都已正確導入。 為了讓客戶更正式地安心,AWS 還提供了整個過程的審計報告,以及任何異常情況。
在我們的日誌中,我們可以看到 200 個文件已完成且沒有失敗。 AWS 還記錄了 Snowball Edge 及其數據在系統中移動時的亮點。
最後的思考
AWS Snowball Edge 設備並不新鮮; 在為客戶提供一種安全的方式來加速將離線數據或遠程存儲移動到雲端方面,AWS 是先行者。 如果我們只是嘗試通過網絡將數據複製到 S3,我們可能仍在等待該工作完成,並且由於我們的 Internet 管道被佔用而無法做很多其他工作。 對我們來說,Snowball Edge Storage Optimized 單元正是我們盡快將數據傳輸到雲端所需要的。
這並非沒有代價。 雖然長期客戶可以獲得更優惠的價格,但我們為 Snowballs 支付的自付費用約為 700 美元。 不過,這還不錯,考慮到我們錯誤地訂購了一個額外的設備,並且我們沒有那麼快地移動所有設備以將這些設備轉回 AWS。 將數據提取到 S3 是免費的,持續的 S3 成本取決於您與 AWS 的合同費率。
要注意的是,我們這次對 Snowball Edge 的使用僅限於最基本的方式。配備運算能力的 Snowball 設備,尤其是具有 GPU 的設備,在處理更密集的應用場景方面潛力更大。有興趣的朋友可以收聽我們最近推出的AWS Snow Podcast。 Snow設備本質上是 AWS 的精簡版,儲存和運算能力都有限制。但正如我們所見,它們非常靈活,部署極其簡便,並且能夠可靠地將資料傳輸到所需位置。對於任何正在考慮使用 AWS Snow 裝置的用戶,我們強烈建議您嘗試一下。




Amazon