Amazonは、単一のAMI / EBSごとに設定できるあらゆる種類の自動スケジュールスナップショットをサポートしていますか?
私の目標は、外部スクリプトなどに依存することなく、各AMI自体を定期的にバックアップすることです。
Amazonは、単一のAMI / EBSごとに設定できるあらゆる種類の自動スケジュールスナップショットをサポートしていますか?
私の目標は、外部スクリプトなどに依存することなく、各AMI自体を定期的にバックアップすることです。
AWSコマンドラインツールを使用して、EBSスナップショットを自動化できます。ec2-create-snapshot
ebsボリュームで希望の間隔でコマンドを実行するためのcronジョブなどをスケジュールするだけです。
コマンドラインツールをインストールしたくない場合は、httpを介してAPI呼び出しを行って同じことを行うこともできます。
EBSスナップショットの作成の詳細については、リンクを参照してください。
http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/ebs-creating-snapshot.html
このPythonコードを使用する
from boto.ec2.connection import EC2Connection
from datetime import datetime
import sys
if __name__ == '__main__':
conn = EC2Connection('aws_access_key_id', 'aws_secret_access_key')
volumes_id={'vol-2354534'}
description = 'Created by crontab at ' + datetime.today().isoformat(' ')
for vol_id in volumes_id :
snapshot = conn.create_snapshot( vol_id ,description)
小さなPerlプログラムhttps://github.com/sciclon/EBS_Snapshotsを作成しました
一部の機能:*プログラムはデーモンモードまたはスクリプトモード(crontab)で実行されます
ローカルに接続されたボリュームまたはリモートのみを選択することもできます
ログファイルを定義できます
スナップショットのボリューム量ごとに定義できます
ボリュームごとにそれらの間の頻度を定義できます
頻度と量は、最も古いスナップショットを削除して制限に達すると、「ラウンドロビン」のように機能します。
スナップショットが6つあり、3つで数量を変更した場合、プロセスは自動的に数量を再調整します。
「prescript」実行を定義できます。たとえば、ボリュームをアンマウントしたり、サービスを停止したり、インスタンスの負荷を確認したりする場合など、スナップショットを実行する前に実行するコードを追加できます。親プロセスは終了コードを待ちます。「0」は成功を意味します。終了コードに応じて続行するかどうかを定義できます。
スナップショットを作成した後に任意のスクリプトを実行するための「postscript」実行を定義できます(たとえば、それについて通知する電子メール)
「保護されたスナップショット」を追加して、定義したスナップショットをスキップできます。つまり、「読み取り専用」になり、消去されることはありません。
スクリプトがデーモンモードで実行されている場合、スクリプトを「オンザフライ」で再構成できます。スクリプトはシグナルとIPCを受け入れます。
APIを何度も要求しないようにするための「ローカルキャッシュ」があります。構成ファイルの構成を追加または変更して、プロセスを強制終了せずにリロードできます。
AWSマネジメントコンソールには、EBSスナップショットを維持するための自動化機能が組み込まれていません。スクリプト、EBSスナップショットの基本的な自動化を備えたサードパーティのクラウド管理コンソール、またはAWSマーケットプレイスまたは他の場所で入手可能なEC2インスタンスおよびEBSボリューム用の専用のスナップショットベースのバックアップおよびリカバリ管理ソリューションを使用してみてください。
AWSは現在、データライフサイクル管理を提案しています(ドキュメントを参照)。これは役立つ場合があります。AWSは、これを「EBSスナップショットの作成と削除をスケジュールおよび管理する」方法として定義しています。
EC2コンソールからアクセスして、「LifecycleManager」を検索できます。次に、開始するようにガイドされます