AWS Backup を使用した Amazon EC2 のバックアップと復元
チュートリアル
概要
AWS Backup により、AWS のサービス全体でデータ保護を一元化および自動化できます。AWS Backup は、費用対効果の高い、ポリシーベースのフルマネージドサービスであり、データ保護を大規模に簡素化します。AWS Backup は、規制の遵守に対するお客様の義務をサポートしながら、ビジネス継続性の目標を達成するためにも役立ちます。
AWS Backup コンソールで数回クリックして設定するだけで、バックアップのスケジュールと保存管理を自動化するバックアップポリシーを作成できます。AWS Backup では、バックアッププランと呼ばれるバックアップポリシーを作成できます。このプランを使用して、データをバックアップする頻度やバックアップの保持期間などのバックアップ要件を定義できます。AWS Backup では、AWS リソースにタグを付けるだけでバックアッププランを AWS リソースに適用できます。その後、AWS Backup は、定義したバックアッププランに従って AWS リソースを自動的にバックアップします。
AWS Backup を使用してオンデマンドバックアップジョブを作成するか、バックアッププランをカスタマイズしてサポート対象のリソースをバックアップできます。Amazon Elastic Compute Cloud (Amazon EC2) インスタンスで AWS Backup を使用すると、バックアップのコンプライアンスとポリシー管理を一元化し、組織のセキュリティオプションを増やし、エンタープライズレベルの機能をすぐに利用できます。 EC2 インスタンスをバックアップすると、AWS Backup はインスタンスにアタッチされたすべての Amazon EBS ボリュームを保護し、元の EC2 インスタンスのすべてのパラメータ (Elastic Inference アクセラレータとユーザーデータスクリプトを除く) を保存する AMI にアタッチします。
実行する内容
- Amazon EC2 インスタンスのオンデマンドバックアップジョブを作成する
- バックアッププランを使用して Amazon EC2 リソースをバックアップする ー AWS Backup 内のバックアッププランを使用すると、スケジュールに従ってバックアップを自動化できます。
- タグを使用して既存のバックアッププランにリソースを追加する
前提条件
- AWS アカウント。AWS Backup を初めて使用する場合の詳細については、AWS Backup ドキュメントをご覧ください。
- 1 つ以上の Amazon EC2 インスタンス。詳細については、Amazon EC2 の料金ページをご覧ください。AWS Backup の料金については、AWS Backup の料金ページを参照してください。
- Amazon EC2 インスタンスのバックアップを作成するために AWS Backup が使用する IAM ロール。
- 後続のロールが作成されない場合は、デフォルトの IAM ロール (AWSBackupDefaultRole) を使用できます。
AWS エクスペリエンス
所要時間
10 分
完了までにかかるコスト
無料利用枠対象 (詳細については、Amazon EC2 料金ページをご覧ください)
必要なもの
- AWS アカウント
- 1 つ以上の Amazon EC2 インスタンス
- AWS Backup で使用する IAM ロール
利用するサービス
最終更新日
2023 年 1 月 23 日
実装
ステップ 1: AWS Backup コンソールに移動する
a.AWS マネジメントコンソールにログインし、AWS Backup コンソールを開きます。
ステップ 2: Amazon EC2 インスタンスのオンデマンド AWS Backup ジョブを設定する
2.1 — AWS Backup で使用するサービスを設定する
a.AWS Backup コンソールの左側のナビゲーションペインで、[My account] (マイアカウント) の下の [Settings] (設定) を選択します。
b.[Service opt-in] (サービスオプトイン) ページで、[Configure resources] (リソースを設定) を選択します。
c.[Configure resources] (リソースを設定) ページで、切り替えスイッチを使用して AWS Backup で使用するサービスを有効化または無効化します。ここでは、[EC2] を選択します。サービスを設定したら、[Confirm] (確認) を選択します。
- バックアップする AWS リソースは、このチュートリアルで使用しているリージョンにあり、リソースはすべて同じ AWS リージョンにある必要があります (ただし、クロスリージョンコピーについては、ステップ 3.2 を参照してください)。このチュートリアルでは、米国西部 (オレゴン) リージョン (us-west-1) を使用します。
2.2 — Amazon EC2 インスタンスのオンデマンドバックアップジョブを作成する
d.AWS Backup コンソールに戻り、左側のナビゲーションペインの [My account] (マイアカウント) で [Protected resources] (保護されたリソース) を選択します。
e.ダッシュボードから、[Create on-demand backup] (オンデマンドバックアップを作成) ボタンを選択します。
f.[Create on-demand backup] (オンデマンドバックアップを作成) ページで、次のオプションを選択します。
- バックアップするリソースタイプを選択します。例えば、Amazon EC2 の場合は [EC2] を選択します。
- 保護する EC2 リソースのインスタンス ID を選択します。
- [Create backup now] (今すぐバックアップを作成) が選択されていることを確認します。これにより、バックアップジョブがすぐに開始され、保存したリソースが [Protected resources] (保護されているリソース) ページでより早く表示されます。
- 希望する保存期間を選択します。AWS Backup は、ストレージコストを節約するために、この期間の終了時にバックアップを自動的に削除します。
- 既存のバックアップボールトを選択します。[Create new Backup vault] (新しいバックアップボールトを作成) を選択すると、ボールトを作成するための新しいページが開き、完了すると [Create on-demand backup] (オンデマンドバックアップを作成) ページに戻ります。
- [IAM role] (IAM ロール) で、[Default role] (デフォルトのロール) を選択します。
- 注: AWS Backup のデフォルトロールがアカウントに存在しない場合は、AWS Backup のデフォルトロールが正しい許可で作成されます。
- [Create on-demand backup] (オンデマンドバックアップを作成) ボタンを選択します。[Jobs] (ジョブ) ページが開き、ジョブのリストが表示されます。
g.バックアップ対象として選択したリソースのバックアップジョブ ID を選択すると、そのジョブの詳細が表示されます。
ステップ 3: Amazon EC2 インスタンスの自動 AWS Backup ジョブを設定する
3.1 — AWS Backup で使用するサービスを設定する
a.AWS Backup コンソールの左側のナビゲーションペインで、[My account] (マイアカウント) の下の [Settings] (設定) を選択します。
b.[Service opt-in] (サービスオプトイン) ページで、[Configure resources] (リソースを設定) を選択します。
c.[Configure resources] (リソースを設定) ページで、切り替えスイッチを使用して AWS Backup で使用するサービスを有効化または無効化します。サービスを設定したら、[Confirm] (確認) を選択します。
- バックアップする AWS リソースは、このチュートリアルで使用しているリージョンにあり、リソースはすべて同じ AWS リージョンにある必要があります (ただし、クロスリージョンコピーについては、ステップ 3.2 を参照してください)。このチュートリアルでは、米国西部 (オレゴン) リージョン (us-west-1) を使用します。
3.2 — Amazon EC2 インスタンスのバックアッププランを設定する
d.AWS Backup コンソールで、左側のナビゲーションペインの [My account] (マイアカウント) にある [Backup plans] (バックアッププラン) を選択し、次に [Create backup plan] (バックアッププランを作成) を選択します。
e.AWS Backup にはバックアッププランを使い始めるための方法が 3 つ用意されていますが、このチュートリアルでは、[Build a new plan] (新しいプランを立てる) を選択します。
- テンプレートから始める — AWS Backup が提供するテンプレートに基づいて新しいバックアッププランを作成できます。AWS Backup で作成されるバックアッププランは、バックアップのベストプラクティスと一般的なバックアップポリシー設定に基づいていることに注意してください。既存のバックアッププランを選択して開始すると、そのバックアッププランの設定が新しいバックアッププランに自動的に入力されます。その後、バックアップ要件に応じて、これらの設定のいずれかを変更できます。
- 新しいプランの作成 — 次のセクションで説明するように、各バックアップ設定の詳細を指定することで、新しいバックアッププランを作成できます。推奨のデフォルト設定から選択できます。
- JSON を使用してプランを定義 — 既存のバックアッププランの JSON 式を変更するか、新しい式を作成できます。
f. バックアッププラン名 — 一意のバックアッププラン名を指定する必要があります。既存のプランと同じバックアッププランを作成しようとすると、AlreadyExistsException エラーが発生します。このチュートリアルでは、「EC2-webapp」と入力します。
g. バックアップルール名 — バックアッププランは、1 つ以上のバックアップルールで構成されています。バックアップルール名は大文字と小文字が区別されます。1~63 文字の英数字またはハイフンを含める必要があります。このチュートリアルでは、「EC2-Dailies」と入力します。
h. バックアップボールト — バックアップボールトは、バックアップを整理するためのコンテナです。バックアップルールによって作成されたバックアップは、バックアップルールで指定したバックアップボールトに整理されます。バックアップボールトを使用して、AWS Key Management Service (AWS KMS) 暗号化キーを設定できます。この暗号化キーは、バックアップボールト内のバックアップを暗号化し、バックアップボールトでバックアップへのアクセスを制御するために使用します。また、バックアップボールトにタグを追加して整理しやすくすることもできます。デフォルトのボールトを使用したくない場合は、独自のボールトを作成できます。
- 新しいバックアップボールトの作成 — AWS Backup コンソールで自動的に作成されるデフォルトのバックアップボールトを使用する代わりに、特定のバックアップボールトを作成して、同じボールトに複数のバックアップを保存および整理できます。
i) バックアップボールトを作成するには、[Create new Backup vault] (新しいバックアップボールトを作成) を選択します。
ii) バックアップボールトの名前を入力します。保存する内容を反映した名前をボールトに付けることも、必要なバックアップを簡単に検索できる名前を付けることもできます。例えば、「FinancialBackups」という名前を付けることができます。
iii) AWS KMS キーを選択します。既に作成したキーを使用するか、デフォルトの AWS Backup KMS キーを選択できます。
iv) オプションで、バックアップボールトの検索と識別に役立つタグを追加します。
v) [Create Backup vault] (バックアップボールトを作成) ボタンを選択します。
i.バックアップ頻度 — バックアップ頻度は、バックアップを作成する頻度を決定します。12 時間ごと、毎日、毎週、または毎月の頻度を選択できます。毎週を選択する場合、バックアップを作成する曜日を指定できます。毎月を選択する場合、その月の特定の日を選択できます。
j.ポイントインタイムリカバリのための連続バックアップを有効にする — 連続バックアップを使用すると、復元するタイミングを秒単位で選択することで、ポイントインタイムリストア (PITR) を実行できます。ワークロードの現在の状態から最新のポイントインタイムリストアまでの最大経過時間は 5 分です。最大 35 日間連続バックアップを保存できます。連続バックアップを有効にしない場合、AWS Backup はスナップショットバックアップを自動的に作成します。
k. バックアップウィンドウ — バックアップウィンドウは、バックアップウィンドウの開始時間と時間単位の期間で構成されます。デフォルトのバックアップウィンドウは、UTC (協定世界時) の午前 5 時に開始し、8 時間続くように設定されています。
m.保存期間 — AWS Backup は、ストレージコストを節約するために、この期間の終了時にバックアップを自動的に削除します。AWS Backup では、1 日から 100 年の間 (保持期間を入力しない場合は無期限) のスナップショットを保持でき、1~35 日間の連続バックアップが行えます。
n.コピー先にコピー — バックアッププランの一部として、オプションで別の AWS リージョンにバックアップコピーを作成できます。AWS Backup を使用すると、バックアップをオンデマンドで複数の AWS リージョンにコピーすることも、スケジュールされたバックアッププランの一部として自動的にコピーすることもできます。リージョン間のレプリケーション (CRR) は、ビジネス継続性またはコンプライアンスに関する要件を満たすために、本番データからの距離が最短の場所でバックアップを保存する必要がある場合に特に役立ちます。バックアップコピーを定義する場合、次のオプションを設定します。
- コピー先へコピー — バックアップコピーのコピー先リージョン。
- コピー先バックアップボールト — コピーのコピー先バックアップボールト。
- (詳細設定) コールドストレージへの移行
- (詳細設定) 保存期間
- 注: クロスリージョンコピーには、データ転送コストが追加で発生します。詳細については、AWS Backup の料金ページを参照してください。
- 注: クロスリージョンコピーには、データ転送コストが追加で発生します。詳細については、AWS Backup の料金ページを参照してください。
o.リカバリポイントに追加されたタグ — ここにリストしたタグは、作成時に自動的にバックアップに追加されます。
p. バックアップの詳細設定 — Amazon EC2 インスタンスで実行されているサードパーティーアプリケーションとアプリケーション整合性がとれたバックアップが行えます。現在、AWS Backup は Windows VSS バックアップをサポートしています。これは、SQL サーバーまたは Exchange データベースを実行している Windows EC2 インスタンスにのみ適用されます。
q.[Create plan] (プランを作成) を選択します。
a.作成したバックアッププランを選択し、[Assign resources] (リソースの割り当て) ボタンをクリックします。
c.IAM ロール — タグベースのバックアッププランを作成するときに、デフォルトロール以外のロールを選択する場合は、そのロールにすべてのタグ付きリソースをバックアップするのに必要な許可があることを確認してください。AWS Backup は、選択したタグが付いたすべてのリソースを処理しようとします。アクセス許可のないリソースに遭遇した場合、バックアッププランは失敗します。
d.リソース選択を定義する — すべてのリソースタイプを含めるか、特定のリソースタイプを含めるかを選択できます。
e.リソース ID ベースの割り当ての場合は、リソースタイプとリソース名を選択します。
f.特定のリソース ID を除外するには、リソースタイプとリソース名を選択します。
h.[Resource selection] (リソースの選択) ボタンを選択して、リソースをバックアッププランに割り当てます。
i.AWS Backup コンソールに移動します。バックアップジョブは [Jobs] (ジョブ) の下に表示されます。
j.バックアップ、つまりリカバリポイントは、指定された時刻の Amazon EC2 インスタンスや Amazon RDS データベースなどのリソースの内容を表します。リカバリポイントとは、一般的に、Amazon EBS スナップショットや Amazon RDS バックアップなど、AWS のサービスにあるさまざまなバックアップを指す用語です。AWS Backup では、リカバリポイントはバックアップボールトに保存され、ビジネスニーズに応じて整理できます。各リカバリポイントには固有の ID があります。
ステップ 4: AWS Backup を使用して Amazon EC2 インスタンスを復元する
a.バックアッププランで選択したバックアップボールトに移動し、最後に完了したバックアップを選択します。
b.EC2 インスタンスを復元するには、リカバリポイント ARN を選択し、[Restore] (復元) を選択します。
c.ARN を復元すると、バックアップされた AMI とアタッチされたすべての EBS ボリュームを使用した、EC2 インスタンスの設定を含む [Restore backup] (バックアップを復元) 画面が表示されます。
- ネットワーク設定ペインで、デフォルトをそのまま使用するか、インスタンスタイプ、仮想プライベートクラウド (VPC)、サブネット、セキュリティグループ、インスタンス IAM ロール設定のオプションを指定します。
- この例では、IAM ロールなしで続行します。IAM ロールは、復元プロセスの完了後に EC2 インスタンスに適用できます。
i.元のインスタンスプロファイルを使用して復元を正常に実行するには、復元ポリシーを編集する必要があります。復元中にインスタンスプロファイルを適用する場合は、オペレーターロールを更新し、基礎となるインスタンスプロファイルロールの PassRole 許可を Amazon EC2 に追加する必要があります。AWS Backup によって作成されたデフォルトのサービスロールは、バックアップの作成と復元を管理します。これには、AWSBackupServiceRolePolicyForBackup と AWSBackupServiceRolePolicyForRestores の 2 つの管理ポリシーがあります。また、「Action」:「iam: PassRole」により、復元の一部として EC2 インスタンスを起動することもできます。
d.[Restore role] (ロールを復元) ペインで、[Default role] (デフォルトのロール) を受け入れるか、[Choose an IAM role] (IAM ロールを選択) をクリックして、この復元で AWS Backup が引き受ける IAM ロールを指定します。
e.[Advanced settings] (詳細設定) ペインで、デフォルトをそのまま使用するか、[Shutdown behavior] (シャットダウンの動作)、[Stop - Hibernate behavior] (停止 – 休止動作)、[Placement group] (プレイスメントグループ)、[T2/T3] (T2/T3 無制限)、[Tenancy] (テナンシー)、[User data] (ユーザーデータ) 設定のオプションを指定します。このセクションを使用して、シャットダウンの動作と休止動作、終了保護、プレイスメントグループ、テナンシー、およびその他の詳細設定をカスタマイズします。
f.AWS Backup は、バックアップ時に使用された SSH キーペアを使用して自動的に復元を実行します。
g.すべての設定を指定したら、[Restore backup] (バックアップを復元) を選択します。[Restore jobs] (復元ジョブ) ペインが表示され、ページ上部に復元ジョブに関する情報が記載されたメッセージが表示されます。
h.AWS Backup コンソールの [Restore jobs] (ジョブを復元) で復元されたバックアップジョブを確認します。
I.ジョブのステータスが「完了」と表示されたら、Amazon EC2 コンソールに移動し、左側のナビゲーションペインで [Instances] (インスタンス) を選択して、復元された EC2 インスタンスを確認します。EC2 インスタンスは、AMI とアタッチされた EBS ボリュームのバックアップを使用して復元されます。
ステップ 5: 次のステップ
ステップ 6: クリーンアップ
- Amazon EC2 コンソールを開きます。
- 左側のナビゲーションペインで、[Instances] (インスタンス) の [Instance] (インスタンス) を選択します。
- 復元された EC2 インスタンスを選択し、[Instance state] (インスタンスの状態)、[Terminate instance] (インスタンスを終了) の順に選択します。
- 確認のプロンプトが表示されたら、[Terminate] (終了する) を選択します。
- AWS Backup コンソールを開き、リカバリポイントが保存されているボールトに移動します。
- リカバリポイントを選択し、[Delete] (削除) を選択します。
まとめ
おめでとうございます。 Amazon EC2 インスタンスのバックアップを作成し、AWS Backup を使用して復元を実行しました。