AWS Snowball Edge
# AWS Snowball Edge
## 概要
- Snow シリーズ
- Snowball
- ペタバイトスケールのデータ移行
- Snowball Edge (Storage Optimized)
- ハイブリッド/エッジワークロードのためのコンピュート&ストレージ
- Snowmobile
- エクサバイトスケールのデータ移行
- Snowball Edge のスペック
- Storage Optimized
- 100TB のローカルストレージ
- M4.4xlarge のコンピュート能力(24 vCPU, 32GB)
- 10GBase-T
- ラックマウント可能な筐体
- Compute Optimized
- 43TB S3互換ストレージ、7.68TB のNVMeストレージ
- 52vCPU, 208GB メモリ(+ GPU)
- Snowball Edgeとは
- Snowball + コンピュート + α
- データの暗号化はEdgeで実施
- EC2インスタンスを起動可能
- 書き込み時にLambdaによるローカルプロセッシングが可能
- データ処理を行ってからAWSに出荷し、S3にコピーできる
- 料金はEC2を利用するかどうかで変化する
- ローカルストレージとして利用する場合、クラスタ構成をとることができる(5~10台)
- Snowball 独自のユースケース
- オフラインステージング
- IoT
- ローカルティアリングと計算
- ローカルデータ変換
## Snowball Edge のタイプ
- ローカルストレージ
- Lambda Powered by Greengrass を利用したローカルプロセッシング
- 保持期間は120日
- 変装してもS3にデータはインポートされない(インポートしたい場合は別途インポートジョブを作成)
- Snowball Edge Cluster
- クラスタへのデータ書き込みにはS3インターフェースを利用
- 書き込み・読み込みは全てのノードに対して実施可能
- クラスタデータをS3へインポートするには別途Import ジョブを作成(Export も同様)
- AWS Lambda Powered by AWS Greengrass
- Greengrass -> エッジデバイスでローカルコンピューティング、メッセージング、データ管理、同期、ML推論機能を実現する
- Lambda を利用したローカルプロセッシング
- 内部でGreengrass Coreが稼働
- PutObject で動作
- オフライン転送前にデータをローカルで加工
- 圧縮、リネーム、トリミング、整形処理等
- Amazon EC2 on Snowball Edge
- ジョブ作成時にEC2機能を有効化してAMIを組み込むことでSnowball Edge内でEC2インスタンスを立ち上げられる
## Tips
- オブジェクトサイズと1ディレクトリ内のファイル数に注意
- クライアントリソースに余裕がある場合は、並列で転送を行う
- Small ファイルのバッチ転送
- アーカイブファイルの自動展開(Snowball Edge には圧縮して保存、S3に転送する際に解凍)
- 転送データのValidation
- ベストプラクティス
- 綿密な事前準備
- 1台のSnowball Edge を発注し、実環境で性能測定を行う
- 全体の転送にかかる期間を余裕を持って見積もる
- 大容量データを転送する場合や、性能を求める場合はS3インターフェースを使用してデータを転送する(ファイルインターフェースはキャッシュ+バケットの2段階の書き込みとなるためオーバーヘッドが大きい)
- Import する場合、大量データを転送する場合、S3 Inventry 機能を有効にする(https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/storage-inventory.html)
## 雑感
Snowball との比較としては、データをマイグレーションしたいが、データを加工したい時にSnowball Edge が有効。
また、ネットワークがそこまで強くなく、エッジロケーションに潤沢なリソースがない場合にSnowball Edge を利用するのが良さそう。
> 物理的には、Snowball Edgeは、しっちゃかめっちゃかな産業環境、航空宇宙環境、農業環境、軍事環境でも利用できるようデザインされています。
ともある。
物理筐体としてSnowball と Snowball Edgeは別モノとしてデザインされている。