LoginSignup
6
2

More than 3 years have passed since last update.

【AWS】AmazonLinuxにEFSボリュームのNFSマウントを実施してみる

Last updated at Posted at 2020-06-30

はじめに

AmazonLinuxにEFSのNFSマウントを実施する手順をまとめたいと思います。
今回はEC2インスタンス2台に同じEFSをマウントして、ファイルを共有できるか確認するという内容になります。

そもそもEFSとは?

「Amazon Elastic File System」の略。
AWSクラウドサービスおよびオンプレミスリソースで使用するためのNFSファイルシステム

特徴

  • NFSサーバ(EFS)自体はAWSにて管理
  • 高い可用性と耐久性を備えている

基盤環境

項目 説明
OS Amazon Linux 2 AMI (HVM), SSD Volume Type
Size t2.micro

※AmazonLinuxは作成直後の状態になります。

構成

EFSマウント.png

構成表

項目 名前 備考
VPC efs-test -
セキュリティグループ efs-security -
サブネット#1 efs-public-1a AZ(ap-norheast-1a)
サブネット#2 efs-public-1c AZ(ap-norheast-1c)
EC2#1 efs-test01 -
EC2#2 efs-test02 -
EFS test-efs -

※サブネット2つにつきましては、パブリックIPへSSH接続できるように設定しています。

手順

※VPCについては、セキュリティグループの説明以外省略します。

EFS作成

①EFSを開く

AWSマネジメントコンソールよりEFSを開く。

1.JPG

②ファイルシステムの作成

「ファイルシステムの作成」をクリック。

2.JPG

③ネットワークアクセスの設定

以下のように設定

  • VPC
項目 名前 備考
VPC efs-test -
  • マウントターゲットの設定
チェック アベイラビリティーゾーン サブネット IPアドレス セキュリティグループ
ap-northeast-1a efs-public-1a 自動 efs-security
ap-northeast-1c efs-public-1c 自動 efs-security

3.JPG

設定後、次のステップをクリック

④タグ設定

下記のようにタグ設定を実施

キー
Name test-efs

4.JPG

他の設定はデフォルトのままで、次のステップをクリック

⑤内容確認

内容確認し、ファイルシステムの作成をクリック。

7.JPG

⑥ファイルシステム作成

ファイルシステム作成が完了すると、下記のようになる。
※マウントターゲットの状態が「利用可能」

efs.JPG

セキュリティグループ

セキュリティグループ(efs-security)にNFS(0.0.0.0/0)を追加。
※セキュリティグループはVPCダッシュボードから設定可能

9.JPG

※設定前の状態では、SSH/HTTP/HTTPSをフルオープン(0.0.0.0/0)状態にしています。

EC2設定

EC2インスタンス2台(efs-test01/efs-test02)に同様の設定を実施します。

①rootへスイッチ

sudo su

②ディスク確認

df -Ph

実行例

[root@ip-10-0-0-191 ec2-user]# df -Ph
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        474M     0  474M   0% /dev
tmpfs           492M     0  492M   0% /dev/shm
tmpfs           492M  400K  492M   1% /run
tmpfs           492M     0  492M   0% /sys/fs/cgroup
/dev/xvda1      8.0G  1.3G  6.8G  16% /
tmpfs            99M     0   99M   0% /run/user/1000
[root@ip-10-0-0-191 ec2-user]#

③amazon-efs-utilsパッケージインストール

yum -y install amazon-efs-utils

④EFSマウント

mkdir マウントしたいディレクトリ
mount -t efs <ファイルシステムID>:/ <マウントしたいディレクトリ>

実行例

mkdir /test
mount -t efs fs-ecfdfecd:/ /test

※ファイルシステムIDはこちらの部分になります。
(EFSダッシュボードのファイルシステム一覧から確認できます。)

ID.JPG

⑤EFSマウント確認

df -Ph

実行例

[root@ip-10-0-0-191 ~]# df -Ph
Filesystem                                      Size  Used Avail Use% Mounted on
devtmpfs                                        474M     0  474M   0% /dev
tmpfs                                           492M     0  492M   0% /dev/shm
tmpfs                                           492M  404K  492M   1% /run
tmpfs                                           492M     0  492M   0% /sys/fs/cgroup
/dev/xvda1                                      8.0G  1.3G  6.8G  16% /
tmpfs                                            99M     0   99M   0% /run/user/1000
fs-ecfdfecd.efs.ap-northeast-1.amazonaws.com:/  8.0E     0  8.0E   0% /test
[root@ip-10-0-0-191 ~]#

確認

EC2インスタンス2台(efs-test01/efs-test02)にてファイルが共有できるか確認します。
※今回の確認手順では、分かりやすくするためにOSにホスト名を付与しています。

①マウント確認

2台とも「/test」にボリュームがマウントされていることを確認。

  • efs-test01
[root@efs-test01 ~]# df -Ph
Filesystem                                      Size  Used Avail Use% Mounted on
devtmpfs                                        474M     0  474M   0% /dev
tmpfs                                           492M     0  492M   0% /dev/shm
tmpfs                                           492M  464K  492M   1% /run
tmpfs                                           492M     0  492M   0% /sys/fs/cgroup
/dev/xvda1                                      8.0G  1.3G  6.8G  16% /
fs-ecfdfecd.efs.ap-northeast-1.amazonaws.com:/  8.0E     0  8.0E   0% /test ← これ
tmpfs                                            99M     0   99M   0% /run/user/0
tmpfs                                            99M     0   99M   0% /run/user/1000
[root@efs-test01 ~]#
  • efs-test02
[root@efs-test02 ~]# df -Ph
Filesystem                                      Size  Used Avail Use% Mounted on
devtmpfs                                        474M     0  474M   0% /dev
tmpfs                                           492M     0  492M   0% /dev/shm
tmpfs                                           492M  464K  492M   1% /run
tmpfs                                           492M     0  492M   0% /sys/fs/cgroup
/dev/xvda1                                      8.0G  1.3G  6.8G  16% /
tmpfs                                            99M     0   99M   0% /run/user/0
fs-ecfdfecd.efs.ap-northeast-1.amazonaws.com:/  8.0E     0  8.0E   0% /test
tmpfs                                            99M     0   99M   0% /run/user/1000
[root@efs-test02 ~]#

②efs-test01にてファイル作成

efs-test01より/textへファイルの作成を実施する。

ファイル作成の流れ

test.txt作成
test.txtに「test」と書き込み
test.txtの表示

コマンド

touch /test/test.txt
echo test > /test/test.txt
cat /test/test.txt

実行例

[root@efs-test01 ~]# touch /test/test.txt
[root@efs-test01 ~]# echo test > /test/test.txt
[root@efs-test01 ~]# cat /test/test.txt
test
[root@efs-test01 ~]#

③efs-test02にてファイル存在確認/ファイル削除

ファイル存在確認

/test内にefs-test01にて作成したファイルが存在することを確認。

ll /test
cat /test/test.txt

実行例

[root@efs-test02 ~]# ll /test
total 4
-rw-r--r-- 1 root root 5 Jun 30 14:26 test.txt
[root@efs-test02 ~]#
[root@efs-test02 ~]# cat /test/test.txt
test
[root@efs-test02 ~]#

ファイル削除

test.txtを削除する。

rm -f /test/test.txt

実行例

[root@efs-test02 ~]# rm -f /test/test.txt
[root@efs-test02 ~]# ll /test
total 0
[root@efs-test02 ~]#

④efs-test01にてファイル存在確認

test.txt/testより消えているか確認する。

ll /test

実行例

[root@efs-test01 ~]# ll /test
total 0
[root@efs-test01 ~]#

まとめ

  • AmazonLinuxにEFSボリュームをNFSマウントできる
  • EFSボリュームは複数のEC2インスタンスで共有できる。

参考

Amazon EFS入門 S3、EBSとの違いと使い方
Amazon Linux で amazon-efs-utils パッケージをインストールする
AWS EFS をEC2にマウントしてみる

6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2