AMIs および EBSスナップショットを使用したEBSボリュームバックアップの作成 - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AMIs および EBSスナップショットを使用したEBSボリュームバックアップの作成

AWS には、 AMIs とスナップショットを作成および管理するための豊富なオプションが用意されています。ニーズに合ったアプローチを使用できます。多くのカスタマーが直面する一般的な問題は、スナップショットのライフサイクルを管理し、目的や保存ポリシーなどによってスナップショットを明確に調整することです。適切なタグ付けを行わないと、スナップショットが誤って削除されたり、自動クリーンアッププロセスの一環として削除されたりするリスクがあります。また、まだ必要かどうかが明確にわからないため、古いスナップショットが保存されているために料金を支払うことになる可能性もあります。

スナップショットまたは を作成する前にEBSボリュームを準備する AMI

スナップショットを作成したり、 を作成する前にAMI、EBSボリュームに必要な準備を行います。AMI を作成すると、インスタンスにアタッチされているEBSボリュームごとに新しいスナップショットが生成されるため、これらの準備は にも適用されますAMIs。

パワーオンEC2インスタンスで使用されているアタッチされたEBSボリュームのスナップショットを作成できます。ただし、スナップショットは、スナップショットコマンドの発行時にEBSボリュームに書き込まれたデータのみをキャプチャします。そのため、アプリケーションやオペレーティングシステムによってキャッシュされたデータは除外される可能性があります。ベストプラクティスは、システムを I/O を一切実行していない状態にすることです。理想的には、マシンはトラフィックを受け付けず、停止状態ですが、24 時間 365 日の IT 運用が標準となっているため、このような状況はまれです。システムメモリからアプリケーションが使用しているディスクにデータをフラッシュし、スナップショットを取るのに十分な時間、ボリュームへのファイル書き込みを一時停止できれば、スナップショットは完了するはずです。

クリーンバックアップを作成するには、データベースまたはファイルシステムを停止する必要があります。これを行う方法は、データベースまたはファイルシステムによって異なります。

データベースのプロセスは以下のとおりです:

  1. 可能であれば、データベースをホットバックアップモードにします。

  2. Amazon EBSスナップショットコマンドを実行します。

  3. データベースをホットバックアップモードから解除するか、リードレプリカを使用している場合はリードレプリカインスタンスを終了します。

ファイルシステムのプロセスも同様ですが、オペレーティングシステムやファイルシステムの能力に依存します。例えば、 XFSは、一貫したバックアップのためにデータをフラッシュできるファイルシステムです。詳細については、「xfs_freeze」を参照してください。あるいは、I/O のフリーズをサポートする論理ボリュームマネージャーを使用すれば、このプロセスを簡単に行うことができます。

しかし、ボリュームへのすべてのファイル書き込みをフラッシュまたは一時停止できない場合は、次のようにします:

  1. オペレーティングシステムからボリュームをアンマウントします。

  2. スナップショットコマンドを発行します。

  3. ボリュームを再マウントして、一貫性のある完全なスナップショットを作成します。スナップショットのステータスがペンディングの間は、ボリュームを再マウントして使用できます。

スナップショットの処理はバックグラウンドで継続され、スナップショットの作成は迅速に行われ、特定の時点がキャプチャされます。バックアップしているボリュームは、ほんの数秒でアンマウントされます。停止が予想される短いバックアップウィンドウをスケジュールして、クライアントが適切に処理するように設定できます。

ルートデバイスとして機能するEBSボリュームのスナップショットを作成するときは、スナップショットを作成する前にインスタンスを停止してください。Windows は、アプリケーション整合性スナップショットの作成に役立つ Volume Shadow Copy Service (VSS) を提供します。 は、 VSS対応アプリケーションのイメージレベルのバックアップを取得するために実行できる Systems Manager ドキュメント AWS を提供します。スナップショットには、これらのアプリケーションとディスクとの間で保留されているトランザクションのデータが含まれます。すべてのアタッチされたボリュームのバックアップを実行する際に、インスタンスのシャットダウンあるいは切断を必要としません。詳細については、「AWS ドキュメント」を参照してください。

注記

別の同様のインスタンスをデプロイAMIできるように Windows を作成する場合は、 EC2Configまたは EC2Launch を使用してインスタンスを Sysprep します。次に、停止したインスタンスAMIから を作成します。Sysprep は、、SIDsコンピュータ名、ドライバーなどの一意の情報を Amazon EC2 Windows インスタンスから削除します。重複すると、Active Directory、Windows Server Update Services (WSUS)、ログインの問題、Windows ボリュームキーのアクティベーション、Microsoft Office、およびサードパーティー製品に問題が発生するSIDs可能性があります。がバックアップ用AMIであり、すべての一意の情報をそのまま残して同じインスタンスを復元する場合は、インスタンスで Sysprep を使用しないでください。

コンソールからEBSボリュームスナップショットを手動で作成する

インスタンスで完全にテストされていない大きな変更を加える前に、適切なボリュームまたはインスタンス全体のスナップショットを作成します。例えば、インスタンス上のアプリケーションやシステムソフトウェアをアップグレードしたり、パッチを当てたりする前にスナップショットを作成したい場合があります。

スナップショットはコンソールから手動で作成できます。Amazon EC2コンソールの Elastic Block Store ボリュームページで、バックアップするボリュームを選択します。次に [Actions] メニューから [Create Snapshot] を選択します。フィルタボックスにインスタンス ID を入力すると、特定のインスタンスにアタッチされているボリュームを検索できます。

説明を入力し、適切なタグを追加します。Name タグを追加して、後でボリュームを見つけやすくします。タグ付け戦略に基づいて、その他の適切なタグを追加します。

の作成 AMIs

AMI は、インスタンスを起動するために必要な情報を提供します。AMI には、イメージの作成時にインスタンスにアタッチされたボリュームのルートEBSボリュームとスナップショットが含まれます。EBS スナップショットから新しいインスタンスを単独で起動することはできません。 から新しいインスタンスを起動する必要がありますAMI。

を作成するとAMI、使用しているアカウントとリージョンに作成されます。AMI 作成プロセスでは、インスタンスにアタッチされたボリュームごとに Amazon EBSスナップショットが作成され、 はこれらの Amazon EBSスナップショットAMIを参照します。これらのスナップショットは Amazon S3 に保存され、高い耐久性を持ちます。

EC2 インスタンスAMIの を作成したら、 AMI を使用してインスタンスを再作成したり、インスタンスのコピーをさらに起動したりできます。アプリケーション移行または DR のために、あるリージョンAMIsから別のリージョンにコピーすることもできます。

インスタンスを起動し、イメージを作成し、インスタンスにイメージを起動し、イメージのコピーを作成するプロセス図。

仮想マシンなどの仮想マシンを に移行する場合を除き、EC2インスタンスから を作成AMIする必要がありますVMWARE AWS。Amazon EC2コンソールAMIから を作成するには、インスタンスを選択し、アクション を選択し、イメージ を選択し、イメージ の作成 を選択します。

Amazon Data Lifecycle Manager

Amazon EBSスナップショットの作成、保持、削除を自動化するには、Amazon Data Lifecycle Manager を使用できます。スナップショット管理を自動化することで、以下のことが可能になります:

  • 定期的なバックアップスケジュールを実施して貴重なデータを保護する。

  • 監査担当者または社内のコンプライアンスが必要とするバックアップを保持する。

  • 古いバックアップを削除してストレージコストを削減する。

Amazon Data Lifecycle Manager を使用すると、EC2インスタンス (およびそのアタッチされたEBSボリューム) または個別のEBSボリュームのスナップショット管理プロセスを自動化できます。クロスリージョンコピーなどのオプションをサポートしているので、スナップショットを他の AWS リージョンに自動的にコピーすることができます。代替リージョンへのスナップショットのコピーは、DR の取り組みを支援し、代替リージョンでオプションを復元する方法の 1 つです。Amazon Data Lifecycle Manager を使って、高速スナップショット・リストアをサポートするスナップショットライフサイクルポリシーを作成することもできます。

Amazon Data Lifecycle Manager は、Amazon EC2および Amazon の に含まれる機能ですEBS。Amazon Data Lifecycle Manager は課金されません。

AWS Backup

AWS Backup は Amazon Data Lifecycle Manager と一意です。これは、複数の AWS サービスにまたがるリソースを含むバックアッププランを作成できるためです。リソースのバックアップを個別に調整するのではなく、一緒に使用しているリソースをカバーするようにバックアップを調整できます。

AWS Backup には、完了したバックアップのリカバリポイントへのアクセスを制限できるバックアップボールトの概念も含まれています。復元オペレーションは、個々のリソースに進み、作成されたバックアップを復元する AWS Backup のではなく、 から開始できます。 には、監査管理やレポートなどの追加機能のホスト AWS Backup も含まれています。詳細については、このガイドの「AWS Backup を使ったバックアップとリカバリー」セクションを参照してください。

マルチボリュームバックアップの実行

スナップショットを使用してRAID配列内のEBSボリュームのデータをバックアップする場合は、スナップショットが一貫している必要があります。これは、ボリュームのスナップショットが個別に作成されるためです。同期していないスナップショットからRAID配列内のEBSボリュームを復元すると、配列の整合性が低下します。

RAID 配列のスナップショットの一貫したセットを作成するには、 CreateSnapshotsAPIオペレーションを使用するか、Amazon EC2コンソールにログインして、Elastic Block Store スナップショット スナップショット の作成 を選択します。

複数のボリュームのスナップショットを作成するためのスナップショットの作成画面。

RAID 設定に複数のボリュームがアタッチされているインスタンスのスナップショットは、複数ボリュームのスナップショットとしてまとめて取得されます。マルチボリュームスナップショットは point-in-time、EC2インスタンスにアタッチされた複数のEBSボリュームにまたがる、データ調整されたクラッシュ整合性のあるスナップショットを提供します。スナップショットは複数のボリュームにわたって自動的に取得されるため、一貫性を保つためにEBSボリューム間で調整するためにインスタンスを停止する必要はありません。ボリュームのスナップショットが開始された後 (通常は 1、2 秒)、ファイルシステムは操作を続けることができます。

スナップショットが作成されると、各スナップショットは個別のスナップショットとして扱われます。シングルボリュームのスナップショットと同様に、リストア、削除、リージョンやアカウントをまたいだコピーなど、すべてのスナップショット操作を実行できます。単一ボリュームのスナップショットと同じように、マルチボリュームスナップショットにタグを付けることもできます。復元、コピー、または保存中にマルチボリュームスナップショットをまとめて管理するためにタグを付けることをお勧めします。詳細については、AWS「 ドキュメント」を参照してください。

これらのバックアップは、論理ボリュームマネージャーまたはファイルシステムレベルのバックアップからも実行できます。このような場合、従来のバックアップエージェントを使用すると、データをネットワーク経由でバックアップできます。インターネットや AWS Marketplace では、エージェントベースのバックアップソリューションが数多く提供されています。

別の方法として、1 つの大きなボリュームに存在するプライマリシステムボリュームのレプリカを作成する方法があります。これにより、バックアップする必要があるのは大きなボリュームが 1 つだけで、バックアップはプライマリシステムでは行われないため、バックアッププロセスが簡略化されます。ただし、まず、バックアップ中に 1 つのボリュームで十分なパフォーマンスを発揮できるかどうか、および最大ボリュームサイズがアプリケーションに適しているかどうかを判断します。

Amazon EC2バックアップの保護

バックアップのセキュリティを考慮し、バックアップの偶発的または悪意ある削除を防ぐことが重要です。そのためには、複数の方法を組み合わせて使用することができます。セキュリティ侵害による重要なバックアップの損失を防ぐため、バックアップを別の AWS アカウントにコピーすることをお勧めします。複数のAWSアカウントがある場合は、他のすべてのアカウントがバックアップをコピーできるアーカイブアカウントとして、別のアカウントを指定できます。例えば、AWS Backupでのクロスアカウントバックアップでこれを達成することができます。

ディザスタリカバリプランでは、リージョンで障害が発生した場合に別のAWSリージョンでEC2インスタンスを再現する必要が生じる場合もあります。同じアカウント内の別のリージョンにバックアップをコピーすることで、この目標を達成できます。これにより、偶発的な削除を防止するレイヤーを追加できるだけでなく、ディザスタリカバリ (DR) 目標もサポートできます。AWS Backup は、クロスリージョンバックアップ をサポートします。

ec2:DeleteSnapshot および ec2:DeregisterImage アクションへのアクセスIAM許可のブロックを検討してください。代わりに、保持ポリシーとメソッドにEBSスナップショットと Amazon EC2 のライフサイクルを管理させることができますAMIs。削除アクションをブロックすることは、EBSスナップショットに書き込み 1 回限りの読み取り多数 (WORM) 戦略を実装する方法の 1 つです。また、EBSスナップショットやその他の AWS リソースをサポートする AWS Backup Vault Lock を使用することもできます。

さらに、ec2: AMIs アクションと ec2:ModifySnapshotAttribute IAMアクションをブロックすることで、ユーザーが とEBSスナップショットを共有できる機能をブロックすることを検討してください。 ModifyImageAttributeこれにより、 AMIsとスナップショットが組織の外部にある AWS アカウントと共有されなくなります。を使用している場合は AWS Backup、バックアップボールトで同様の操作を実行しないようにユーザーを制限します。詳細については、このガイドの「AWS Backup を使ったバックアップとリカバリー」セクションを参照してください。

Amazon EC2 には、誤って削除されたEBSスナップショットを復元するのに役立つごみ箱機能が含まれています。ユーザーにスナップショットの削除を許可している場合は、必要なスナップショットが永久に削除されないように、この機能をオンにします。Amazon EC2コンソールでは、1 回の操作で複数のスナップショットを選択して削除できるため、ユーザーは複数のスナップショットの削除に特に注意する必要があります。また、クリーンアップスクリプトや自動化を使用するときは、必要なスナップショットを誤って削除しないように注意してください。ごみ箱機能は、このような状況からの保護に役立ちます。

EBS スナップショットのアーカイブ

EBS スナップショットをアーカイブすることは、90 日以上復元する予定のない参照目的でボリュームのコピーを保持するための費用対効果の高い方法です。これは、EBSボリュームに関連するすべてのスナップショットを完全に削除する前の、適切な中間ステップです。例えば、スナップショットのアーカイブは、使用されなくなったEBSボリュームのステップとして end-of-lifecycle検討できます。削除するよりもアーカイブする方が、ごみ箱を使用するよりもコスト効率の高い削除保持方法でもあります。

Systems Manager、、 を使用したスナップショット AWS CLIとAMI作成の自動化 AWS SDKs

バックアップアプローチでは、スナップショットの作成前とAMI作成後にオペレーションが必要になる場合があります。例えば、ファイルシステムを静止させるために、サービスを停止して開始する必要がある場合があります。または、AMI作成中にインスタンスを停止して開始する必要がある場合があります。また、アーキテクチャ内の複数のコンポーネントのバックアップをまとめて作成する必要がある場合もあります。各コンポーネントのバックアップには、作成前と作成後の手順が異なります。

プロセスを自動化し、バックアッププロセスが一貫して適用されていることを確認することで、バックアップのメンテナンスウィンドウ時間を短縮できます。カスタムの作成前および作成後のオペレーションを自動化するには、 AWS CLI と を使用してバックアッププロセスをスクリプト化しますSDK。

自動化は Systems Manager ランブックで定義できます。このランブックは、オンデマンドで実行することも、Systems Manager のメンテナンス期間中に実行することもできます。Amazon EC2の破壊的コマンドに対するアクセス許可を付与することなく、Systems Manager ランブックを実行するアクセスをユーザーに付与できます。また、バックアッププロセスとタグがユーザーによって一貫して適用されていることを確認するのにも役立ちます。AWS-CreateSnapshot および AWS-CreateImage ランブックを使用してスナップショットと を作成するかAMIs、他のユーザーにそれらを使用するアクセス許可を付与できます。Systems Manager には、AMIパッチ適用とAMI作成を自動化するための AWSおよびUpdateLinuxAmi AWSUpdateWindowsAmiランブックも含まれています。

AWS CLI と を使用してAWS Tools for Windows PowerShell、スナップショットとAMI作成プロセスを自動化することもできます。aws ec2 create-snapshot AWS CLI コマンドを使用して、オートメーションの 1 つのステップとしてEBSボリュームのスナップショットを作成できます。aws ec2 create-snapshots コマンドを使用して、EC2インスタンスにアタッチされているすべてのボリュームのクラッシュ整合性のある同期されたスナップショットを作成できます。

を使用して AWS CLI新しい を作成できますAMIs。aws ec2 register-image コマンドを使用して、EC2インスタンスの新しいイメージを作成できます。インスタンスのシャットダウン、イメージ作成、再起動を自動化するには、このコマンドと aws ec2 stop-instancesaws ec2 start-instances コマンドを組み合わせます。