51

AWSにコミュニティ AMI ベースの Linux EC2インスタンスがあります。ここで、インスタンスを毎日バックアップし、そのイメージをS3にアップロードしたいと考えています。

それは EC2 インスタンスのバックアップを行う正しい方法ですか? EC2 インスタンスをバックアップするための正しい方法を教えてくれる人はいますか?

4

1 に答える 1

46

インスタンスがEBSでサポートされていることを願っています。

その場合は、EBS スナップショットを作成してインスタンスをバックアップできます。これは、aws.amazon.com から (手動で)、AWS コマンドライン ツール (必要に応じて cron または Windows タスク スケジューラで自動化およびスケジュール可能) を使用するか、AWS API を介して実行できます。

スナップショット プロセス中にデータベース バックアップ ファイルの状態が変更されないようにする必要があります。Ubuntu で実行されている MySQL にこの戦略を使用したときは、一貫したスナップショットを確保するためにスクリプトを使用しました。このスクリプトは、XFS ファイル システムの機能を使用して、スナップショット中にファイル システムをフリーズします。その展開では、スナップショットは 2 ~ 3 秒しかかからず、非常にオフピーク時に実行されました。Web サイトの訪問者は、2 ~ 3 秒の遅れを経験します。Windows の場合、スナップショットのためにデバイスを再起動できない場合 (夜間のメンテナンス ウィンドウがない場合)、代わりに別の EBS デバイス (スナップショット用の「S:\」デバイスなど) を作成し、SQL Server バックアップ ツールを使用して、その別のデバイスで .bak ファイルを作成してから、その別の EBS デバイスの EBS スナップショットを作成します。

バックアップのスクリプト作成の詳細については、次の関連する質問を参照してください。

Amazon EBS スナップショットの自動化には、Linux でこれを行うための優れたスクリプトまたはソリューションがあります。

たとえばデータベース用に別のストレージをマウントしている場合は、それも必ずバックアップしてください。

アップデート

スナップショットを手動で作成するには、

  • https://console.aws.amazon.com/ec2/home?#s=Volumesにアクセスします。
  • バックアップするボリュームを右クリックします (ボリュームが接続されているインスタンスは、[接続情報] という名前の列にあります)。
  • 選択するCreate Snapshot

インスタンスから AMI イメージを作成し、それと同じように他のインスタンスを起動するには (より多くのリソースを持つインスタンスで、または負荷を分散するためなど):

于 2012-07-04T05:46:40.293 に答える