11
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Amazon EFSを試してみた

Posted at

ドキュメント等からわかったこと

mount target

  • アベイラビリティゾーン毎にmount targetが作成される
  • mount targetはアベイラビリティゾーン毎に1つだけ
  • デフォルトはすべてのアベイラビリティゾーンに作成するが選択することもできる
  • mount targetを作成するサブネットは選択できる
  • mount targetのIPアドレスは指定することもできる
  • mount targetには最低1つセキュリティグループを関連付ける必要がある
  • mount targetに関連付けられるセキュリティグループは5つまで
  • File systemの作成後にmount targetの削除、再作成が可能

ネットワーク

  • TCP 2049番ポートを使うのでセキュリティグループで許可する必要がある
    • EC2に関連付けているセキュリティグループはOutboundを許可する
    • mount targetに関連付けているセキュリティグループはInboundを許可する
  • mount targetとは別サブネットのEC2からFile systemをマウントすることができる
    • Network ACLでTCP 2049番ポートの通信が制限されていないかに注意 (NACLはステートレスなので戻りの通信も)
  • mount targetはPublic IPを持てない
  • Direct Connect, VPNやVPCピアリング等のVPCの外からのマウントはできない

NFS

  • NFSv4.0/NFSv4.1に対応しているが、NFSv4.1を推奨
  • Amazon Linux AMI 2016.03.0 ならNFSクライアント(nfs−utils)がインストール済みなので、改めてのインストールは不要
$ cat /etc/system-release
Amazon Linux AMI release 2016.03

$ sudo yum -y install nfs-utils  
読み込んだプラグイン:priorities, update-motd, upgrade-helper
amzn-main/latest                                                                                        | 2.1 kB     00:00     
amzn-updates/latest                                                                                     | 2.3 kB     00:00     
パッケージ 1:nfs-utils-1.3.0-0.21.amzn1.x86_64 はインストール済みか最新バージョンです
何もしません
  • File systemはDNS名でもIPアドレスでもマウント可能
    • DNS名を使うメリットは次の2つ
      • DNS名は変わらないため、mount targetを削除しても同じアベイラビリティゾーンで再作成すれば、そのままマウントできる
      • DNS名はマネジメントコンソールやスクリプトで生成することができ、これを使うことで、間違ったアベイラビリィゾーンでマウントすること(EC2とmount targetが異なるアベイラビリティゾーンになること)を防ぐことができる(IPアドレスだとパッと見でどのアベイラビリティゾーンなのかがわかりにくいので間違いやすいのかも)
    • VPCのDNS hostnamesを無効にしているなど名前が引けないような環境ではIPアドレスでマウントする

マウント手順

※ North Virginiaリージョン、AMI release 2016.03 を使用

  • 下ごしらえ
$ REGION=us-east-1
$ AZ=$(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone)
$ EFS_FSID=fs-xxxxxxxx
$ MOUNT_POINT="/mnt/efs/${EFS_FSID}/${AZ}"
  • mount targetに疎通確認
$ sudo traceroute --tcp -p 2049 ${AZ}.${EFS_FSID}.efs.${REGION}.amazonaws.com
  • マウントポイント作成
$ sudo mkdir -p ${MOUNT_POINT}
  • マウント
$ sudo cp -pi /etc/fstab /etc/fstab.$(date "+%Y%m%d")
$ echo "${AZ}.${EFS_FSID}.efs.${REGION}.amazonaws.com:/    ${MOUNT_POINT}   nfs4    defaults" | sudo tee -a /etc/fstab
$ sudo mount ${MOUNT_POINT}
  • おまけ
    容量8エクサバイト!?
$ df -Ph ${MOUNT_POINT}
ファイルシス                                         サイズ  使用  残り 使用% マウント位置
us-east-1b.fs-xxxxxxxxx.efs.us-east-1.amazonaws.com:/   8.0E     0  8.0E    0% /mnt/efs/fs-xxxxxxxx/us-east-1b

参考

11
17
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
11
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?