Amazon Elastic File System(EFS)は、AWSクラウドサービスおよびオンプレミスリソースで使用するためのNFSファイルシステムを提供します。これは、シンプルでスケーラブルで、完全に管理されています。このファイルシステムは、AWSクラウドまたはオンプレミスサーバーのいずれかにマウントできます。オンデマンドでスケーリングするように構築されており、自動的に拡大および縮小します。これは、ファイルを追加または削除すると、容量が増加および減少する可能性があることを意味します。これは、従来のNFSサーバーの代替手段です。
Amazon EFSは、AWSのWebコンソールからすばやく簡単に作成できます。このサービスは、インフラストラクチャを管理します。つまり、複雑なファイルシステム構成の展開、パッチ適用、および保守の複雑さを回避できます。
Amazon EFSは、ネットワークファイルシステムバージョン4(NFSv4.1およびNFSv4.0)プロトコルをサポートしています。
EFSの詳細については、こちらのAWS公式ページをご覧ください。
この記事では、単純なEFSファイルシステムの作成とUbuntuEC2インスタンスへのマウントに焦点を当てます。
先に進む前に、EC2インスタンスに精通していることを前提としています。慣れていない場合は、AWSコンソールからUbuntu18.04EC2インスタンスを作成する方法を学びたいと思います。ここをクリックしてください。
前提条件
- AWSアカウント(アカウントがない場合は作成します)。
- UbuntuEC2インスタンス。
何をしますか?
- AWSにログインします。
- EFSを作成する
- EC2にEFSをマウントします。
AWSにログイン
ここをクリックしてAWSログインページに移動します。
上記のリンクをクリックすると、ログイン情報を使用してログインする必要がある次のWebページが表示されます。
アカウントに正常にログインすると、次のような画面が表示されます。
EFSを作成
AWSで最初のEFSファイルシステムを作成するには、EFSを検索して結果をクリックします。
EFSのメインダッシュボードが表示されます。ここでは、EFSについて少し読むことができます。
EFSを作成するには、[ファイルシステムの作成]をクリックします。
[ネットワークアクセスの構成]ページで、EFSを作成するサブネットのVPCとチェックボックスを選択し、[次のステップ]をクリックします。 EFSを作成しているリージョンで使用可能なVPCを選択できます。
EFSにタグを追加する場合は、「key:value」を指定します。「ライフサイクルポリシー」を有効にして、ファイルシステムが低コストの低頻度アクセスストレージクラスを使用するようにします。現時点では「なし」のままにします。スループットとパフォーマンスモードをそのまま維持します。
暗号化を有効にせず、デフォルトで続行し、[次のステップ]をクリックします。必要に応じて、後でこれを試すことができます。
これらのオプションをすべてデフォルトのままにして、[次のステップ]をクリックします。
行った構成を確認し、[ファイルシステムの作成]をクリックします。
作成が成功し、マウントターゲットが作成されていることがわかります。マウントターゲットの状態がAvailableに変わるまで待ちます。
マウントターゲットの状態がAvailableに変わると、EC2インスタンスにマウントする準備が整います。
その間、マウント手順を確認できます。
ここで、EC2インスタンスに接続する前に、EFSのセキュリティグループをEC2のセキュリティグループに追加する必要があります。
作成したEFSをマウントするインスタンスに移動し、そのセキュリティグループを開きます。
「インバウンドルール」を編集します。
ここで、EFSのセキュリティグループがNFSポートにアクセスし、ルールを保存できるようにします。
EC2にEFSをマウントする
これで、EFSをEC2にマウントする準備が整いました。
インスタンスに接続し、ローカルパッケージリポジトリを更新します。
sudo apt-get update
インスタンスにnfs-commonをインストールします。
sudo apt install nfs-common
binutilsをインストールする
sudo apt-get -y install binutils
クローンefs-utils
git clone https://github.com/aws/efs-utils
ディレクトリを変更する
cd efs-utils /
パッケージをビルドする
./build-deb.sh
efs-utilsパッケージをインストールする
sudo apt-get -y install ./build/amazon-efs-utils*deb
EFSをマウントするディレクトリを作成します
sudo mkdir efs
EFSマウントヘルパーを使用してマウントします:
これで、
を使用してローカルディレクトリにEFSをマウントできます。sudo mount -t efs fs-218e3690:/ efs
NFSクライアントを使用したマウント:
まず、前の手順でマウントしたディレクトリをアンマウントします。
sudo umount / home / ubuntu / efs
EFSをマウントする
sudo mount -t nfs4 -o nfsvers =4.1、rsize =1048576、wsize =1048576、hard、timeo =600、retrans =2、noresvport fs-218e3690.efs.eu-west-3.amazonaws.com:/ efs
EFSマウントヘルパーとTLSマウントオプションを使用してマウントします:
まず、前の手順でマウントしたディレクトリをアンマウントします。
sudo umount / home / ubuntu / efs
EFSをマウントする
sudo mount -t efs -o tls fs-218e3690:/ efs
結論
この記事では、簡単なEFSファイルシステムの作成方法を学びます。利用可能なさまざまなオプションを使用して、EFSファイルシステムをUbuntu18.04EC2インスタンスにマウントしようとしました。基本に慣れた必要に応じて、EFSをカスタマイズおよび作成できます。