みなさん、こんにちは。
サニービュー事業部の小寺です。
きっと、EC2インスタンスからAMIを作った経験をお持ちの方も多いかと思います。
今日は、EC2でインスタンスからより一貫性のあるバックアップがとれるようになったお話です。
https://aws.amazon.com/jp/about-aws/whats-new/2021/06/amazon-ec2-allows-create-crash-consistent-amis-from-instances-multiple-amazon-ebs-volumes-without-rebooting-instances/
AWS Backupでもこのリリースに関連して、Amazon EBS ボリューム(複数アタッチされている場合)のクラッシュ整合性のあるバックアップのサポートの開始が発表されています。
■このリリースでうれしいこと
このリリースがされるまで、インスタンスのすべてのボリュームでクラッシュの一貫性を確保するために、AMI イメージを作成する前に以下の1)から3)のいずれかの対応をする必要がありました。
1)手動で I/O を一時停止する
2)AMI を作成する前にインスタンスをシャットダウンする
3)AMI の作成中にインスタンスを再起動する
なんと、このリリースで、AMI はインスタンスから作成されたときにクラッシュ整合性があるため、追加の手順を実行する必要はなくなりました。
作成された AMI は、インスタンスに接続された各ボリュームのすべての完了した I/O 操作からのデータを保持しています。そのため、AMI からインスタンスを起動し、イメージを作成する前の状態に正確に戻すことができるようになったのです。
■AMIとは
そもそもAMIとは何か簡単に説明します。
Amazon マシンイメージ (AMI) には、インスタンスの起動に必要な情報が用意されています。EC2インスタンスはAMIがないと起動することができません。
また、AWSでは一般的に利用可能な一連の AMIが提供されています。以下の画面ではクイックスタートできるものですが、AWS Marketplaceから購入することもできます。
AMIを作って登録をすると、新しくインスタンスを開始したり、またAMIをコピーすることもできます。
■クラッシュ整合性とは
クラッシュ整合性 (crash-consistent)って聞いたことがありますか?
クラッシュ整合性とは、バックアップの整合性の一つの定義として考えます。
バックアップ整合性について、いくつかに分けて考えてみましょう。
トランザクションデータの損失について、何か対応があるのか、
バックアップが停止せずにオンラインで取得することができるかどうかによって、
バックアップ整合性にいくつかのレベルが存在します。
・クラッシュ整合性
通常ストレージデバイスとしての整合性を持つという意味です。
あくまでもストレージデバイスとしての整合なので、EBSのデータは整合性が取れていることが保証されます。
元々単一のEBSスナップショットはクラッシュ整合性が担保されていました。
今回のポイントは複数のEBS間の整合性が担保されているところです。
・ファイルシステム整合性
ファイルシステム整合性バックアップでは、ファイルの最新の更新情報を保存しないクラッシュ整合と違い、整合性のある状態といえます。ただ、実行されているアプリケーションのトランザクションは保証できないため、まだ完全なバックアップとはいえないでしょう。
・アプリケーション整合性
バックアップが発生する前のアプリケーションのデータの整合性も保証されます。
■どのようなときに役にたつ?
今までも単一のEBSスナップショットのクラッシュ整合性は担保されていました。なので、今回のリリースが役立つのは複数のEBSでスナップショットを取得し、そのスナップショットを管理されていたケースです。
新しくAMIを取ることで、クラッシュ整合性を保つことになるからです。
■まとめ
いかがでしたでしょうか。
ここからは所感です。
バックアップというワードは、とても広い意味を持ちますよね。
スナップショットとAMIも大きなくくりとして、バックアップと捉えている人も多くいらっしゃるのでは、と思います。具体的には全く違うものですが、バックアップのレベルも色々ありますし、正確な言葉の定義を心がけようと改めて感じました。
・スナップショット = 「EBS ボリュームの中のデータ」を特定のタイミングで取得しS3に保存したもの
・AMI = 「EBS ボリュームの中のデータ(スナップショット) とインスタンスを構成する管理情報」を含む起動テンプレート
今回のアップデートを受けて、オンラインでAMIを作れるのは便利になったと思います。誤ってAMIを削除してしまった・・・なんていう場合にも、もしかして役に立つのかもしれませんね。
SunnyCloudでは、AWSが5%お得に利用できるAWSリセール(請求代行)サービスを提供しています!
AWSをご利用いただくには、直接契約するより断然お得。
AWS利用料が5%割引、さらに日本円の請求書による支払いが可能です!