Amazon Elastic File System(EFS) 配置教程
takada@福岡オフィスです。
「サーバーレスより普通にサーバが好っきーっ。」はい、ということで、AWSよりAmazon Elastic File System(EFS)のプロダクションリリースのアナウンスがでましたので、触ってみました。
アナウンスにあるとおり、2016/6/29時点で、the US East (Northern Virginia), US West (Oregon), and Europe (Ireland) の3つのリージョンのみで利用可能です。
今回は、US West (Oregon)リージョンで試してみました。
EFSを作ってみる
US West (Oregon)リージョンを選択すると、メニューにEFSが追加されています。 メニューから選択した後、「Create file system」を押下すると、STEP1として、以下のような画面で必要項目を設定します。 以下、ポイントです。
- AZごとに1つのmount target(NFSのエンドポイント)を作成します。作成するサブネットは任意です。
- IP addressは自動割り当てにすることも、指定することもできます。
- mount targetごとにセキュリティグループを付与します。
次の画面に進みます。
タグの指定と、Performance modeを選択します。
EFSをマウントするEC2が10台未満であれば、General Purposeでよさそうです。 次の画面に進みます。 内容を確認し、「Create File System」を押下します。 作成中の画面となり、しばらくすると、ファイルシステムの作成が完了します。
EFSをマウントしてみる
上記の画面の中断にある「EC2 mount instruction」を押下すると、マウントの仕方が記載された画面が表示されます。 今回は、CentOS7で試してみました。手順は以下のとおりです。
- nfs-utils パッケージをインストールします。
12sudo yum install –y nfs–utils
- マウントポイントを作成します。
12sudo mkdir /efs
- マウントします。
12sudo mount –t nfs4 –o nfsvers=4.1 $(curl –s http://169.254.169.254/latest/meta-data/placement/availability-zone)."<em>File system ID"</em>.efs.us-west-2.amazonaws.com:/ efs
3番目のマウントコマンドでは、AZ名をメタデータから取得しています。File system IDはそれぞれ作成した後に付与されるものに読み替えてください。また、EFSはNFSver4およびv4.1に対応していますので、NFSのバージョン指定を4.1に指定しています。。 マウント後のdfコマンドの結果は、以下のようになります。 「8.0E」って、奥さん、エクサバイトですよ。ギガ、テラ、ペタ、エクサ。。。ベム、ベラ、ベロ。。。 ただし、マニュアルには「Amazon EFS file systems store data and metadata across multiple Availability Zones in a region and can grow to petabyte scale」という記載がありますので、表示されている「8.0E」はダミー表示の可能性があります。ペタでもすごいですが。。。 永続的にマウントさせるためには、/etc/fstabに以下にように書いてあげます。以下の例では、明示的にNFSv4を指定しています。これでリブート後も自動的にマウントされます。
まとめ
今回は、プロダクトリリースされたEFSを触ってみました。
これまでは、EC2でNFSサーバを構築し、可用性を持たせるためには、ディスクミラーリング/クラスタ等の仕組みが必要でしたが、EFSなら、3stepでフルマネージドの大容量のNFSを利用することができます。東京リージョンでの提供が待ち遠しいですね。