EFSがやって来た ヤァ!ヤァ!ヤァ!

5月30日にAmazon Elastic File System (EFS)の東京リージョン対応がアナウンスされました。最近になってからかEFSが使えるようになっていました。

7月3日にはまだ来ていなかったらしい。
そうこうしているうちにいつの間にかリリースされていました。

EFSとは

Amazon Elastic File Systemの略でざっくり言うとAmazon側で管理してくれるNFSサーバ。RDSとか使い慣れるとフルマネージドなサービスが楽すぎる^^;;
技術がたまらないしお金もたまらないけど楽何だよねぇ〜フルマネージドサービス

EFS作成

AWSコンソール画面からポチポチ

セキュリティグループで開けてやればmount可能です。
NFSと違い /etc/exportsとか編集しなくても大丈夫v^o^

設定はデフォルトで

  • パフォーマンス General Purpose
  • スループット Bursting

これで構築しました。

EFSのメリット

  • 複数サーバでmountできる
  • スケーラブル
  • フルマネージドサービス

AWSのクオリティなのでかなり堅牢なサービスだと思っている。
バックアップは必要?と言う疑問があるのでバックアップは無しで^^;;
もっと言うなら画像データはS3のTokyo🇯🇵 RegionとSingapore🇸🇬 Regionに置いてあるのでそんなの困らない。

EC2にNFSサービスを提供するわけでは無いのでSoFが減っていると思っている。

EFSのデメリット

  • 速度が遅い
  • 金額が謎

Network経由なので高速では無いです。

EFSのmount

画面に出てくるAmazon EC2 のマウント手順通りに

  1. EFSユーティリティをインストール
  2. EFSをmountするディレクトリ作成
  3. テストマウント
  4. /etc/fstabに書く
  5. データコピー
  6. DocumentRootの変更

こんな手順でEFSにデータをCopyしました。

EFSユーティリティインストール

sudo yum install -y amazon-efs-utils

rpmでサクッとインストールできるのは楽チン

EFSをmountするディレクトリ作成

mkdir /var/www/efs

EFSでmountするディレクトリを新規作成します。

テストmount

sudo mount -t efs fs-xxxxxxx:/ /var/www/efs

サクッとmountできました。

# df
ファイルシス                                        1K-ブロック    使用           使用可 使用% マウント位置
/dev/xvda1                                             15348700 6707288          8541164   44% /
devtmpfs                                                 494248      60           494188    1% /dev
tmpfs                                                    504748       0           504748    0% /dev/shm
fs-xxxxxxxx.efs.ap-northeast-1.amazonaws.com:/ 9007199254739968 2282496 9007199252457472    1% /var/www/efs

/etc/fstabに書く

fs-xxxxxxx.efs.ap-northeast-1.amazonaws.com:/ /var/www/efs nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,_netdev 0 0

再起動したらちゃんと目的のディレクトリがmountされています。

データコピー

やっぱりNFS先へのCopyは時間がかかるぅ〜
インスタンスサイズ次第ですけど、micro Instanceでは監視サーバから「Disk I/O is overloaded」なんて言われた・・・
2.2GのデータCopyにそこそこ時間がかかりました。

大規模なデータをCopyするときには気をつけたほうがいいかもしれない。
移行が必要なサービスはなるべくは避けたい

想定金額

東京RegionのEFS料金は
1Gあたり0.36 USDなので2Gちょっとなので$0.8以下になる予定
I/Oもそんなに多くは無いし誤差範囲じゃ無いかなぁ〜

EFSの設定(h2o編)

file.dirを変更したらOK
そのままサービス再起動したらOKでした。

設定ミスしたて停止したのは秘密

まとめ

待ちに待ったEFS。
これはかなり使えると思っている。
コンテンツの同期とか考えたくないもんなぁ〜

構成図はこんな感じだと思う

現在使っているサービスは

  • EC2
  • RDS
  • CloudFront
  • WAF
  • Route 53
  • S3
  • EFS(New!!)

インスタンスはすげー小さいけど構成だけ見るとどこのエンタープライズ系のWeb?