Amazon FSx で選ぶマネージドファイルシステム - Lustre、Windows、ONTAP、OpenZFS の使い分け
Lustre・Windows・ONTAP・OpenZFS の 4 タイプの特徴と使い分けを整理し、S3 連携とパフォーマンス設計の指針を紹介します。
FSx の概要
FSx は 4 種類のフルマネージドファイルシステムを提供し、最大数百 GB/s のスループットと数百万 IOPS を実現するサービスです。ワークロードの要件 (プロトコル、パフォーマンス、既存環境との互換性) に応じて最適なタイプを選択します。EFS が NFS プロトコルの汎用ファイルシステムであるのに対し、FSx は特定のユースケースに最適化された選択肢を提供します。バックアップは各タイプとも日次自動バックアップに対応しており、保持期間はデフォルトで 7 日から最大 90 日まで設定可能です。すべてのタイプで保管時暗号化 (KMS) と転送中暗号化がサポートされ、VPC 内のセキュリティグループで通信を制御します。
4 タイプの使い分け
FSx for Lustre は数百 GB/s のスループットと数百万 IOPS を提供し、HPC シミュレーション、ML トレーニング、動画レンダリングに使用します。S3 データリポジトリと連携し、S3 上のデータを Lustre ファイルシステムから透過的に読み書きできます。Scratch ファイルシステム (一時的な処理向け) と Persistent ファイルシステム (長期保持向け) の 2 種類のデプロイタイプがあり、Scratch は低コストだがデータの冗長性がなく、Persistent は AZ 内でデータを複製します。FSx for Windows File Server は SMB プロトコルと Active Directory 統合で、Windows アプリケーションのファイル共有をそのまま移行できます。DFS 名前空間によるマルチファイルシステムの統合や、シャドウコピーによるセルフサービスのファイル復元にも対応します。FSx for NetApp ONTAP は NFS と SMB の両方に対応し、SnapMirror でオンプレミスの ONTAP とデータを同期できます。SSD ストレージとキャパシティプールストレージ間のデータ自動階層化により、アクセス頻度に基づくコスト最適化を実現します。FSx for OpenZFS は NFS プロトコルで Linux ワークロードに対応し、スナップショットからのクローン作成が瞬時に完了します。データ圧縮 (LZ4/Z-Standard) により実効容量を拡張でき、開発・テスト環境のデータベースクローンに有効です。
4 タイプの詳細比較
FSx for Lustre は HPC や ML のトレーニングデータ向けで、S3 との透過的な統合で数百 GB/秒のスループットを提供します。ストレージ単位はメタデータサーバー (MDS) とオブジェクトストレージターゲット (OST) で構成され、ファイルをストライピングして並列 I/O を実現します。FSx for Windows File Server は SMB プロトコルで Active Directory 統合を提供し、Windows ワークロードに最適です。シングル AZ とマルチ AZ の 2 つのデプロイオプションがあり、マルチ AZ では自動フェイルオーバーで高可用性を確保します。FSx for NetApp ONTAP はマルチプロトコル (NFS、SMB、iSCSI) とデータ管理機能 (スナップショット、クローン、階層化) を提供します。FlexClone でデータのゼロコピークローンを作成でき、テスト環境の迅速なプロビジョニングに活用できます。FSx for OpenZFS は NFS プロトコルで Linux ワークロード向けに高性能なファイルストレージを提供し、スナップショットとクローンが高速です。最大 1 万 2800 MB/s のスループットと 100 万超の IOPS をサポートし、NFS v3/v4.x クライアントから接続できます。 FSx のストレージ戦略を網羅的に学ぶなら、技術書 (Amazon)を参照してください。
設計のベストプラクティスと落とし穴
Lustre では Scratch ファイルシステムを使う場合、ノード障害時にデータが失われるため、必ず S3 への自動エクスポートを有効にするか、ジョブ完了時に明示的にエクスポートしてください。Persistent を使う場合も S3 連携を有効にしておくと、障害復旧時間を短縮できます。Windows File Server では SSD ストレージのスループットキャパシティが最小 8 MB/s から設定可能ですが、本番環境では想定ピーク負荷の 20% 以上の余裕を持たせることを推奨します。スループットキャパシティの変更はオンラインで可能ですが、内部で切り替え処理が走るためフェイルオーバーが発生します。ONTAP ではキャパシティプール (低コストの S3 バックエンド) への階層化ポリシーを適切に設定しないと、コールドデータが SSD に残り続けコスト超過の原因になります。階層化ポリシーは Auto (デフォルト)、Snapshot Only、All、None から選択でき、ワークロードのアクセスパターンに合わせます。OpenZFS ではデータ圧縮を有効にするとスループット効率が向上しますが、圧縮率が低いデータ (動画、暗号化済みデータ) では CPU 消費だけ増えて効果がないため、事前にワークロードの特性を確認します。
FSx の料金と制限の注意点
FSx for Lustre は SSD ストレージが 1 GB あたり月額約 0.145 ドル、HDD は約 0.036 ドルです。FSx for Windows は SSD が 1 GB あたり月額約 0.13 ドルです。FSx for ONTAP は SSD が 1 GB あたり月額約 0.125 ドルで、キャパシティプールストレージ (約 0.025 ドル/GB) への自動階層化でコストを最適化します。FSx for OpenZFS は SSD が 1 GB あたり月額約 0.09 ドルです。各タイプとも、ストレージ料金に加えてスループットキャパシティやバックアップストレージの料金が別途発生する点に注意が必要です。ファイルシステムの最小サイズは Lustre が 1.2 TiB (HDD は 6 TiB)、Windows が 32 GiB、ONTAP が 1024 GiB (SSD)、OpenZFS が 64 GiB です。Lustre のスループットはストレージ容量に比例するため、容量を増やさずにスループットだけを増やすことはできません。ONTAP の SVM (Storage Virtual Machine) あたりのボリューム数上限やジャンクション数にも制限があるため、大規模構成時は事前に Service Quotas を確認してください。
まとめ
FSx は Lustre、Windows File Server、NetApp ONTAP、OpenZFS の 4 タイプのマネージドファイルシステムを提供するサービスです。ワークロードのプロトコルとパフォーマンス要件に応じてタイプを選定し、ONTAP の自動階層化でストレージコストを最適化します。設計段階で各タイプの制限事項とデプロイオプション (シングル AZ / マルチ AZ、Scratch / Persistent) を把握し、耐障害性とコストのバランスを判断することが重要です。