Amazon EFS - NFSを作成してみた


ネットワークファイルシステム(NFS)って?

ネットワークを介してサーバ上のストレージ領域をローカルストレージと同様にマウントして使える点です。


EFSの特徴


  • EBSは容量確保型であり、使った容量分だけの課金がされます。データアクセスには課金されません。

  • バースト機能によって、スケーラブルに対応します。

  • ペタバイトまで利用可能です。

  • スループット、IOPSは自動的にスケーリングし、低レイテンシーを維持します。

  • 数千の同時接続をサポートします。

  • 複数のAZに複製、保存された高耐久性、高可用性を担保している。

Amazon EFS の制限 もあるので注意を。


ユースケース


  • 高スループット、低レイテンシーを必要とするビックデータアプリケーション

  • コンテンツ管理用ファイルシステム

  • 組織全体のユーザがアクセス可能なファイルシステムを作成し、ユーザーグループのファイルレベル、またはディレクトリレベルのアクセス許可。


スループット


バーストのスループット


  • ピーク時にクレジットを消費してバーストを実行して一時的な性能を向上させる方式

  • 最大スループットとバースト時間に宣言がある

  • スループット性能向上にはストレージ容量の増大が必要


プロビジョンドスループット


  • 一貫したスループットを事前に設定する方式

  • API/AWS CLI/マネジメントコンソールにより制御

  • 1日に1回だけスループット性能を減少できる


注意

EFSは、CIFS/CIFSプロトコルをサポートしていないため、Windowsファイル共有をサービスからはマウントできません。

その代替えサービスとしては、Amazon FSx for Windowsがあり、SMBプロトコルを使ってアクセス可能な、高い耐久性と可用性を備えたWindowsファイルシステムを構築することができます。


リンク

AWS CLIを利用して、EFS をEC2 にマウントしてみた


1.Amazon EFS でファイルシステムを作成する

Amazon EFS から 「ファイルシステムの作成」 をクリックします。

スクリーンショット 2018-08-23 19.36.33.png


ステップ 1: ファイルシステムアクセスの設定

マウントターゲットはエンドポイントのような役割をします。

EC2→マウントターゲット→1つのEFSを共有するイメージです。

「VPC:デフォルト」、[マウントターゲットの作成]はすべてチェックし、「次のステップ」 をクリックします。

スクリーンショット 2018-08-23 19.39.48.png


ステップ 2: オプション設定の構成

基本は汎用モードで使用されることが推奨されています。

最大I/Oモードとの違いは、パフォーマンスモードを確認して見ましょう。

デフォルトのまま「次のステップ」 をクリックします。

スクリーンショット 2018-08-23 19.43.29.png


ステップ 3: 確認と作成

デフォルトのまま「ファイルシステムの作成」 をクリックします。

スクリーンショット 2018-08-23 19.41.57.png


2.Amazon EC2 で仮想マシンを作成する

AWS EC2 ハンズオン を参考に以下の用件でインスタンスを作成します。

 インスタンス:Amazon Linux AMI

 type:t2.micro

 他:デフォルト

※インスタンスがファイルシステムにアクセスできるようにする必要がるため、TCP 2049番ポートをセキュリティグループで許可するようにしてください。※

ssh で EC2 インスタンスに接続後、マウントしていきます。

ファイルシステムにアクセスするには、標準の Linux のマウントコマンドとファイルシステムの DNS 名を使用して、ファイルシステムをマウントします。

マウントが完了すると、ローカルファイルシステム内と同じように、ファイルシステムでファイルやディレクトリを操作できるようになります。

EFS を開き、「Amazon EC2 のマウント手順 (ローカル VPC から)」を選択します。

スクリーンショット 2018-11-16 22.17.26.png

[Amazon EC2 のマウント手順 (ローカル VPC から)] ウィンドウの通り進めます。

スクリーンショット 2018-11-16 22.40.56.png

今回は、Amazon Linux EC2 インスタンスを使用しているので、次のコマンドを使用して EFS マウントヘルパーをインストールします。

sudo yum install -y amazon-efs-utils

インスタンスに新しいディレクトリを作成します。

sudo mkdir efs

新しいディレクトリにファイルシステムをnfs4タイプでマウントします。

[Amazon EC2 のマウント手順 (ローカル VPC から)]に書かれている、sudo mount –t nfs4...の部分を実行します。

sudo mount –t nfs4... `

マウントされているか確認しましょう。

df -h

スクリーンショット 2018-11-16 22.30.33.png

新しいディレクトリに 1 GiB のファイルを生成し、新しいファイルシステムでテストファイルを作成します。

sudo dd if=/dev/zero of=~/efs/1GiB bs=1M count=1024 status=progress

スクリーンショット 2018-11-16 22.32.52.png