はじめに
こんにちは。インフラエンジニアレベル1のf_prgです。
個人のアカウントにAmazon EFS Previewが使えるようになったので
ファーストインプレッションレビューをしたいと思います。
EFSって何?
おさらいとして、EFSについて説明したいと思います。
2015年4月に発表されたAWSの新しいストレージサービスです。
- 特徴
— 容量の割り当てがいらない
— ペタバイトまでのスケールが可能
— スループットもIOPSもスケールがされる
— 1GB あたり 0.30 ドル(USリージョンでの予定価格)
EFSを作成してみます
まずは、EFSを作成してみました。
EC2を立ち上げる
Amazon LinuxでEC2を立ち上げました。
EFSを使ってみます
https://docs.aws.amazon.com/efs/latest/ug/mounting-fs.html
に沿って、設定します。
NFS Clientのインストールします
[ec2-user@ip-10-0-1-192 ~]# sudo yum install nfs-utils
マウントディレクトリの作成します
[ec2-user@ip-10-0-1-192 ~]# sudo mkdir /mnt/efs-a [ec2-user@ip-10-0-1-192 ~]# sudo mkdir /mnt/efs-b [ec2-user@ip-10-0-1-192 ~]# sudo mkdir /mnt/efs-c
EFSをマウントします
[ec2-user@ip-10-0-1-192 ~]# sudo mount -t nfs4 us-west-2a.fs-1a22ceb3.efs.us-west-2.amazonaws.com:/ /mnt/efs-a [ec2-user@ip-10-0-1-192 ~]# sudo mount -t nfs4 us-west-2b.fs-1a22ceb3.efs.us-west-2.amazonaws.com:/ /mnt/efs-b [ec2-user@ip-10-0-1-192 ~]# sudo mount -t nfs4 us-west-2c.fs-1a22ceb3.efs.us-west-2.amazonaws.com:/ /mnt/efs-c
EFSにファイルを置いてみます
rootユーザーで実行してます。
[root@ip-10-0-1-192 ~]# sudo echo "hello, efs" >> /mnt/efs-a/hello-efs.txt
すると
[root@ip-10-0-1-192 ~]# ls /mnt/efs-a/ hello-efs.txt [root@ip-10-0-1-192 ~]# ls /mnt/efs-b/ hello-efs.txt [root@ip-10-0-1-192 ~]# ls /mnt/efs-c/ hello-efs.txt
[root@ip-10-0-1-192 ~]# cat /mnt/efs-c/hello-efs.txt hello, efs
となります。
EFS上のファイルを消してみます
[root@ip-10-0-1-192 ~]# rm /mnt/efs-c/hello-efs.txt rm: remove regular file ‘/mnt/efs-c/hello-efs.txt’? y
当然ながら、消えてます。
[root@ip-10-0-1-192 ~]# ls /mnt/efs-b/ [root@ip-10-0-1-192 ~]# ls /mnt/efs-a/
td-agentで流してみる
td-agentインストール
curl -L http://toolbelt.treasuredata.com/sh/install-redhat-td-agent2.sh | sh
confファイルの用意
ちょっと手を抜いて作成しました。
type file path /mnt/efs-a/td-agent/*.log
td-agent起動
[root@ip-10-0-1-192 ~]# chmod 777 /mnt/efs-a/ [root@ip-10-0-1-192 ~]# service td-agent start Starting td-agent: [ OK ]
fluent-catで実行してみる
[root@ip-10-0-1-192 td-agent]# echo '{"msg": "hello"}'|/opt/td-agent/embedded/bin/fluent-cat hello.efs [root@ip-10-0-1-192 td-agent]# ls /mnt/efs-b/td-agent/20150710.b51a7cb1aa8c768aa.log [root@ip-10-0-1-192 td-agent]# cat /mnt/efs-b/td-agent/20150710.b51a7cb1aa8c768aa.log 2015-07-10T03:09:02+00:00 hello.efs {"msg":"hello"} 2015-07-10T03:09:03+00:00 hello.efs {"msg":"hello"} 2015-07-10T03:09:05+00:00 hello.efs {"msg":"hello"}
ファイルが出来てますね。
まとめ
EFSは簡単にセットアップできるとてもよいストレージのサービスです。
td-agentのログ転送先として、すぐに閲覧できるや操作できるストレージとして
今後使われるようになるのではないかと予想をしております。
td-agentで、EFSとS3にログを置き、S3のログはGlaicerに移動するようにライフサイクルを設定する感じでしょうかね。
サービスとしてこれからですから、今後も成長が期待できそうです。