[小ネタ]EFSに作ったフォルダごとにEC2からマウントしてみた

はじめに

こんにちは、AWS事業本部のニシヤマです。はいマスキュラー。

EFSを使ってファイル共有をする際に、EFSファイルシステム直下にフォルダを作ってEC2インスタンスごとにマウントする設定をご紹介します。

イメージ

構成は以下のようになります。

前提

  • VPC、EC2が構築済みであること
  • EFSが作成済み、EC2からNFSでアクセス可能であること
  • EC2がAmazon Linux 2で起動済みであること
  • 各EC2にamazon-efs-utilsパッケージがインストール済みであること

やってみた

まずは管理用EC2インスタンスでマウントポイント/mnt/efs/を作成し、EFSファイルシステムをマウントします。

sudo mkdir /mnt/efs/
sudo mount -t efs -o tls fs-XXXXXXXX:/ /mnt/efs/

以下のような構成でファイルを配置します。

/mnt/efs/
├── Instance-a-folder
│   └── Instance-a.txt
└── Instance-c-folder
    └── Instance-c.txt

Instance-aからマウント

Instance-aからInstance-a-folderをマウントします

$ sudo mkdir /mnt/efs
$ sudo mount -t efs -o tls fs-XXXXXXXX:/Instance-a-folder /mnt/efs
$ tree /mnt/efs
/mnt/efs
└── Instance-a.txt

Instance-a-folderの中身だけが見えます。

Instance-cからマウント

Instance-cからInstance-c-folderをマウントします

$ sudo mkdir /mnt/efs
$ sudo mount -t efs -o tls fs-XXXXXXXX:/Instance-c-folder /mnt/efs
$ tree /mnt/efs/
/mnt/efs/
└── Instance-c.txt

こちらは、Instance-c-folderの中身だけが見えます。

自動マウント

上記の設定だとOS再起動などした際にフォルダがマウントされないままになってしまいます。OS起動時にEFSをマウントしたい場合は、/etc/fstabに以下のように追記することで自動マウントできます。

fs-XXXXXXXX:/Instance-a-folder /mnt/efs efs defaults,_netdev 0 0

Amazon EFS ファイルシステムの自動マウント

以上です!

さいごに

EFSを利用してファイルを共有しつつ、EC2インスタンスごとに見せるフォルダを制限する方法でした。このようにEFSファイルシステム上のフォルダをマウントすることでEC2ごとにアクセスできるコンテンツを制御することができます。

以上、この記事がどなたかのお役に立てば幸いです。

最近の格闘技(主にMMA)

今週末は30日にUFC Fight Nightで重量級カードも多く要注目のヘビー級がメインに控えており一瞬も見逃せない試合ですね。日本でも土曜にDEEP、日曜にPANCRACEと重量級カードもありどちらもメインが王座決定戦なので目が離せませんね。どちらも無料で観れるようなので興味ある方はぜひ!