AWSコラム

AWSエンジニアのためのブログメディア

AWSの「AmazonEFS」とは?EFSの特徴や利用方法等を紹介!

2021年01月27日

「Amazon EFS(Elastic File System)」とは

「Amazon EFS(Elastic File System)」とは、AWS社で提供しているネットワークファイルシステム(NFS)のサービスです。

「Amazon EFS」は、AWS上の「Amazon EC2」等のサービスからだけでなく、ネットワークを経由してオンプレミスの環境のサーバーからも利用することができます。

「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」の特徴

「Amazon EFS」は、AWS上のファイルシステムとして利用できますが、クラウドならではの特徴を活かしてペタバイト級のデータ量に対応しています。

またマネージド型サービスであり、データ量の増減に応じて容量をスケールするためストレージ管理の工数が削減できます。

その他にも多くの特徴があり、これらを詳細に解説してきます。

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」の利用方法

「Amazon EFS」の利用方法について、一般的な利用ケースを元に説明します。

具体的には、「Amazon VPC(仮想プライベートクラウド)」環境下で「Amazon EC2」のインスタンスに対して「Amazon EFS」のファイルシステムをマウントするまでの手順を解説していきます。

利用する前の準備

AWSで初めて「Amazon EFS」を利用する際には、AWS上でのアカウントとそれに関連する「IAMユーザー」を作成する必要があります。

特に「IAMユーザー」の作成は重要です。アカウント作成時の「ルートユーザー」でAWS上のサービスを利用する場合には、すべての作業が可能となっているため操作ミスによるデータ消去等のリスクが高くなります。そのためAWS社でも「IAMユーザー」の作成を強く推奨しています。

「Amazon EFS」のファイルシステムの作成

最初にAWSコンソール画面でサインインして、「Amazon EFS マネジメントコンソール」画面を開きます。

ファイルシステムを作成するための「Create file system」を選択して、ダイアログボックスを開きます。そして、ファイルシステムの名前を入力した後に、用途に応じてデフォルトVPC等を選択します。

「Create」ボタンを押下してファイルシステムを作成します。特にオプションを設定しなければ推奨設定で作成されます。

「Amazon EC2」インスタンスの起動

「Amazon EC2」コンソールを開いて、「インスタンスの作成」ボタンを押下します。

「Amazon マシンイメージ (AMI)」とインスタンスタイプを順番に選択し、「次へ」ボタンを押下します。

インスタンスの詳細を設定する際には、基本的にはデフォルト設定を選択していきます。なお「ネットワーク」欄では、EFSファイルシステムを先ほど作成した際と同様のVPCを選択します。

最後に、「作成」ボタンを押下して終了です。

「AWS DataSync」によるデータ転送

「AWS DataSync」を利用することで、マウントした「Amazon EFS 」にファイルが転送できるようになりました。

「AWS DataSync」とは、AWSストレージとネットワークやオンプレミスのストレージとの間のデータ転送やレプリケーションを自動化してくれるサービスです。

「Amazon EFS」の学習方法

「Amazon EFS」の学習方法としては、AWS公式サイトでのチュートリアルの利用がおすすめです。

例えば、「Amazon EFS」を作成して「AWS CLI」から「Amazon EC2」にマウントする方法や、ユーザーごとに作成したディレクトリを利用して、再起動時にマウント作業を自動化する方法等があります。

これらのチュートリアルを活用して、「Amazon EFS」を積極的に利用していきましょう。


AWS分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)
FEnetからご応募→夢テクノロジー入社でお祝い金最大120万円プレゼント

Search

Popular

reccomended

Categories

Tags