この記事の目次
「Amazon EFS(Elastic File System)」とは

「NFS」とは
「NFS(Network File System)」とは、ネットワーク上のストレージを共有するための仕組みです。 Linuxといった「UNIX系OS」で標準的に利用されており、「Windows Server」や「MacOS」でも対応しています。 他にも、Windowsで一般的に利用されている「CIFS(Common Internet File System)」、MacOSで使用されている「AFP(Apple File Protocol)」等があります。「NFS」の特徴について
「NFS」の特長とは、ネットワークを経由して、接続先サーバー上のストレージ容量をローカル環境で透過的に利用できる点です。 他の環境のストレージをローカル環境に組み込んで、仮想的にローカルストレージとして利用できるようにすることを「マウントする」と呼びます。マウントしたストレージは、特に意識せずにローカルのストレージと同様に扱えます。「NFS」のバージョンの違いについて
「NFS」には、最新バージョンの「NFS v4」と前バージョンの「NFS v3」があります。 「NFS v4」と「NFS v3」との違いは、「ユーザー認証」の有無です。「NFS v4」は「Kerberos認証」をサポートすることで、特定ユーザーのみ利用できるように設定できるようになりました。 もう一つの違いは、「NFS v4」では利用するポートを固定可能になり、ファイヤーウォールで特定のポートのみを通信許可する環境に対応しています。「NFS」を利用するメリットとは
「NFS」を利用するメリットとして、Webサーバーの高負荷対策があります。 人気のECサイト等で大量のアクセスがある場合に、フロントとなるWebサーバのインスタンスを多数起動し、アクセスを振り分けて負荷分散するのが一般的です。 その際には、常に同一の振り分け先のインスタンスにするのは運用上の煩雑になるので、異なるインスタンス間でデータを共有する仕組みが必要になります。「Amazon EFS」の特徴

AWSサービスとしての高可用性及び高耐久性
「Amazon EFS」は、AWS上のクラウドストレージサービスとしての利点を活かした「高可用性」と「高耐久性」を備えています。 様々な原因でシステム障害が発生した場合に、ファイルシステム上でデータ損失するリスクがあります。 「Amazon EFS」では、ファイル等のリソースを複数のアベイラビリティーゾーン(AZ)に分散して配置することで、特定のAZでの障害発生時にもデータの損失を防ぐことができます。ストレージコストの自動最適化
「Amazon EFS」は、ストレージのコストを自動的に最適化する機能があります。 具体的な方法としては、ストレージクラスを2種類用意し、一方のストレージを利用頻度の少ないファイルの置き場所にします。AWSではこのストレージを「EFS低頻度アクセスストレージクラス」と呼んでいます。 この「EFS低頻度アクセスストレージクラス」は、レスポンス性能等の機能面では若干劣りますが、その分コスト削減効果が期待できます。「Amazon EFS」に対するアクセス制御
「Amazon EFS」に対するアクセス制御は、AWS上ではネットワークとアプリケーションの両面で対応しています。 ネットワークのアクセス制御としては、「Amazon VPC(Virtual Private Cloud)」のセキュリティグループルールを使用します。 アプリケーションとしては、「AWS IAM(Identity and Access Management)」ポリシーと「EFS アクセスポイント」の2つを使用します。ファイル入出力負荷の急増への対応
「Amazon EFS」は、ファイルシステムに対するファイルの入出力負荷が急増しても自動的に対応するように設計されています。 通常であれば、システム管理者がサーバーの負荷状況を考慮しながら設定変更等で対応する作業ですが、AWSのマネージドサービスはこういった作業負荷を軽減しています。 具体的には、10GB/秒を超えるファイルシステムへの負荷にも対応可能となっています。NFSバージョン4への対応
「Amazon EFS」は、「ユーザー認証」機能が追加されたNFSのバージョン4に対応しています。そのためファイルごとにアクセス制御が可能で、「Amazon EC2」やオンプレミスサーバーと安全に接続できます。 「Amazon EFS」へのアクセスとして、「Amazon EC2」はAZ及びリージョン間で、オンプレミスサーバーは「AWS Direct Connect」から可能となっています。「Amazon EFS」の利用方法
