ハマログ

株式会社イーツー・インフォの社員ブログ

AWS EC2でファイル共有 東京はまだだけど米国サーバーでEFS試してみる

こんにちはいけしまです。前回のブログ更新から5ヶ月もたってしまいました。すみません。またも更新ペース悪すぎで謝ってます。
AWSでサーバー構築時、複数のEC2からどうやってファイル共有するか少し悩みますよね。
選択肢としてすぐに思いつくのは
・データベースにファイル保存
・memcacheにファイル保存
・共有用のEC2サーバーを作成しnfsで共有
・s3にファイル保存
・s3とファイルゲートウェイを組み合わせてnfsで共有
・AWS EFS(Amazon Elastic File System)でnfsで共有

「保存読込のための特別な実装しないでお手軽に共有したい」とか思ったとき、「EFS」使いたいなーと思うんですけど、未だに東京にはこのサービスないんですよね。結構待ってるんですけど。。。
東京でサービス開始になったときのためにバージニア北部のサーバー使って設定だけ練習してみました。

まずはバージニア北部で一番小さいEC2を2台作成しました。接続確認だけなのでインターネットから直接アクセス可能な場所にIP制限だけつけて作成。
アベオラビリティーゾーンは各々「us-east-1a」と「us-east-1c」です。

社内からSSHで問題なく接続できることを確認して、EFSを作成します。
サービスのストレージから「EFS」選んで、

Create file systemで「EFS」を作成します。

設定画面ではVPCとアベイラビチティーゾーン毎のサブネットとセキュリティグループを設定。とりあえず動作確認したいのでこのまま「Next Step」します。

あとは名前だけ決めて「Next Step」。

確認画面はそのまま「Create File System」。

できました。作成した情報を確認します。

EC2から「EFS」にアクセスできるように各EC2のセキュリティグループに「EFS」で指定したセキュリティグループを割り当てます。

各EC2でマウントポイントを作成して「EFS」をマウントします。


sudo mkdir /efs
sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 fs-ca735583.efs.us-east-1.amazonaws.com:/ /efs/

マウントできました。

web01で/efsにファイルを作成して、web02から見ると見えてますね。

コストを別にすればすばやく共有ディスクが作成できて容量も気にしなくていい、既存のファイル保存ロジックで簡単に共有が開始できていいですね。はやく東京でも利用可能になりますように。

AWSNFSファイル共有

  池島 篤則   2017年11月16日


関連記事

JAX-RSでREST形式のサービスを作成するの巻

こんにちは、かねこです。 はじめに REST(Representational …

Cloud RunでphpMyAdminをかんたん構築

Cloud Runとは 公式では Cloud Run はマネージド コンピューテ…

play framework – Driver not found: [com.mysql.jdbc.Driver]

play framework 2 で MySQL に接続したいと思いました Pl…


← 前の投稿

次の投稿 →