Amazon EFSを知ってオンプレミス環境以外で開発をしよう

開発においてはそのほとんどがオンプレミスのサーバーを構築することによって、サービスが運用されています。ですが、クラウドサービスの発展に伴って、マネージド共有ストレージサービスが誕生し、それらを運用することによってNFSサーバーの構築・運用の負担を軽減することができるようになりました。

今回はAWSでリリースされているサービス「Amazon EFS」について解説していきます。

Amazon EFSとは

Amazon EFS(Amazon Elastic File System) は、AWSクラウドサービス、オンプレミス環境で使用するためのNFS(Network File System)ファイルシステムのことを指します。
Amazon EFSは完全マネージドタイプのNFSファイルシステムで、アプリケーションを中断することなく、展開サービスの規模に必要に応じてスケーリングするよう設計されています。そのためファイルサーバー、ストレージ管理、ハードウェア更新、ソフトウェア設定、バックアップ実行等の諸々の管理に関してはAmazon EFSにすべて任せることができ、ファイルの追加および削除に合わせて自動で拡大と縮小が行われるので、エンジニアの負担が軽減することが期待できます。また、AWSマネジメントコンソール、AWS CLI、またはAWS SDKを使用することで、フルマネージド型のファイルシステムを数秒で作成できます。

Amazon EFSのストレージクラス

Amazon EFSでは、利用するにあたって2つの標準ストレージクラスと低頻度アクセスストレージクラスが提供されています。ここでは、その2つのストレージクラスについて掘り下げていきます。

Amazon EFS標準ストレージクラス

標準ストレージクラスは、アクティブなファイルシステムのワークロード用に設計されていて、1か月間で使用したファイルシステムストレージ分のみ料金が発生します。また、
バーストスループットモードとプロビジョンドスループットモードの2つのモードがあり、バーストスループットモードでは、帯域幅やリクエストの料金は発生しません。それに対してプロビジョンドスループットモードでは、保存されたデータの量にかかわらず、ファイルシステムのスループットをプロビジョニングすることができ、これにより、ストレージとスループットの料金請求を分割することができます。

バーストスループットモードとプロビジョンドスループットモードは、保存したデータに基づいてプロビジョンしたスループットに応じてのみ発生し、共に1GBあたり50KB/秒 (または20GBあたり1MB/秒)となるスループットがEFS標準ストレージ料金に含まれています。

Amazon EFS低頻度アクセスストレージクラス

低頻度アクセスストレージクラスでは、アクセス頻度の低いファイル向けでコストを抑えることができます。低頻度アクセスストレージクラス上に保存されたデータのコストは標準より低くなりますが、ファイルを読み書きするたびに料金が掛かるので注意が必要です。

Amazon EFSの特徴

POSIX 準拠の共有型ファイルストレージ

Amazon EFSは、NFSv4と呼ばれるプロトコルを経由することで、従来のファイルアクセス許可モデル、ファイルロック、階層ディレクトリ構造を使用して、Amazon EC2インスタンスとオンプレミスサーバーの接続に安全なアクセスを同時に提供してくれます。Amazon EC2インスタンスは、AZ、リージョン、VPCにまたがってファイルシステムにアクセスすることができ、オンプレミスサーバーはAWS Direct ConnectあるいはAWS VPNを介してアクセスすることができます。

スケーラブルなパフォーマンス

Amazon EFSは、Linuxワークロードに必要なスループット、IOPS、および低レイテンシーを実現するように設計されており、スループットとIOPSはファイルシステムの拡大に合わせてスケーリングしてくれます。また、短期間でより高いスループットレベルにバーストができるので、ファイルワークロードの予測することのできないパフォーマンスのニーズに対してサポートしてくれる造りとなっています。

動的伸縮自在性

Amazon EFSはアプリケーションを中断せずにファイルの追加または削除に合わせてファイルシステムのストレージ容量を自動で拡張、縮小することができます。ファイルシステムを作成してファイルの追加を開始するだけで、自動的に行われるので事前にストレージをプロビジョニングする必要はありません。

優れた費用対効果

Amazon EFSは実際に使用した分のみ料金が発生するようになっているので、前もってストレージをプロビジョニングをする必要がなく、また最低料金や初期費用が必要ありません。EFSライフサイクル管理を使用することで、アクセス頻度が低いファイルはコストを抑えるために低頻度アクセスストレージクラスに自動的に移動させることもできます。

セキュリティとコンプライアンス

Amazon EFSではPOSIXアクセス許可、Amazon VPC、およびAWS IAM等の既存のセキュリティインフラストラクチャを活用することでAmazon EFSファイルシステムへのアクセスを制御し、安全にファイルへアクセスすることができます。また保管時と伝送中のデータを暗号化してデータを保護してくれるので、規制要件を満たすことに役立つ多くの利用資格要件とコンプライアンス要件にも対応しています。

Amazon EBSやAmazon S3との違い

Amazon EFSは「ファイルストレージ」というタイプのストレージサービスであり、LinuxなどのOSでマウント可能なファイルシステムが提供されます。

対して、Amazon EBS(Elastic Block Store)は「ブロックストレージ」というタイプのストレージサービスとなっており、Amazon EC2(Elastic Compute Cloud)のインスタンス
にアタッチするためのボリュームが提供されます。

Amazon S3(Simple Storage Service)では、「オブジェクトストレージ」というタイプのストレージサービスとなっており、データを「オブジェクト」と呼ばれる単位で読み書きするため、HTTPSなどでアクセス可能なエンドポイントが提供されます。このように利用するサービスによっては、異なるタイプのストレージが提供されることになるため、目的に応じた適切なタイプのストレージサービスを使い分ける必要がありますので注意しましょう。

おわりに

以上でAmazon EFSの解説は以上になります。先に述べた通り、ストレージサービスは展開したいサービスに応じて選択する必要があります。そこに注意しながらAmazon EFSといったクラウドサービスを利用することで開発に集中できる環境づくりを行っていくといいのかもしれません。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です