みなさま、こんにちは。サニービュー事業部の小寺です。
今日は、EBSについての嬉しいお知らせです。
なんと、インスタンス実行中でも、EBSルートボリュームを入れ替えたりスナップショットから復元することが可能になりました。

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-restoring-volume.html#replace-root

■EBSとは

Amazon Elastic Block Store (EBS) は、Amazon Elastic Compute Cloud (EC2) と共に使用するために設計された、スループットとトランザクションの両方が集中するどんな規模のワークロードにも対応できる、使いやすい高性能なブロックストレージサービスです。

EC2は、本体に記憶領域(インスタンスストア)を持っているのですが、インスタンスストアは、EC2を停止してしまうと自動的に初期化を行なってしまうという特徴があります。停止するたびに、データが消えてしまうのです・・。

そこでEBSより、ストレージボリュームを作成して Amazon EC2 インスタンスにアタッチできます。EBSにデータを保存しておけば、EC2の停止や再起動を行っても、またデータにアクセスすることができます。

・EBS Snapshot機能について
EBSボリュームの特定時点のスナップショットをS3に保存することができます。

EBSのスナップショット機能を用いると、EBSに含まれるデータが丸ごとS3に複製されます。S3へ格納されたスナップショットは新たなEBSとして復元できます。

もしEBS上のデータが破損したりロストしても、スナップショットを取った時点のデータをS3から復元できます。EBSをデータディスクとして使っていた場合、スナップショットを取得すれば任意の時点のデータバックアップとなります。

バックアップは、最初は全て取得され、残りは差分での保存になります。例えば、100GBのEBS領域で50GB利用しており、1日1回のスナップショットを取得して、1週間毎でローテーションをとっている場合で、1回の差分が1GBだとすると、最初の50GB+差分1GB*6日分となり、この場合必要なスナップショットの容量は56GBになります。 EBSをブートディスクとして使っていた場合、OSごと複製され、AMIとして登録できます。AMIから新しいEC2インスタンスを起動することも可能です。

■今回のアップデートで便利なこと

ルートボリュームの置き換えが可能になりました。
初期起動状態 (EC2 起動時に選択した AMI) または、任意のスナップショットを指定する方法があります。

残念ながら、データボリューム置き換えはこのアップデート対象外となっています。そのため、スナップショットからボリューム作成し、前のボリュームをでタッチし、新しいボリュームをアタッチする必要があります。
EBSボリュームは同じアベイラビリティゾーンのEC2へのみアタッチできます。

気を付ける必要があるのは、
・元々のボリュームは自動的には削除されません。
 もし、不要なら手動で削除が必要です。
インスタンスストアを利用している場合、ボリュームの付け替えはできません。
ベアメタルインスタンスには対応していません。

■やってみよう
(1)EC2のコンソールへ移動します。

(2)ルートボリュームの付け替えをするインスタンスを選びます。

(3)「アクション」⇒「モニタリングとトラブルシューティング」より「ルートボリュームを置き換える」を選びます。

(4)特定のスナップショットを選ぶか、または初期状態に戻すかの2つから選ぶことができます。
※スナップショットを選ばなければ、起動状態へ復元します。
「置き換えタスクを作成」をクリックします。

(5)置き換えタスクの完了は、「ストレージ」タブから
「最近のルートボリューム置き換えタスク」より、確認することができます。

■まとめ

いかがでしたでしょうか。
本日は、インスタンス実行中でも、EBSルートボリュームを入れ替えたりスナップショットから復元する新機能について、ご紹介しました。
障害時の対応に便利な機能だな、と思いました。
実際に色々な方法を知って、試しておくことで、対応の幅が広がると思います。

▼「無料相談」受付中です。AWSに関することは、どんなことでもお気軽にご相談ください。
https://www.sunnycloud.jp/contact-us/