AWS EC2のバックアップ方法:ステップバイステップガイド
AWS Backupは、AWSが提供する幅広いサービスやツールの中でも比較的新しいサービスです。AWS Backupを利用すれば、AWSクラウド上だけでなくオンプレミスのIT環境にあるデータやアプリケーションも、自動的にバックアップして保護することができます。Amazon EC2インスタンスの場合、誤削除や悪意のある攻撃によるデータ損失を防ぐために、データを保護する方法はいくつかあります。必要な時にAWS EC2上のデータを容易に復元できるようにするための、利用可能な方法について、以下で詳しく説明します。
AWS EC2 インスタンスのバックアップ方法
AWSは、クラウド環境にデータやアプリケーションを保存できる、高性能で絶えず進化し続けるクラウドコンピューティングプラットフォームです。AWSでは、CPU、メモリ、ストレージ、ネットワーク容量を自由に設定できる仮想サーバーとして機能するEC2インスタンスを作成するために必要なツールを提供しています。
現在、AWS EC2インスタンスをバックアップするには、EBSスナップショットの取得、AMIの作成、またはAWS Backupプランの設計という3つの方法があります。 これら各手法について詳しく見ていき、それぞれの違いを確認しましょう。
EBSスナップショットの作成
AWS EC2インスタンスをバックアップするには、EBSボリュームのスナップショットを作成する必要があります。このスナップショットは、Amazon Simple Storage Service(S3)を利用して保存されます。スナップショットはEBSボリューム内のすべてのデータをキャプチャし、その完全なコピーを作成します。さらに、これらのEBSスナップショットを別のAWSリージョンにコピーして転送することで、重要なデータの安全かつ確実な保存を確保できます。 したがって、災害や偶発的なデータ損失が発生した場合でも、重要なデータの復元に使用できるバックアップコピーが遠隔地に安全に保存されていることを確信できます。
AWS EC2のバックアップを実行する前に、インスタンスを停止するか、少なくともバックアップ対象のEBSボリュームをデタッチすることをお勧めします。これにより、障害やエラーの発生を防ぎ、新しく作成されるスナップショットへの影響を回避できます。
セキュリティ上の理由により、一部の機密情報は削除されている点にご注意ください。
AWS EC2インスタンスをバックアップするには、以下の手順を実行する必要があります:
- AWSアカウントにサインインして、AWSコンソールを開いてください。
- 選択
Services上部のバーでクリックし、EC2EC2管理コンソールを起動します。
- 選択
Running Instancesそして、バックアップしたいインスタンスを選択してください。
- 下部のペインでは、インスタンスに関する主要な技術情報を確認できます。
Descriptionタブで、Root deviceセクションに移動し、/dev/sda1 のリンクを選択します。
- ポップアップウィンドウで、そのボリュームの
EBS ID名前が表示されたら、それをクリックしてください。 - その
Volumesセクションが開くはずです。クリックしてくださいActionsそして選択してくださいCreate Snapshot.
- その
Create Snapshotボックスが開き、そこでスナップショットに説明文を追加して他のスナップショットと区別したり、タグを割り当ててこのスナップショットを簡単に監視したりできます。クリックCreate Snapshot.
- スナップショットの作成は開始され、最短時間で完了するはずです。ここで主な要因となるのは、Amazon EBS ボリューム内のデータサイズです。
スナップショットの作成が完了したら、[ Snapshots 左ペインのセクションです。ご覧のとおり、EBSボリュームの特定時点のコピーが正常に作成されました。これは、後でEC2インスタンスを復元するために使用できます。

そのためには、バックアップ対象のボリュームのスナップショットを選択し、 Actions 上のボタンをクリックし、 Create Volume. 表示される指示に従って、ボリュームの詳細(ボリュームの種類、サイズ、IOPS、アベイラビリティゾーン、タグ)を設定します。その後、[ Create Volume 作成される新しいボリューム用であり、後で任意のAWS EC2インスタンスに追加することができます。

新しいAMIの作成
AWS EC2のバックアップを行うもう1つの方法は、AWS EC2インスタンスのAmazon Machine Image(AMI)を作成することです。AMIには、設定、ルートボリュームテンプレート、起動権限、ブロックデバイスのマッピングなど、AWS環境でEC2インスタンスを作成するために必要なすべての情報が含まれています。基本的に、AMIは新しいAWS EC2インスタンスを起動し、破損したインスタンスを置き換えるためのテンプレートとして機能します。 なお、新しいAMIを作成する前に、バックアップ対象のAWS EC2インスタンスを停止することをお勧めします。
新しいAMIを作成し、AWS EC2のバックアップを確実に行うには、以下の手順を実行してください:
- AWSアカウントにサインインして、AWSコンソールを開いてください。
- 選択
Services上部のバーでクリックし、EC2EC2管理コンソールを起動します。
- 選択
Running Instancesそして、バックアップしたいインスタンスを選択してください。
- クリック
Actions>Image>Create Image.
- その
Create Imageメニューが開きます。ここでは、イメージ名の指定、イメージの説明の追加、AMI作成後の再起動の有効化/無効化、およびインスタンスのボリュームの設定を行うことができます。
EBSイメージを作成する際は、上記の各ボリュームに対してEBSスナップショットも作成される点にご注意ください。これらのスナップショットには、Snapshotsセクション。
- クリック
Create Image. - これでイメージの作成が開始されます。リンクをクリックして、作成中のAMIを確認してください。
- 新しいAMIの作成には少し時間がかかるはずです。ステータスが 保留中 ~へ 利用可能です。
AMIの作成が完了したら、それを使用して新しいAWS EC2インスタンスを作成できます。これにより、元のインスタンスと全く同じインスタンスが作成されます。これを行うには、単に Instances セクションで、[クリック] Launch Instance, で作成したAMIを選択してください My AMIs セクションに進み、画面の指示に従ってインスタンスの作成を完了してください。

AMIの作成は、EBSスナップショットを取得するよりも効果的なバックアップ戦略であると言えるでしょう。その理由は、AMIには多くの場合、EBSスナップショットに加え、ソフトウェア構成も含まれているためです。これにより、わずか数回のクリックで新しいAWS EC2インスタンスを簡単かつスムーズに起動することができ、作成には費用がかかりません(スナップショットのストレージ料金のみが発生します)。
ただし、どちらの方法もユーザー側による多大な手作業を必要とし、自動実行の設定はできません。 これら2つのアプローチを用いた大規模環境におけるAWS EC2のバックアップは、複雑でエラーが発生しやすいプロセスであることが実証されています。
AWS EC2のバックアップの自動化
以前は、AWS EC2のバックアップを自動化する唯一の方法は、スクリプトを実行するかAPI呼び出しを利用することでしたが、これは非常に困難でリソースを大量に消費するプロセスでした。バックアップの自動化を担当する者は、問題や不整合を避けるために、スクリプト作成に精通している必要がありました。しかし、バックアップジョブの設定に時間、労力、費用を費やしても、結局はAWS EC2のバックアップが失敗したり破損したりするリスクが依然として高かったのです。
こうした懸念が続いたため、AWSはAWS Lambdaサービスを導入しました。これにより、必要なAWSサービスの管理やAWS環境内での様々なタスクを実行するためのコードを実行できるようになりました。しかし、このアプローチの欠点は、独自のコードを作成するか、オープンソースプラットフォームで利用可能なコードを探す必要があったことです。結局のところ、希望通りにAWS Lambda関数を実行するための実用的なコードを設定するには、過度な時間と労力がかかる可能性がありました。
こうした既存の課題をさらに解決するため、AWS Backupと呼ばれる新しいAWS EC2バックアップサービスが設計されました。これにより、AWSサービス全体にわたる自動データバックアップを迅速に作成し、中央コンソールを使用して簡単に管理できるようになります。AWS Backupを利用すれば、選択したAWSリソースを自動的にバックアップするポリシーベースのバックアッププランを作成できます。 各プランの中核となるのは、バックアップスケジュール、バックアップ頻度、およびバックアップウィンドウを定義するバックアップルールです。これにより、AWS EC2のバックアッププロセスを自動化でき、ユーザー側の入力は最小限で済みます。
AWSバックアッププランを作成するには、以下の手順に従ってください:
- AWSアカウントにサインインして、AWS Management Consoleを開いてください。
- 選択
Services上部のバーで、次のように入力しますAWS Backup検索バーに。クリックBackup plans左側のペインで。 - を押してください
Create Backup planボタン。
ここでは、3つの開始オプションがあります: Start from an existing plan, Build a new plan,そしてDefine a plan using JSON. - クリック
Info適切な判断を下すために、利用可能なオプションについてさらに詳しく知りたい場合は、こちらをご覧ください。現在、バックアッププランは存在しないため、新しいプランを一から作成しましょう。新しいバックアッププランの名前を入力して、次の手順に進んでください。
- 次のステップは
Backup rule configuration.ここでは、バックアップルールの名前を指定してください。 - その後、バックアップのスケジュールを設定できます。バックアップの頻度を決定する必要があります(12時間ごと、毎日、毎週、毎月、カスタムcron式); バックアップウィンドウ (バックアップウィンドウの既定設定を使用する または バックアップの時間帯をカスタマイズする); バックアップのライフサイクル (冷蔵保管への移行 そして バックアップの有効期限).

- このステップでは、リカバリポイント(このバックアップルールによって作成されたもの)を保存するバックアップ・ヴォールトを選択してください。クリックして
Create new Backup vault新しいカスタマイズ可能なVaultを作成したい場合は、既存のBackup Vaultがある場合はそれを使用することもできます。あるいは、デフォルトのAWS Backup Vaultを選択することも可能です。
- 次に、リカバリポイントとバックアップ計画にタグを追加し、それらを整理して現在のステータスを簡単に確認できるようにする必要があります。
その後、[クリック] できます Create plan次の段階であるバックアップルールの作成に進みます。 - バックアッププランの作成が完了しました。ただし、このプランを実行して環境に展開する前に、バックアップ対象のリソースを割り当てる必要があります。[
Assign resources上部のバーにあるボタンです。
- 次のメニューでは、リソース割り当て名を指定し、IAM(Identity and Access Management)ロールを定義できます。IAMロールを選択することで、ユーザーがAWS内で実行できる操作とできない操作を指定し、選択したAWSリソースやサービスを管理する権限をどのユーザーに付与するかを決定します。さらに、タグやリソースIDを使用してこのバックアッププランにリソースを割り当てることができます。これにより、これらのキーペアの値に一致するAWSリソースはすべて、このバックアッププランによって自動的にバックアップされるようになります。

- クリック
Assign resources設定プロセスを完了します。その後、バックアップジョブは自動的に実行されるはずです。AWSBackupダッシュボードでバックアップジョブの現在の状況を確認し、予定通りに動作しているかを確認してください。

ご覧のとおり、バックアップジョブはすでに実行中です。このメニューでは、さらに Manage Backup plans, Create an on-demand backup、または Restore backup. 必要なオプションを選択し、表示される指示に従って、AWS環境で別のデータ保護ジョブを設定してください。