以下のcronジョブエントリは私にとってうまく機能しています。最初にスナップショットを作成し、次にタグを作成し、最後に古いタグを削除します (毎日午前 0:00):
0 0 * * * /path/to/script/ec2-automate-backup.sh -r "<your-region>" -s tag -t "Backup,Values=true" -k 15 -p -h >> /path/to/log/ec2-automate-backup.log 2>&1
ここ:
-r - スナップショットを作成する EBS ボリュームを含むリージョン。
-s - EBS ボリュームが選択される選択方法。現在サポートされている選択方法は、「volumeid」と「tag」です。選択方法「volumeid」は、スナップショットを取得する必要がある EBS ボリュームを識別しますが、選択方法「tag」は、キーと値のペアを利用するフィルターによってスナップショットを取得する必要がある EBS ボリュームを識別します。
-t - スナップショット用の EBS ボリュームを選択する「方法」がタグ (-s タグ) である場合、「タグ」パラメータが必要です。タグの形式は key,Values=$desired_values (例: Backup,Values=true) であり、この方法で ec2-automate-backup を実行する正しい方法は ec2-automate-backup -s tag -t Backup,Values=true です。 ". (バックアップするすべてのボリュームに "Backup=true" のタグを付ける必要があります)
-k - スナップショットをパージできるようになるまでの期間。たとえば、「ec2-automate-backup.sh -v "vol-6d6a0527 vol-636a0112" -k 31」を実行すると、31 日後にスナップショットを削除できます。purge_after_days は、バックアップされたボリュームごとに 2 つのタグを作成します。PurgeAllow=true に設定された PurgeAllow タグと、現在の日付 (UTC) + -k によって提供された値に設定された PurgeAfter タグです。
-p - -p フラグは、「purge after days」よりも前に作成されたすべてのスナップショットをパージ (つまり、削除) します。ec2-automate-backup は、2 つのタグ (PurgeAllow タグと PurgeAfter タグ) を調べて、どのスナップショットを削除する必要があるかを判断します。タグは次のように設定する必要があります: PurgeAllow=true および PurgeAfter=YYYY-MM-DD (YYYY-MM-DD は現在の日付より前である必要があります)。
-h - スナップショットに「InitiatingHost」タグを付けて、スクリプトを実行したホストを指定します
スナップショットが作成された後のタグの例:
