現在、SAA合格のためにAWSストレージについて学習していたのですが、その中でS3、EBS、EFS、FSxの違いについて疑問に思ったので、記事としてまとめたいと思います!
Amazon S3 (Simple Storage Service)
タイプ: オブジェクトストレージ
配置: リージョン
Amazon S3は、データをバケット内のオブジェクトとして格納するAWSの主力オブジェクトストレージサービスです。インターネット規模のアプリケーション向けに設計されており、事実上無制限のストレージ容量を提供します。
主な特徴:
- アクセス方法: HTTP経由でのAPI経由のアクセス
- 耐久性: 非常に高い耐久性(99.999999999%または11個の9)
- 可用性: 複数のアベイラビリティゾーンにわたる高可用性
- 理想的なユースケース: データの中長期保存、バックアップとアーカイブ、コンテンツ配信、データレイク、静的ウェブサイトホスティング
主な利点:
- 大規模データストレージに対してコスト効率が高い
- 異なるアクセスパターンに対応する複数のストレージクラス
- 組み込みデータ冗長性と災害復旧機能
- 他のAWSサービスとのシームレスな統合
Amazon EBS (Elastic Block Store)
タイプ: ブロックストレージ
配置: アベイラビリティゾーン(AZ)に設置
EBSは、EC2インスタンスに接続できる永続的なブロックレベルのストレージボリュームを提供します。仮想マシンの従来のハードドライブやSSDとして機能します。
主な特徴:
- アクセス方法: EC2インスタンスのディスクボリュームとして直接接続
- 範囲: 単一のアベイラビリティゾーン配置
- パフォーマンス: 異なるワークロードに最適化されたさまざまなボリュームタイプ
- 理想的なユースケース: オペレーティングシステムストレージ、データベースストレージ、ファイルシステム、永続的なブロックストレージを必要とするアプリケーション
主な利点:
- 要求の厳しいアプリケーションのための高IOPS性能
- バックアップと復旧のためのスナップショット機能
- 保存時および転送時の暗号化
- 柔軟なボリュームタイプ(gp3、io2、st1、sc1)
Amazon EFS (Elastic File System)
タイプ: ファイルストレージ
配置: マルチAZ(フルマネージド)
EFSは、異なるアベイラビリティゾーンにわたって複数のEC2インスタンスが同時にアクセスできる、フルマネージドでスケーラブルなファイルシステムを提供します。
主な特徴:
- アクセス方法: ファイルシステムとして利用、マウントターゲットを介したNFS(Network File System)プロトコル
- 範囲: AZ間でのアクセス機能
- スケーラビリティ: 使用量に基づいて自動的にスケールアップおよびダウン
- 理想的なユースケース: 共有アプリケーションデータ、コンテンツリポジトリ、ウェブサービング、コンテナ化されたアプリケーション
主な利点:
- 複数のインスタンスからの同時アクセス
- プロビジョニング不要の自動スケーリング
- POSIX準拠のファイルシステム
- LambdaやコンテナなどのAWSサービスとの統合
Amazon FSx
タイプ: ファイルシステム
配置: フルマネージド高性能ファイルシステム
FSxは、特定のユースケースとワークロードに最適化されたフルマネージドファイルシステムを提供し、4つの異なるバリアントを提供します。
FSxバリアント:
1. FSx for Windows File Server
- SMBプロトコルを使用したネイティブWindowsファイルシステム
- Active Directoryとの統合
- Windowsベースのアプリケーションに最適
2. FSx for Lustre
- 計算集約的なワークロードのための高性能ファイルシステム
- HPC、機械学習、メディア処理に最適化
- データ処理パイプラインのためのS3統合が可能
3. FSx for NetApp ONTAP
- 高度なデータ管理機能を持つエンタープライズグレードファイルシステム
- マルチプロトコルサポート(NFS、SMB、iSCSI)
- 高度な機能を必要とするエンタープライズアプリケーションに最適
4. FSx for OpenZFS
- スナップショットと圧縮機能を持つ高性能ファイルシステム
- 高IOPSと低遅延を必要とするワークロードに適している
主な利点:
- 高性能のワークロード用に最適化
- 自動バックアップ付きのフルマネージド
- 既存のエンタープライズツールとの統合
- バリアントに応じた複数プロトコルサポート
ストレージタイプ比較
オブジェクトストレージ(S3)
- 目的: データの長期保存とアーカイブ
- アクセスパターン: HTTP API経由での低頻度から中程度のアクセス
- スケーラビリティ: 事実上無制限
- コスト: 大規模ストレージに最もコスト効率的
ブロックストレージ(EBS)
- 目的: サーバーに付随するデータ処理用ストレージ
- アクセスパターン: 高頻度、低遅延アクセス
- スケーラビリティ: インスタンス接続に限定
- コスト: GB当たりのコストは高いが、パフォーマンスに最適化
ファイルストレージ(EFS/FSx)
- 目的: 協調ワークロードのための共有ファイルシステム
- アクセスパターン: マルチインスタンス同時アクセス
- スケーラビリティ: 弾力的(EFS)または高性能(FSx)
- コスト: 共有アクセス機能のためのプレミアム価格
ユースケースシナリオ
S3を選択する場合:
- データレイクや分析プラットフォームの構築
- バックアップと災害復旧ソリューションの実装
- 静的ウェブサイトやコンテンツ配信のホスティング
- コンプライアンス要件のためのデータアーカイブ
EBSを選択する場合:
- EC2インスタンス上でのデータベース実行
- 高IOPSを必要とするアプリケーションの展開
- EC2インスタンスのブートボリュームの設定
- 単一インスタンスファイルシステムの実装
EFSを選択する場合:
- コンテナ化されたアプリケーションのサポート
- 共有コンテンツリポジトリの実装
- スケーラブルなウェブアプリケーションの構築
- POSIX準拠の共有ストレージが必要
FSxを選択する場合:
- 高性能コンピューティングワークロードの実行
- Windowsベースのエンタープライズアプリケーションのサポート
- 機械学習トレーニングパイプラインの実装
- 特殊なファイルシステム機能が必要



