Amazon (AWS) EC2インスタンスは、複数の方法でバックアップできます。自動バックアップソリューションが必要かどうか、緊急時にインスタンスを復元する必要があるかどうか、保存して転送できるデータの量など、EC2バックアップに取るアプローチは、ニーズを反映している必要があります。
このブログでは、EC2インスタンスをバックアップする様々な方法を特定し、各アプローチの長所と短所について説明します。
目次
EC2バックアップ方法1:EBSスナップショット
EC2インスタンスをバックアップする1つの方法は、EC2インスタンスが使用する1つまたは複数のエラスティックブロックストレージ(EBS)ボリュームのスナップショットを作成することです。
EBSスナップショットを使用すると、特定の時点でEBSボリュームの状態を保存し、後で復元することができます。
EC2バックアップへのこのアプローチは比較的簡単です。使用中のボリュームを確実にバックアップできないため、最初にインスタンスを停止するか、少なくとも、バックアップするボリュームをアンマウントします。
次に、EC2コンソールからスナップショットツールを選択し、画面の指示に従います。
キャプチャしているデータの量に応じて、スナップショットを作成するプロセスは数時間かかります。
スナップショットが作成されると、そのスナップショットを使用してスナップショットを取得した時点(災害復旧時なその他のデータ取得のために必要な場合)にデータを復元できます。
EBSボリュームスナップショットは、EC2インスタンスのバックアップを作成する簡単な方法です。しかし、このアプローチには大きな欠点があります。本質的にマニュアルです。ボリュームを停止してから、EC2インスタンスが多数ある場合、または1日に複数回バックアップを作成する必要がある場合、この方法は実行できません。
EC2バックアップ方法:新しいAMIの作成
EC2インスタンスをバックアップするもう1つの方法は、新しいAmazon Machine Image(AMI)を作成することです。AMIには、EC2上に仮想サーバーを作成するために必要な、オペレーティングシステムコード、構成設定、およびデータがすべて含まれています。
バックアップ用にAMIを使用するには、EC2インスタンスに基づいてカスタムAMIを構築し、そのAMIを使用して、インスタンスを復元する必要があるイベントのクローンを作成します。
EBSボリュームをバックアップする場合、通常、新しいAMIを作成する前にEC2インスタンスを停止する必要があります。このルールには例外があります。例えば、XFSなどのファイルシステムを使用する場合、バックアップを作成するために「フリーズ」することができますが、AMIを作成する前にインスタンスを停止する必要はありません。ただし、ほとんどの場合、新しいAMIでデータが破損する可能性を避けるためにEC2インスタンスを停止する必要があり、リカバリが不可能になります。
インスタンスが停止したら、コンソールを起動し、バックアップするインスタンスを選択します。次に、Actions > Image > Create Imageに移動します。これにより、新しいAMIの作成方法を設定できるダイアログが開きます。
このEC2バックアップ方法は、EBSボリュームのスナップショットさ区政よりも少し複雑ですが、これにより多くの手順が必要ですが、比較的簡単です。さらに、バックアップ目的でAMIイメージを作成すると、OSと構成データを単一のバックアップイメージにまとめておくことができます。これは、EBSボリュームのみをバックアップするよりも便利です。
しかし、AMIイメージのバックアップにも欠点があります。EBSスナップショットと同様に、このバックアップ方法は手動作業で重くなります。大規模では実現可能でもありません。
S3とAWS CLIを使用したEC2バックアップの自動化
幸いにも、手動での作業は、EC2インスタンスをバックアップするための唯一の選択肢ではありません。少し前の設定を完了することで、S3ストレージバケットとBashスクリプトを使用して、必要に応じていつでも拡張できる自動バックアップソリューションを作成出来ます。
EC2バックアップを自動化するには、以下の3つが必要です。
- S3ストレージバケット。S3バケットの作成についてはこちらを参照してください。
- S3ストレージバケットにアクセスする権限を持つIAMロール。IAMの役割を作成する方法はこちらを、S3のIAMの権限を設定する方法はこちらを参照してください。
- AWSコマンドラインインターフェイス(CLI)を使用してEBSスナップショットまたはAMIイメージを作成するスクリプト。
バックアップスクリプトを作成するには、まずWindows、Linux、およびmacOSサポートするAWS CLIをインストールする必要があります。
その後、EC2バックアッププロセスを自動化するBash(LinuxおよびmacOSの場合)またはPowerShell(Windowsの場合)にスクリプトに書き込むことができます。
Bashで書かれて簡単なバックアップスクリプトの例は以下のようになります。
#!/bin/bash
aws ec2 create-snapshot –volume-id vol-xxxxx –description “Backup: `date`.”
このスクリプトは、AWS CLIでcreate-snapshotコマンドを使用します。このコマンドを使用すると、EBSボリュームのスナップショットを作成します。
代わりにAMIイメージ・アプローチを使用する場合は、代わりにcreate-imageコマンドを使用してスワップできます。スクリプトは以下のようになります。
#!/bin/bash
aws ec2 create-image –instance-id i-1234567890abcdef0 –name “Image Backup” –description “Backup AMI”
これらは非常に基本的な例です。スクリプトを拡張し(cron などのツールと組み合わせて)、複数のEC2インスタンスを簡単にバックアップし、設定された時刻にバックアップを実行するなどの作業を簡単に行うことができます。
また、S3ストレージのコストを削減するために、スクリプトを使用して古いバックアップスナップショットまたはAMIを削除することもできます。
代替アプローチ:単なるデータのバックアップ
場合によっては、インスタンス全体ではなく、EC2インスタンス内のデータだけwpバックアップすることもできます。
たとえば、完全なファイルシステムではなく、アプリケーションデータのみをバックアップして、バックアップのストレージコストを最小限に抑えてい場合などこれは良いアプローチです。インスタンスを復元する必要がある場合は、アプリケーションデータをストックルートファイルシステムイメージと組み合わせて新しいインスタンスを作成出来ます。
ファイルシステムに大量のカスタム構成設定が含まれていない限り、この方法はうまくいくはずですが、単純に再作成するのではなく、新しいインスタンスを作成する必要があるため、既存のEBSスナップショットまたはAMIに基づいています。
総論として
EC2インスタンスのバックアップには、主にEBSスナップショットを使用する方法と、AMIイメージを使用する方法があります。
これらのアプローチの両方を実装するための様々な方法論もあります。デフォルトの方法は、EC2コンソールを使用して手動で作業することです。この戦略は簡単ですが、自動化が不可能であるという多くな欠点があります。自動化の欠如は、このバックアップ戦略が大規模に実行されるのを避けることができます。
ただし、S3ストレージとスクリプトを使用してEC2バックアッププロセスを自動化すると、合理化された効率的なバックアップを実現できます。ただし大規模で動作するEC2バックアップソリューションを作成しようとする企業は、次のような自動化されたアプローチを採用する必要があります。
▶ CloudBerry による柔軟なEC2バックアップ
CloudBerry は、上記のすべてのバックアップ方法をサポートする、EC2用の多彩なバックアップソリューションを提供します。
CloudBerry を使用すると、ストレージの必要性を最小限に抑え、ストレージコストを最適化するために、EC2インスタンスから個々のファイルをバックアップできます。
また、EC2インスタンス全体をバックアップする場合は、そのようにすることもできます。CloudBerry は、完全なEC2仮想マシンのイメージベースのバックアップをサポートします。
CloudBerry は、データを復元するための柔軟なアプローチも提供します。インスタンスをEC2に直接復元したり、EC2インスタンスを再構築するために使用できるAMIまたはEBSボリュームにデータを復元することができます。この柔軟性により、データの普及の最も効果的な方法を選択することで、緊急時に迅速に復旧できます。この柔軟性により、データの復旧の最も効果的な方法祖を選択することで、緊急時に迅速に復旧できます。
CloudBerry は、グラフィカルユーザインターフェイスだけでなく、cbb.exeというコマンドラインツールも提供しているため、EC2バックアップの自動化にも使用できます。
▶ N2WS Backup & Recovery
AWS環境でのバックアップ/リカバリ/災害対策など、データ保護の構成管理ツール
評価申請でAWS $100クレジットプレゼント企画実施中!
▶ Veeam Backup for AWS
Amazon EC2インスタンスをエージェントレスで簡単バックアップ
リストア先もオンプレ、クラウドに自由自在
関連トピックス
- MSP360(CloudBerry) Backupを利用してのAmazon EC2にサーバ全体をリストア(復元)する方法
- CloudBerry Backup 4.5新機能:Amazon EC2インスタンスとしてのリストア
- [N2WS Backup&Recovery 2.5] : バックアップだけでなく、リソースコントロールも対応! コーディングなしでインスタンス起動・停止が簡単に
- ワーカ・インスタンス設定での追加テスト [N2WS 新規機能]
- Veeam B&R v12+Kasten K10 v6でインスタントリカバリ、K8sアプリケーションを数分で復旧
- Veeam v10新機能予告:インスタントVMリカバリの改善
- 【Veeam Backup for AWS 3.0新機能】スクリプト指定によるEC2インスタンスバックアップの対応強化
- VeeamのインスタントVMリカバリをもっと高速に『書き込み編:データストアへのリダイレクト設定』
- [N2WS CPM]数百のEC2インスタンス バックアップを自動化:Cloudar社事例
- インストール時のSQLServerの設定について【VMWare専用 バックアップ & レプリケーションソフト Veeam】
APN テクノロジーパートナーのクライムが提供するAWS対応ソリューション群:
https://www.climb.co.jp/soft/aws/
●AWSアカウント不要!保存先を直接S3選択可能 SaaS型バックアップソリューション
●AWSへの移行/連携 AWS移行KIT
●オンプレミスDBをAWSへ簡単に移行、連携
●AWS上で実行されるワークロードの保護を簡単構成
●データを簡単にクラウドへバックアップ
●EC2インスタンスを暗号化、クラウドでもVMを安全に利用
AWS $100クレジットプレゼント企画実施中!/ N2WS Backup & Recovery
https://www.climb.co.jp/tech_blog/archives/2211