前提知識

ブロックストレージ vs ファイルストレージ

ストレージには大きく2種類ある

種類説明
ブロックストレージデータをブロック単位で管理。OS がファイルシステムを構築して使うEBS、物理HDD
ファイルストレージファイル/フォルダ単位で管理。ネットワーク経由で共有できるFSx、EFS、NAS

EBS は「仮想的なハードディスク」で、EC2 にアタッチしてその EC2 だけが使う

ファイルストレージは「ネットワーク上の共有フォルダ」で、複数のサーバーから同時にアクセスできる

EBS:
  EC2 ─── [EBS] (1対1の関係)

ファイルストレージ:
  EC2 A ───┐
  EC2 B ───┼─── [FSx / EFS] (複数からアクセス可能)
  EC2 C ───┘

NFS / SMB とは

ネットワーク経由でファイルを共有するためのプロトコル(通信規約)

出典: Difference Between File Access Storage Protocols

“With NFS, a user (or client device) can connect to a network server and access files on the server. It has rules that allow multiple users to share the same file without data conflicts. Similarly, SMB also allows users to read files on the server.”

ネットワーク越しにファイルサーバーに接続し、ローカルのファイルと同じように読み書きできる仕組み

プロトコル正式名称主な用途
NFSNetwork File SystemLinux/Unix 環境でのファイル共有
SMBServer Message BlockWindows 環境でのファイル共有

Windows のエクスプローラーで \\server\share にアクセスするのが SMB、Linux で mount コマンドでマウントするのが NFS


Amazon FSx とは

AWS が提供するフルマネージドのファイルストレージサービス

出典: Help Me Choose An Amazon FSx File System

“Amazon FSx is a service that allows users to choose between four file systems: Lustre, NetApp ONTAP, OpenZFS, and Windows File Server.”

4種類のファイルシステムを提供しており、用途に応じて選択する

サービスベース技術主な用途
FSx for Windows File ServerWindows ServerWindows ファイル共有(SMB)
FSx for LustreLustreHPC、機械学習(高スループット)
FSx for NetApp ONTAPNetApp ONTAPエンタープライズ、マルチプロトコル
FSx for OpenZFSOpenZFSLinux ワークロード

FSx for NetApp ONTAP とは

AWS が提供するフルマネージドの NetApp ONTAP ファイルシステム

出典: How Amazon FSx for NetApp ONTAP works

“Amazon FSx for NetApp ONTAP is a fully managed file service that provides NetApp ONTAP functionality in the cloud.”

NetApp ONTAP はオンプレミスで広く使われているエンタープライズ向けストレージOS。これを AWS 上でマネージドサービスとして利用できる

主な特徴

出典: FSx for NetApp ONTAP Features

“high-performance, NetApp ONTAP file systems in the AWS Cloud… multi-protocol access (NFS, SMB, iSCSI, NVMe-over-TCP), elastic capacity pools, compression, deduplication, and low-latency access”

特徴説明
マルチプロトコルNFS, SMB, iSCSI, NVMe-over-TCP に対応。Linux と Windows 両方からアクセス可能
高性能サブミリ秒(1ms未満)のレイテンシー
ストレージ効率化圧縮、重複排除で最大65%のストレージ削減
階層化ストレージSSD(高速)と容量プール(低コスト)の自動階層化
データ保護スナップショット、レプリケーション、バックアップ

構成要素

FSx for NetApp ONTAP は「インスタンス」ではなく「ファイルシステム」として作成する

出典: How Amazon FSx for NetApp ONTAP works

“A file system is the primary resource, with a specified SSD storage capacity and throughput”

用語説明
ファイルシステムFSx for ONTAP の主要リソース。ストレージ容量とスループットを指定して作成
SVM(Storage Virtual Machine)ファイルシステム内の仮想ファイルサーバー。アクセスポイントとなる
ボリュームデータを格納する論理的なコンテナ

EC2 からはネットワーク経由でファイルシステムにアクセスする

┌─────────────┐          ┌─────────────────────┐
│ EC2         │          │ FSx for ONTAP       │
│ (サーバー)   │── NFS ──→│ (ストレージ)         │
│             │── SMB ──→│                     │
└─────────────┘          └─────────────────────┘
   コンピュータ              データ保存場所

EBS との違い

EBS は「1つの EC2 インスタンスにアタッチするブロックストレージ」であり、FSx for ONTAP とは根本的に異なる

項目EBSFSx for NetApp ONTAP
種類ブロックストレージファイルストレージ
アクセス単一インスタンス複数インスタンスから同時アクセス
プロトコルブロック(OS が直接制御)NFS, SMB, iSCSI, NVMe-over-TCP
可用性単一AZMulti-AZ対応
共有不可(io1/io2のマルチアタッチは制限あり)可能

FSx for NetApp ONTAP が必要なケース

1. 複数インスタンスからの共有アクセスが必要

出典: FSx for NetApp ONTAP Features

“multi-protocol access (NFS, SMB, iSCSI, NVMe-over-TCP)”

複数の EC2 や EKS Pod から同じファイルシステムにアクセスしたい場合、EBS では実現できない

2. NFS/SMB ファイル共有が必要

EBS はブロックストレージなので、ファイル共有プロトコル(NFS/SMB)を直接サポートしない。EBS を使ってファイル共有するには、自分で NFS サーバーを構築する必要がある

3. 高速なクローン・スナップショットが必要

出典: FSx for NetApp ONTAP Manageability Options

“NetApp has long been able to instantly clone multi-Terabyte volumes for actively reusing them as writable copies - only needing space for the differences. Try cloning a big EBS volume, and you will immediately notice it is neither fast nor cheap.”

数TBのボリュームを瞬時にクローンできる。EBS のスナップショットは時間とコストがかかる

4. オンプレミス NetApp からの移行

出典: Choose the right SMB file storage

“FSx for ONTAP is based on NetApp’s proprietary ONTAP file system and is recommended mostly to existing on-premises NetApp users.”

既存の NetApp 環境があれば、SnapMirror でレプリケーションして移行できる

5. ストレージ効率化(圧縮・重複排除)が必要

出典: FSx for NetApp ONTAP Features

“compression, deduplication”

同じデータが多い環境では、ストレージコストを大幅に削減できる

EBS で十分なケース

  • 単一インスタンスからのアクセスのみ
  • ブロックストレージで問題ない(データベースの直接アタッチなど)
  • シンプルな構成で十分

EFS との違い

EFS も「複数インスタンスから NFS でアクセスできるファイルストレージ」だが、機能と用途が異なる

項目EFSFSx for NetApp ONTAP
プロトコルNFS のみNFS, SMB, iSCSI, NVMe-over-TCP
対象OSLinuxLinux, Windows, macOS
容量管理自動(使った分だけ課金)事前にプロビジョニング
レイテンシー数ミリ秒サブミリ秒(<1ms)
階層化EFS IA(低頻度アクセス)SSD + 容量プール(自動階層化)
重複排除なしあり
圧縮なしあり
スナップショットなし瞬時に作成可能
クローンなし瞬時に作成可能

EFS を選ぶケース

  • Linux のみで NFS アクセスできればいい
  • シンプルに使いたい(容量管理不要)
  • コストを抑えたい(小規模利用)

FSx for NetApp ONTAP を選ぶケース

出典: Help Me Choose An Amazon FSx File System

“FSx for NetApp ONTAP: Latency <1 ms, max throughput per file system 72-80 GB/s”

  • 高性能が必要(サブミリ秒レイテンシー、高スループット)
  • Windows と Linux 両方からアクセスしたい(マルチプロトコル)
  • ストレージ効率化が必要(圧縮、重複排除)
  • 高速なスナップショット/クローンが必要
  • オンプレミス NetApp からの移行

出典: Replacing EFS with Amazon FSx for NetApp ONTAP to reduce storage costs

“Both filesystems can be mounted using Network File System versions 4.0 and 4.1 (NFSv4)”

NFS でマウントする方法は EFS と FSx for ONTAP でほぼ同じなので、移行は比較的容易

コスト面

  • EFS: 使った分だけ課金されるため、小規模なら安い
  • FSx for ONTAP: 圧縮・重複排除でデータ量を削減できるため、大規模データでは安くなる場合がある

主なユースケース

出典: NetApp ONTAP File System Management Resources

“supports various workloads, including file shares, applications, and databases… high-performance storage for Oracle, SAP, VMware, Microsoft SQL Server, and more”

  • オンプレミスの NetApp 環境を AWS に移行
  • エンタープライズアプリケーション(Oracle, SAP, SQL Server)のストレージ
  • VMware ワークロードの外部データストア
  • Windows と Linux が混在する環境でのファイル共有
  • 開発環境での高速クローン(本番データのコピーを瞬時に作成)