はじめに
AWSには色々なストレージサービスがありますが、今回はNFSで利用できるマネージドサービスについて私見を述べたいと思います。
特徴
2022/3現在にAWSでリリースされているNFSマネージドサービスは以下の4つかと思います。
-
EFS
99.999999999 % (イレブンナイン) の耐久性と最大 99.99 % (フォーナイン) の可用性で設計(スタンダードの場合)されたフルマネージドなNFSサービス。分散システムのバックエンドには向くけど1サーバからの高速アクセスとかには向かない。書き込みが遅い(MAX 7,000iops)。対応NFS verは4,4.1のみ。idmapに対応してない。容量をほぼ気にする必要がない(大抵の場合OSが認識できるサイズまで書ける)。シングルゾーンなら結構安いので使えるならEFSを最初に検討すべき。 -
FSx for NetApp ONTAP
NetAppをAWS上で動かすマネージドサービス。前からEC2上で動くCVOとかはあったけど、これは完全にマネージドサービス。パフォーマンスティア(SSD)とキャパシティティア(S3?非公開)という考え方があり、SSDは最低1,024GBアサインする必要がある。最大容量176 PiB(ファイルシステムごとに最大 192 TiB)。CIFS、NFSv3、NFSv4.x、SMB v2.v3.1.1でアクセス可能。圧縮、重複排除機能あり。EFSのシングルゾーンよりは高いけどスタンダードよりは安い。マルチAZ配置可能。高速書き込みやIOパフォーマンスを必要とするワークロードに向いてる。 -
FSx for OpenZFS
出たばかりであまり分からないけど、OpenZFSなので重複排除、圧縮効く。SSD前提なのでちょっと割高?OpenZFSって大量のファイルを消すと結構遅いイメージがあるけどどうなんだろ? -
Storage Gateway
結構昔からあるS3をNFSやCIFSでアクセスできるEC2で動くマネージドアプライアンス。マルチAZでは組めない。速度は速くはない。
EFS v.s. FSx for NetApp ONTAP
今回は、EFSとFSx for NetApp ONTAPのベンチマークを実施してみました。
・fioで32MB/128並列の読み書きテスト
・EFSシングルゾーン、パフォーマンスモード汎用、スループットモードバースト
・FSx for Net ONTAP SSD 1,024GiB、スループット128MB/s
・NFSクライアント AmazonLinux2 m5.large
EFS | FSx | |
---|---|---|
ランダムリード(io/s) | 12,564 | 29,897 |
ランダムリード(KB/s) | 50,258 | 119,591 |
ランダムライト(io/s) | 3,887 | 35,463 |
ランダムライト(KB/s) | 15,552 | 141,853 |
※FSx for NetApp ONTAPは全部SSDに載ってしまっていると思うので、データがキャパシティティアにいってる場合はもう少し速度が落ちると思います。
※RHEL6にはBUGがあってNFSv4では速度でません。試しに、RHEL6.2のクライアントで試してみたところ、40%程パフォーマンスが落ちてました。
まとめ
EFSは結構制約が多いのでそれでも問題ないならEFSを使う。無視して使うとひどい目に合うかも。パフォーマンス重視ならFSx for NetApp ONTAPなり、FSx for OpenZFSを使うことをお勧めします。
参考情報
EFSのアクセス制御仕様
Amazon EFS のトラブルシューティング
新サービス – Amazon FSx for NetApp ONTAP
Amazon FSX for ONTAP(NetAppドキュメント)