Amazon FSx for LustreとS3を活用したデータ集約型アプリケーションの最適化
背景
- 企業がAWS上で毎月実行するデータ集約型アプリケーションのジョブでは、200 TBのデータを共有ファイルシステムに保存し、Amazon EC2クラスター上で実行される。
- ジョブは約72時間かかり、Auto ScalingグループでEC2インスタンスが管理される。
- 要件として、次の2点が挙げられる:
- 高性能なデータアクセスの維持
- コストの削減
提案された解決策
既存ファイルシステムをAmazon S3とFSx for Lustreに置き換える方法:
-
データの移行
- 共有ファイルシステムに保存されているデータをAmazon S3に移行。
- ストレージクラスとしてIntelligent-Tieringを使用し、アクセス頻度に基づいた自動コスト最適化を実現。
-
FSx for Lustreの活用
- 毎月のジョブ実行時に、Amazon FSx for Lustreを新たに作成。
- S3と組み合わせ、必要なデータをFSxに遅延ロードしてジョブを処理。
-
リソースの削除
- ジョブ完了後、FSx for Lustreファイルシステムを削除。
- これにより、非実行期間中の無駄なリソースコストを削減。
全体的なフロー
- データをAmazon S3に移行し、ストレージコストを削減。
- 毎月のジョブ実行時に、Amazon FSx for Lustreを作成し、S3からデータを必要に応じて遅延ロード。
- ジョブ完了後、FSx for Lustreを削除してコスト削減を図る。
メリット
-
コスト削減
- S3 Intelligent-Tieringを活用したストレージコスト最適化。
- FSx for Lustreをオンデマンドで利用することで、非経営期間中のコストを削減。
-
性能の確保
- FSx for Lustreにより、ジョブ実行中に必要な高性能を実現。
-
効率的な運用
- S3とFSx for Lustreの組み合わせにより、ジョブ実行の効率が向上。
考慮すべき点
-
初期データ移行
- 既存ファイルシステムからS3への移行コストと時間を考慮。
-
FSx利用中のコスト
- ジョブ実行期間中のFSx for Lustre利用コストが発生。
-
自動化
- AWS LambdaやAWS CLIを活用し、FSxの作成、削除、データ移動を自動化することで運用効率をさらに向上可能。
全体の図解
結論
この解決策は、性能とコスト効率を両立したソリューションとして適しており、次のようなメリットが期待できます:
- 高性能なファイルシステムによる効率的なジョブ実行。
- ストレージとファイルシステムのオンデマンド利用でコスト削減。
- AWSサービスの組み合わせで簡約な運用管理。
おさらい
Amazon FSxには主に以下のファイルシステムオプションがあります。
- FSx for Lustre
- 高スループットで低遅延の分散ファイルシステム。
主にHPC(高性能コンピューティング)、ビッグデータ解析、機械学習などの高速データアクセスが求められるユースケースに適している。
- 高スループットで低遅延の分散ファイルシステム。
- FSx for Windows File Server
- 完全マネージドのWindowsファイルサーバー。
Active Directory統合やSMBプロトコルをサポートし、Windowsベースのアプリケーションに最適。
- 完全マネージドのWindowsファイルサーバー。
- FSx for NetApp ONTAP
- ネットアップのONTAPテクノロジーを活用したエンタープライズ向けファイルシステム。
ハイブリッドクラウド環境やデータ管理の高度な機能が必要な場合に適している。
- ネットアップのONTAPテクノロジーを活用したエンタープライズ向けファイルシステム。
- FSx for OpenZFS
- ZFSベースのファイルシステムで、UNIX/Linuxアプリケーション向け。
高いデータ圧縮率やスナップショット管理を特徴とする。
- ZFSベースのファイルシステムで、UNIX/Linuxアプリケーション向け。
なぜFSx for Lustreを選ぶのか?
今回のユースケース(データ集約型アプリケーション)において、FSx for Lustreが適している理由を以下に整理します:
1. 高スループットと低過激
- Lustreは、科学技術計算やHPC用途で広く利用されるファイルシステムであり、大量のデータを高速で処理できます。
- 今回のユースケースでは200 TBのデータを72時間以内に処理する必要があるため、FSx for Lustreの高スループットは適切。
2. Amazon S3とのシームレスな統合
- FSx for Lustreは、Amazon S3からの遅延ロード機能を提供します。
- 必要なデータだけをオンデマンドで読み込み、高速キャッシュを活用してコストとパフォーマンスを最適化。
- 毎月のジョブ実行に合わせて、必要なデータを効率的に処理できる。
3. コスト効率
- Lustreファイルシステムは、オンデマンドで作成・削除が可能。
- 使用しない期間は削除することでリソースコストを削減可能。
- FSx for Lustreは、実行中のみストレージリソースを利用する仕組みでコスト効率が高い。
4. ビッグデータやHPC向けに最適化
- Lustreは分散平行ファイルシステムとして設計されており、平行I/Oに優れているため、データ集約型のジョブに適している。
- 他のFSxオプション(例: Windows File Server、NetApp ONTAP)は、主にエンタープライズワークロードや一般的なファイル共有用に設計されており、今回のような大量データ処理には適していない。
他のFSxオプションとの比較
特徴 | FSx for Lustre | FSx for Windows File Server | FSx for NetApp ONTAP | FSx for OpenZFS |
---|---|---|---|---|
用途 | HPC、データ分析、ML | Windowsアプリケーション向け | エンタープライズファイル共有 | Linuxアプリケーション向け |
スループット | 高い | 中程度 | 中程度 | 中程度 |
S3統合 | 優れている | サポートなし | 部分的 | 部分的 |
低過激アクセス | 非常に優れている | 一般的 | 一般的 | 高い |
データ平行処理性能 | 優れている | 低い | 低い | 中程度 |
結論
FSx for Lustreが今回のユースケースに選ばれる主な理由:
- 高スループットと低過激が求められるデータ集約型ワークロードに最適。
- Amazon S3との連携が簡単で、オンデマンドデータ処理に優れる。
- コスト効率が高く、処理後は不要なリソースを削除可能。