LoginSignup
3
1

More than 3 years have passed since last update.

EFSをVPC PeeringしたLightsailのCentOSにマウントさせる

Last updated at Posted at 2020-01-21

LightsailのVPC ピアリング接続って・・・

Amazon Lightsail では、Amazon RDS データベースや Amazon Aurora など、他の AWS リソースを表示して接続できます。
Lightsail Virtual Private Cloud (VPC) を同じリージョンの AWS VPC とピア接続できます。
たとえば、アプリからデータ層を分離することができます。

ドキュメント

  • 関連するドキュメントはこちらです。

手順(ごめんなさい、最低限の設定のみです。アクセス管理などは省略してます。)

Lightsail側でVPC Peeringを有効化する

  1. Lightsailのマネジメントコンソールからアカウントをクリックして設定画面を開く
スクリーンショット 2019-10-17 15.55.46.png
  1. 「アドバンスト」の下の方に「VPC Peering」の設定項目があるのでクリックして有効化する
スクリーンショット 2019-10-17 15.57.05.png
  1. VPCのピアリング接続を確認すると、LightsailとデフォルトVPCでVPC Peeringが有効になっている
スクリーンショット 2019-10-17 16.00.21.png

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

  • ステップ 1: ネットワークアクセスを設定する

    • VPC:デフォルトのVPCを指定しました(Lightsailとだとデフォルトでしかダメ)
    • マウントターゲットの作成:アベイラビリティーゾーンとサブネット(デフォルト)、IPアドレス(自動)、セキュリティグループを選択

EFSのセキュリティグループは、事前に作成しておきます。

スクリーンショット 2020-01-20 14.53.43.png スクリーンショット 2020-01-20 14.54.38.png
  • ステップ 2: ファイルシステムの設定を行う

    • 特に何も変更せずデフォルトで設定しました。
  • ステップ 3: クライアントアクセスを設定

    • 特に何も変更せずデフォルトで設定しました。
  • ステップ 4: 確認と作成

    • ファイルシステムの作成ボタンをポチッとな

5.マウント

ansibleでやりたかったので、ansible-galaxyに、初めて公開してみました。

ansible-role-efs-lightsail

内部のIPアドレスで指定する方法を採用します。

main.yml
- hosts: servers
  roles:
  - {
      role: kaihei777.ansible_role_efs_lightsail,
      mount_type: "vpc-peering",
      aws_efs_paths:
        [
          {
            path: "/mnt/efs", ← マウントしたい場所
            owner: "root",
            group: "root",
            mode: "0644",
            region: "ap-northeast-1", ← リージョン
            filesystem_id: "fs-xxxxx", ← 作成すると割当られるファイルシステムID
            mount_target_ip: "172.31.xx.xx", ← 作成すると割当られるマウントターゲットのIPアドレス
            state: "mounted",
            opts: "nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2",
          },
        ],
    }

このroleを実行すると・・・おー! すごい使用可能の領域w
fstabにも追加されてる!

[centos@hogehoge ~]$ ls -la /mnt/
合計 12
drwxr-xr-x.  5 root root   59  1月 21 11:14 .
dr-xr-xr-x. 17 root root  240  9月 12 18:06 ..
drwxrwxrwx   2 root root 4096  1月 17 19:14 efs

[centos@hogehoge ~]$ df
ファイルシス                               1K-ブロック    使用           使用可 使用% マウント位置
/dev/xvda1                                    20960236 4903012         16057224   24% /
devtmpfs                                        225700       0           225700    0% /dev
tmpfs                                           248556       0           248556    0% /dev/shm
tmpfs                                           248556   33304           215252   14% /run
tmpfs                                           248556       0           248556    0% /sys/fs/cgroup
172.31.xx.xx:/                        9007199254739968       0 9007199254739968    0% /mnt/efs

[centos@hogehoge ~]$ cat /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Mon Jan 28 20:51:49 2019
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=f41e390f-835b-4223-a9bb-9b45984ddf8d /                       xfs     defaults        0 0
/swapfile none swap sw 0 0
172.31.xx.xx:/ /mnt/efs nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 0 0

書き込んでみる

[centos@hogehoge ~]$ sudo vi /mnt/jad_disk_efs/test.txt
スクリーンショット 2020-01-21 11.54.08.png
[centos@hogehoge ~]$ sudo cat /mnt/jad_disk_efs/test.txt
やったよー!

最後に

もちろん、他のサーバーでマウントすれば、共有領域として使うことができます。

goofysでS3をマウントすることも可能ではありますが、そもそも用途が違うこともあり
頻繁に、I/Oを行う様なことをすると、goofys君メモリリークして、パンクします。
(プロセス落として、マウントし直すとかすると解放される・・・)

無難に、EFSを使って、バックアップやアーカイブの保存先としてS3を使うのが良いかと

3
1
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
3
1