Instance store-backedとEBS backedについて

AWSのEC2で無料のt2.microだけを使っていると、EBSなので、Instance store-backedがよくわからないです。AWSソリューションアーキテクトを取得したい方は、お金を使って両方のボリュームがマッピングされたEC2インスタンスをそれぞれ作ってみることをおすすめします。下記の図はAWSの仮想化基盤についての説明です。この記事は、AMAZON EC2 root device volumeを参考に作成しました。

EC2インスタンスのディスク(HDDやSSD)の選択肢としては、Instance-Store Backed と EBS(Elastic Block Store) Backed、2種類があります。最も大きな違いは、Instance-Store Backedの場合、停止・終了できない(停止・終了するとディスク内のデータが消えてしまう)というところではないかと思います。Instance-Store backedとEBS backedは、別の特性をもつディスクでエンプラや本番環境ではEBS Backed必須と考えられます。EC2インスタンスを起動するとき、ブロックボリュームとしてどちらをEC2インスタンスにマッピングして使うか選択するという考え方です。

AWS公式ドキュメントでは「ディスク」という言葉が使われず、ストレージ、ブロック(デバイス)、ボリューム という言葉が使われていますので、慣れていないと脳内にスッと落とし込みにくいです。仮想化周辺に強い人は、どの様な場合にどの呼び名なのか?スッと理解しているんじゃないかなぁ。

Instance-Store Backed

Instance Store Backed Volume

Instance-Store Backedの場合、AMI(Amazon Machine Image)がS3のバケット内にあります。S3のAMIをEC2の起動設定時に選び、インスタンスストアで待機しているephemeral storageにAMIがコピーされ、そのephemeral storageがブロックとしてEC2インスタンスにマッピングされ起動するということになります。ちなみにephemeralは日本語で「短命」という感じの意味です。停止・終了でデータが消えてしまうため、ephemeralということなのだと思います。

このInstance-Store backedのAMI用のS3バケットは、AWS自身の持ち物です。課金されたり、個々のAWSアカウント内でS3から目視確認出来るものではないです。「えっ!勝手にS3バケットにAMIをたくさん置かれて勝手に課金されてるの?」みたいに思ったあなたはAWS(クラウド)のImaginationセンス高めかもですね。私のAWSアカウントで確認済みです(^^) 

EBS(Elactic Block Store) Backed

Instance StoreのEphemeral storegeを使うのではなく、EBS用のボリュームを使う。マシンイメージもAMI用のS3バケットから引っ張ってくるとはなっていない様子。EC2は、ルートデバイスボリュームに格納されているイメージを使用してインスタンスがブートされるということですが、EBSのルートデバイスボリュームについては、AWS公式ドキュメントに詳しく記載されていません。そのため、Instnace-Store Backed と EBS Backedで利用されるstorageが異なること、AMIをS3バケットから持ってくるのはInstance-Store Backedであると脳内整理しておくと良さそうです。Elasticは日本語で「伸縮自在の」「弾力ある」という感じです。クラウドならではですが、拡張性の高さをあらわした英単語と言えます。

Instance-Store BackedとEBS Backedでは他にも違いがあるので、公式ドキュメントでしっかり確認しておきましょう。