先日、データ分析プロジェクトを完了し、100TBもの出力ファイルが生成されました。ラボには十分なストレージ容量がありますが、100TBものファイルを永久に保存し続けるには、特有の課題があります。さらに、このファイルは必ずしも「必要」というわけではありませんが、可能であれば保存しておきたいと考えています。クラウドはこのニーズに明らかに合致していますが、これほど大量のデータをネットワーク経由で転送するには膨大な時間がかかるため、AWS Snowball Edgeデバイスを試してみることにしました。目標は、シンシナティのラボからAWS us-east-2リージョンのS3バケットにデータをできるだけ迅速に転送することです。
AWS Snowball エッジデバイスとは何ですか?
データ移行タスクを深く掘り下げる前に、AWS Snowball Edge デバイスに関する簡単な入門書を理解する必要があります。 AWS Snow ファミリーは、専用のサービスのコレクションです。これらのサービスは、DDIL (拒否、中断、断続的、または制限) ネットワーク接続に備えてエッジ ロケーションにデータを保存し、オンプレミス環境や堅牢な環境またはモバイル環境から大量のデータを転送しながら、コンピューティング集約型のワークロードを実行します。 AWS Snowball Edge デバイスは堅牢性、ポータブル性、安全性に優れており、ストレージに最適化された機能またはコンピューティングに最適化された機能を提供します。これらのデバイスは、顧客が遠隔地や接続されていない場所でも、大量のデータを安全かつ効率的に (AWS に) 移動または処理できるように設計されています。
Snowball Edge デバイスには、ここで使用している Snowball Edge Storage Optimized と Snowball Edge Compute Optimized の 80 つのバージョンがあります。ストレージ最適化バージョンは、データ転送とストレージのユースケース向けに設計されており、最大 104 TB のストレージ容量が付属しています。 Compute Optimized バージョンは、データ処理と計算のユースケースを対象としており、最大 416 個の仮想 CPU と XNUMXGB の RAM が搭載されています。コンピューティング最適化システムに GPU を組み込むオプションもあります。より控えめなデータの必要性がある人のために、AWS Snowcone と呼ばれる小型で超ポータブルな Snow Family もあります。
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 デバイスを選択します。この例では、80TB が利用可能な Snowball Edge Storage Optimized ユニットを選択しました。 AWS Snowball にはさまざまな料金オプションがあります。 62 日あたりの使用量の料金オプションがあり、AWS Snowball では 1 年間の使用量と 3 年間の使用量コミットメントの料金を大幅に割引 (最大 XNUMX%) します。これらの長期取引では、Snowball デバイスを割引料金で使用するために前払いするため、前払い期間が終了するまで追加のサービス料金や XNUMX 日あたりの料金を支払う必要がなくなります。 Snowball デバイスを注文するときに、AWS Snow Family コンソールで確約前払い価格にサインアップできます。
最後に、インポートに必要なEC2インスタンスとS3バケットを選択します。今回は新規アカウントだったので、新しいS3バケットを作成しました。また、今回はEC2インスタンスは必要ありませんでしたが、後ほどちょっとした遊び心でEC2インスタンスをサイドロードしました。
ステップ 3 では、オプションの AWS IoT Greengrass for Snow やリモート デバイス管理のオプションなど、いくつかの追加機能が提供されます。
ステップ 4 では、セキュリティ、配送、通知の設定について説明します。ここではデフォルトの暗号化を使用し、AWS がデータを処理できるように提案されたサービス ロールを作成しました。そこから、住所を追加し、XNUMX 日または XNUMX 日以内の発送を選択します。ここで電子メール通知を追加することもできますが、AWS コンソールにはジョブがシステムを通じて実行される際のすべての進行状況が表示されます。
最後のステップでは、入力されたすべての情報を検証して送信します。これによりジョブが作成され、AWS によるフルフィルメント プロセスが開始されます。すべてのオプションを理解するために、AWS のプロセスをかなりゆっくりと進めていきました。何気ないペースでも、プロセス全体で約 10 分かかりました。より積極的な方法では、Snow デバイスの注文にかかる時間は 2 ~ 3 分を超えます。
当時、私たちは Snowball Edge デバイスが 2 台必要だと考えていました。振り返ってみると、必要なのは 1 つだけでした。このジョブのクローンを作成するプロセスも非常に簡単で、あと数回クリックするだけで、より大きなデータ セットのいくつかの Snowball を集計できます。
ここからは、フルフィルメント プロセスがシステムを通じて実行されるため、待ちのゲームとなります。これはまったく新しいアカウントだったので、すぐに 2 台の Snowball Edge デバイスを注文するといういくつかのフラグが立てられました。ただし、アクティビティのあるアカウントの場合、そのような検証は必要ありません。 Snowball はわずか数日以内に現れ、私たちは転送用のデータの準備を始めました。
Snowball を利用する際に考慮すべき点の 1 つは料金です。作業料金には、ユニットを現場に 10 日間設置する費用が含まれています。もちろん、データが S3 に到着すると、クラウド料金も発生します。Snowball の料金体系は複雑ではありませんが、選択するシステム、必要な期間、およびリージョンによって異なります。私たちの場合は、Snowball 1 台あたり 300 ドルの作業料金でしたが、長期契約を結べば大幅に値下げできます。ただし、AWS には Snowball の料金体系をまとめた表があるので、参考にすることができます。
データの準備
100TB のテキスト ファイルから始めましたが、S3 の経験がある人なら、それが問題であることがわかるでしょう。 S3 のオブジェクト サイズ制限は 5 TB です。つまり、単一の非準拠ファイルについて何らかの対処をする必要がありました。私たちの答えは、それを切り刻んで、同時に圧縮の利点を得ることができるかどうかを確認することでした。最大で 80 TB を使用できる単一の Snowball ユニットに到達できることが期待されていました。 Snowball Edge の到着を待っている間に、データの準備を始めました。
プロセスの再現
私たちは、大きな数値を扱う際に愛用しているアプリケーションであるy-cruncherを使用しました。このアプリケーションには、桁表示、分割、圧縮機能が備わっています。S3のオブジェクトサイズ制限のため、円周率πの100兆桁すべてを200個のファイルに分割することにしました。圧縮後、各ファイルには500,000,000,000(500億)桁のデータが含まれており、ファイルサイズは約191GBになりました。
AWS Snowball 構成
データを準備し、Snowball デバイスを手に入れたので、最初のユニットを起動してオンラインに接続しました。 Snowball のセットアップは非常に簡単で、電源とネットワークへのアクセスを提供します。 10GbEポートを選択しました。多くの人は、Snowball とのインターフェースに CLI を使用することを選択するでしょう。おそらく、これが推奨される方法です。それでも、ビジュアルを重視し、AWS の専門家以外の視点からのエクスペリエンスを求めて、Snow Family 用の AWS OpsHub を選択しました。
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 に届くまでに約 XNUMX 日かかりました。
データ転送が完了した後、ユニットの電源を切りました。その時点で、e-ink ディスプレイが取り込み用のアドレスに変わりました。私たちの場合、それは us-east-2 の本拠地であるオハイオ州コロンバスを意味しました。ちなみに、配送業者の手に渡ると、アクセス資格情報も Web コンソールから削除され、配送中のデータが保護されます。
AWS が Snowball ステータスを追跡
UPS で降ろされると、AWS Web インターフェイスは追跡番号と Snowball の輸送、仕分け、AWS 受け取り、S3 へのインポートの進行状況でジョブのステータスを更新します。 Snowball がコロンバスに到着するまでに XNUMX 日、輸入が完了するまでに XNUMX 日かかりました。
プロセスが完了したことを確認したら、S3 で視覚化を行い、すべてのデータが正しくインポートされていることを確認しました。お客様により正式な安心感を与えるために、AWS はプロセス全体と例外を含む監査レポートも提供します。
ログでは、200 個のファイルが失敗することなく完了したことがわかります。 AWS は、Snowball Edge とそのデータがシステム内を移動する際のハイライトも記録します。
最終的な考え
AWS Snowball Edge デバイスは新しいものではありません。 AWS は、オフライン データやリモート ストレージのクラウドへの移行を加速する安全な方法を顧客に提供するという点で、いち早く取り組んできました。ネットワーク経由でデータを S3 にコピーしようとしただけであれば、おそらくそのジョブが完了するのをまだ待っていて、インターネット パイプが拘束されているため、他の生産的な作業ができなくなっていたでしょう。私たちにとって、Snowball Edge Storage Optimized ユニットは、データをできるだけ早くクラウドに送信するためにまさに必要なものでした。
これにはコストがかかります。長期顧客はより良い価格設定が可能ですが、Snowball の自己負担額は約 700 ドルでした。ただし、誤って追加のユニットを注文したこと、およびユニットを AWS にスピンバックすることをそれほど迅速に進めなかったことを考慮すると、これは悪くありません。 S3 へのデータの取り込みには料金はかからず、継続的な S3 コストは AWS との契約料金によって決まります。
なお、今回使用したSnowball Edgeはごく基本的な使い方にとどめました。コンピューティング機能を備えたSnowballデバイス、特にGPU搭載モデルは、より高度なユースケースに対応できる大きな可能性を秘めています。ご興味のある方は、最近配信したAWS Snow Podcastをご覧ください。Snowデバイスは、ストレージとコンピューティングに制限はあるものの、AWSの小型版と言えるでしょう。しかし、ご覧いただいたように、非常に柔軟性が高く、導入も極めて簡単で、必要な場所に確実にデータを届けてくれます。AWS Snowデバイスの導入をご検討されている方は、ぜひ一度お試しください。




Amazon