共有ストレージとして使える「Amazon EFS」が東京リージョンに対応
すでにさまざまなメディアでも記事が公開されていますが、「Amazon EFS」の東京リージョン対応はAWS Summit Tokyo 2018、初日の基調講演で発表されました。「これまでは1つのインスタンスにしか紐づけられなかったけれど、複数インスタンスから紐づけられて、共有ストレージとして使える」らしい。ふむふむすごそうと、メモを取りつつも、そもそも今までってどうだったんだっけ?という基本中の基本でつまずく私。
というわけで、まずはストレージサービスをおさらいしましょう。
「Amazon EBS」「Amazon S3」をおさらい
以前のコラムでも基本サービスとして紹介したのが「Amazon EBS(Elastic Block Store)」と「Amazon S3(Simple Storage Service)」の2つのストレージです。
「Amazon EBS」はEC2インスタンス(仮想サーバ)とセットで使う、と言われていたもの。そのときも「EC2のデータはEBSに保存するのが基本構成」と書きました。
そして、今回の発表を受けて調べたところ、このAmazon EBSは1つのインスタンスにしか紐づけることができません。繰り返します。1つのインスタンスにしか!紐づけできない!
なるほどつまりそういうことですね。ここをクリアできるのがAmazon EFSってことですよね。
ではAmazon S3はどうなんでしょうか?Amazon S3もAWSの構成ではよく出てくるし、代表的なサービスのひとつです。しかもどうやらAmazon S3は複数のインスタンスからも呼び出せるし、外部から直接使うこともできちゃう。あれ?Amazon S3でいいんじゃないの…?
「Amazon EFS」は「NFS対応」「使った分だけ課金」が特長
ここで出てくるのが、Amazon EFSの特長とされている「NFSプロトコルに対応している」という点です。NFSは、いまさらではありますが、一応(私が忘れていたので)おさらいしておくと、Network File Systemの略でネットワーク越しにファイルを共有するための仕組みのこと。このプロトコルを利用することで、ネットワーク上にあるストレージもローカルにあるかのように使うことができます。
実はそもそもAmazon EBSもNFSに対応していません。EBSに紐づけたEC2インスタンスでNFSサーバを動かせばNFS対応にはなりますが、サーバを個別に運用する必要があります(面倒)。しかも、複数インスタンスに紐づけることもできない。そして、Amazon S3は複数インスタンスから呼び出せるけれどNFSに対応していない。そのなかで、NFSに対応していて、複数インスタンスから呼び出せるストレージとして出てきたのが、「Amazon EFS」ということのようです。
さらにもうひとつ。Amazon EFSは使った分だけの従量課金です。え?AWSなんだから当たり前では…と思いましたが、実はAmazon EBSは事前に容量を指定する必要があります。その容量を実際に使っていようが使ってなかろうが、指定した容量に対して課金されます。そして容量が足りなくなったら、自分で拡張する必要がありました。
それに対してAmazon EFSは事前の容量指定が不要で、使った分だけ課金。容量も自動的に拡張されていくので、気にする必要もない、というのもよさそうです。
東京リージョン待ってたぜ!というのがやっと理解できました。
まとめ
AWS Summit Tokyo 2018に参加しても、帰ってきてひととおり調べてやっとその発表のすごさを理解するという状況に、「ふっ、自分もまだまだだな…」という残念すぎる感想しかないのですが、Amazon EFSがすごそうということは間違いないでしょう。
Amazon EFSが具体的にどんなときに便利かというと、たとえば複数インスタンスでログディレクトリを共有したり、共有コンテンツフォルダやアプリディレクトリをマウントしたり、ってことも可能になります。個人的かつ勝手な印象として、こういったニーズは結構ありそうですし、いままでAWSで構成に苦労していたケースもあるんじゃないでしょうか。もちろん、性能面含めてAmazon EFS活用はこれから細かく検討していく必要があるかとは思いますが、これまで基本だった「EC2+EBS」にAmazon EFSも組み合わせて利用する構成も増えていくのかもしれないですね。
機械学習やらAlexaやらが目立ちやすいところではありますが、こういう基本に近いところもちゃっかりしっかり進化させてくるのがAWSの恐ろしいところ(褒め言葉)。といったところで次回のテーマは「機械学習」です。こちらもやっぱりすごかった…。では今回はこの辺で。
以上、シイノキでした!