Amazon EC2からのAmazon EFS利用

昨年末より東京リージョンでもAmazon EFSを利用できるようになりました。このAmazon EFSは Amazon Elastic File System の略称であり、ストレージサービスを提供します。ストレージサービスというとこれまで Amazon S3 がありましたが、Amazon EFS は EC2 などに設置しているサーバに直接マウントすることができます。(S3は Storage Gateway が必要) 今回はこのAmazon EFSの利用方法を紹介します。

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

AWSコンソール画面よりEFSを選択、「ファイルシステムの作成」ボタンより作成ウィザードを開始します。この画面から3つのアベイラビリティゾーンが利用されていることがわかります。利用したいVPC・サブネットなどに合わせて設定しますが、今回はデフォルトのまま進めます。 次の画面では、オプション設定の構成を行うことができます。必要に応じて設定しますが、今回はデフォルトのまま進みます。 最後に設定を確認して「ファイルシステムの作成」ボタンを押すと、EFSの作成が開始されます。利用可能な状態になるには数分かかりますので、各アベイラビリティゾーンのマウントターゲットの状態が「利用可能」になるまで待ちましょう。

Amazon EC2 の起動

Amazon EFS が利用可能になるまでの間に、Amazon EC2 を作成します。今回はOSにAmazon Linux 2を選択し作成します。特別な設定は不要ですので、全てデフォルトで作成します。

セキュリティグループの設定

Amazon EC2 から Amazon EFS にアクセスするには EFS の Inbound にTCP 2049ポートを開放する必要があります。EFSの画面上でセキュリティグループIDを確認し、EFSのセキュリティグループのインバウンドを開き「編集」ボタンを押します。そしてTCP 2049ポートを適切に開きます。 下記は、EFSのセキュリティグループIDが表示されている箇所を示しています。

Amazon EFS マウント手順

それではEC2にEFSをマウントしましょう。その手順は「Amazon EC2 のマウント手順 (ローカル VPC から)」に書かれています。 今回はOSにAmazon Linuxを利用しているので、次のコマンドでEFSマウントヘルパーをインストールします。
sudo yum install -y amazon-efs-utils
そしてマウントするためのディレクトリを作成します。
sudo mkdir /mnt/efs
EFSマウントヘルパーを利用してEFSをマウントします。
sudo mount -t efs fs-xxxxxxx:/ /mnt/efs
もしなかなかコマンドが返ってこないときは、ポートが正常に開いていないことが疑われます。Amazon EFSのセキュリティグループのポートを確認してください。 これでEC2よりEFSを利用できるようになりました。試しにファイルを作成してみましょう。通常のLinuxのファイルシステムと同じように扱うことができます。

まとめ

Amazon EFSは料金が高いだけあってパフォーマンスが非常に優れています。従来のEBSのように容量を気にすることはないですし、S3のような転送の遅さをきにすることなく利用できます。お金に余裕があればぜひ利用してみて下さい。
» エンジニア登録はこちら