読者です 読者をやめる 読者になる 読者になる

Tomo's IT Blog

技術的な調査メモ

EC2のストレージの勉強

ec2 aws storage

今回はEC2ストレージの勉強をしたいと思います。

教材は以下を利用。
ストレージ - Amazon Elastic Compute Cloud

ストレージのオプション

次の3つのオプションを利用可能。

図でまとまっています。

f:id:tmnj:20161126145809p:plain

Amazon EBSとは

ブロックレベルのストレージで、同一のアベイラビリティゾーンであればどのインスタンスにもアタッチできます。同時に複数のインスタンスからはアタッチできませんが、デタッチしたEBSストレージを別のインスタンスにアタッチすることができます。頻繁な更新データを保持するのに最適です。

EBSの可用性は?

以下のURLの情報によると、データは同一アベイラビリティゾーン内に自動でレプリケーションされ99.999% の可用性を維持する設計となっているようです。
製品の詳細 - Amazon Elastic Block Store(EBS) | AWS

EBSはスナップショットをS3に保持する機能があります。またS3に保存したスナップショットからEBSボリュームを作成して別のインスタンスにアタッチすることもできるようです。データをもっとかっちりと守りたい場合は、定期的にスナップショットを取得してS3に保存しておいた方が良いと思います。ちなみにS3の耐久性と可用性の情報は以下のURLに記載があります。

製品の詳細 - Amazon S3 | AWS

1 年でオブジェクトの 99.999999999% の耐久性と最大 99.99% の可用性を提供するよう設計されています。


S3だとデータの耐久性は非常に高くデータがロストすることはほぼないけど、可用性はEBSより低いので、データにアクセスできない時間が長いということでしょうね。

インスタンスストアとは

これは単純にホストコンピュータ上の物理的なディスクのことです。これをインスタンスストアと呼んでいます。重要なのはインスタンス用のブロックレベルの"一時ストレージ"を提供するということです。つまり、インスタンスを停止または終了すると消えてしまいます。
じゃあ、リブートはどうなんだろうと思ったら、リブートではインスタンスストアボリューム上のデータはすべて保持されるようです。
インスタンスの再起動 - Amazon Elastic Compute Cloud

インスタンスを再起動すると、インスタンスは同じホスト上で保持されるため、インスタンスパブリックドメイン名、プライベート IP アドレス、およびインスタンスストアボリューム上のすべてのデータは保持されます。

Amazon S3とは

オブジェクトストレージです。RESTなどのWebインタフェースを通じてアクセスします。ブロックストレージではないので直接OSからアタッチして利用することはできませんが、EBSに比べて低コスト・高スケーラビリティ・高堅牢性などの特徴があります。

EC2ルートデバイスボリューム

EC2インスタンスは、ルートデバイスボリュームに格納されているイメージを利用してインスタンスがブートされます。ルートデバイスボリュームとして利用できるのが、インスタンスストアかEBSとなります。
この2つの違いにより、AMIのタイプとして2つあります。

起動が高速で永続的ストレージを利用しているため、推奨されるのはAmazon EBS Backedなインスタンスです。以下のURLに違いがまとまっています。

AMI タイプ - Amazon Elastic Compute Cloud

ルートデバイスボリュームの詳細は、以下のURLを参照しましょう。

Amazon EC2 ルートデバイスボリューム - Amazon Elastic Compute Cloud

永続的ルートデバイスボリュームへの変更

EBS Backedでもデフォルトではインスタンス終了時に削除されてしまうようです。これを永続的ルートデバイスボリュームに変更できます。

Amazon EC2 ルートデバイスボリューム - Amazon Elastic Compute Cloud

デフォルトでは、Amazon EBS-backed AMI のルートデバイスボリュームは、インスタンスを終了すると削除されます。デフォルトの動作を変更するには、ブロックデバイマッピングを使用して、DeleteOnTermination 属性を false に設定します。

スポットインスタンス作成ウィザードでは、EBSボリュームの設定の"削除"チェックボックスをオフにすると永続的ルートボリュームに変更できるようです。

f:id:tmnj:20161126155617p:plain