LightsailのVPC ピアリング接続って・・・
Amazon Lightsail では、Amazon RDS データベースや Amazon Aurora など、他の AWS リソースを表示して接続できます。
Lightsail Virtual Private Cloud (VPC) を同じリージョンの AWS VPC とピア接続できます。
たとえば、アプリからデータ層を分離することができます。
ドキュメント
- 関連するドキュメントはこちらです。
手順(ごめんなさい、最低限の設定のみです。アクセス管理などは省略してます。)
Lightsail側でVPC Peeringを有効化する
- Lightsailのマネジメントコンソールからアカウントをクリックして設定画面を開く
- 「アドバンスト」の下の方に「VPC Peering」の設定項目があるのでクリックして有効化する
- VPCのピアリング接続を確認すると、LightsailとデフォルトVPCでVPC Peeringが有効になっている
4.EFSファイルシステムの作成
-
ステップ 1: ネットワークアクセスを設定する
-
- VPC:デフォルトのVPCを指定しました(Lightsailとだとデフォルトでしかダメ)
-
- マウントターゲットの作成:アベイラビリティーゾーンとサブネット(デフォルト)、IPアドレス(自動)、セキュリティグループを選択
EFSのセキュリティグループは、事前に作成しておきます。
-
ステップ 2: ファイルシステムの設定を行う
-
- 特に何も変更せずデフォルトで設定しました。
-
ステップ 3: クライアントアクセスを設定
-
- 特に何も変更せずデフォルトで設定しました。
-
ステップ 4: 確認と作成
-
- ファイルシステムの作成ボタンをポチッとな
5.マウント
ansibleでやりたかったので、ansible-galaxyに、初めて公開してみました。
内部のIPアドレスで指定する方法を採用します。
- 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
[centos@hogehoge ~]$ sudo cat /mnt/jad_disk_efs/test.txt
やったよー!
最後に
もちろん、他のサーバーでマウントすれば、共有領域として使うことができます。
goofysでS3をマウントすることも可能ではありますが、そもそも用途が違うこともあり
頻繁に、I/Oを行う様なことをすると、goofys君メモリリークして、パンクします。
(プロセス落として、マウントし直すとかすると解放される・・・)
無難に、EFSを使って、バックアップやアーカイブの保存先としてS3を使うのが良いかと