Как настроить автоматические запланированные снимки для каждого отдельного AMI/EBS?

Поддерживает ли Amazon какие-либо автоматические запланированные снимки, которые можно настроить для каждого отдельного AMI/EBS?

Моя цель состоит в том, чтобы регулярно обновлять каждую резервную копию AMI, не полагаясь на внешние скрипты и подобные.

Ответ 1

Вы можете использовать средства командной строки AWS для автоматизации снимков EBS. Просто назначьте задание cron или аналогичное, чтобы выполнить команду ec2-create-snapshot в нужном интервале на вашем томе ebs.

Вы также можете сделать вызовы API через http, чтобы сделать то же самое, если вы не хотите устанавливать инструменты командной строки.

Дополнительную информацию о создании снимков EBS см. в ссылке.

http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/ebs-creating-snapshot.html

Ответ 2

используйте этот код 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)        

Ответ 3

Я создал небольшую программу Perl, https://github.com/sciclon/EBS_Snapshots

Некоторые функции: * Программа запускается в режиме демона или в режиме script (crontab)

  • Вы можете выбрать только локальные подключенные тома или пульты дистанционного управления, а также

  • Вы можете определить файл журнала

  • Вы можете определить для каждого объема количество снимков

  • Вы можете определить для каждого тома частоту среди них

  • Частота и количество будут работать как "круговой", когда он достигнет предела, удаляя самый старый моментальный снимок.

  • вы можете скорректировать за один шаг количество, которое я имею в виду, если у вас есть 6 снимков, и вы измените количество в 3, процесс автоматически перенастроит его.

  • Вы можете определить выполнение "prescript", вы можете добавить свой код для выполнения перед выполнением моментального снимка, например, вы хотели бы попытаться объединить том или остановить некоторую службу или, возможно, проверить загрузку экземпляра, Родительский процесс будет ждать кода выхода, "0" означает успех, вы можете определить, продолжаете или нет, в зависимости от кода выхода.

  • Вы можете определить выполнение "постскриптума", чтобы выполнить любой скрипт после моментального снимка (например, сообщение электронной почты, сообщающее вам об этом)

  • Вы можете добавить "Защищенные снимки", чтобы пропустить выбранный снимок, я имею в виду, что они будут находиться в "только для чтения", и они никогда не будут стерты.

  • вы можете перенастроить script "на лету", когда он запущен в режиме демона, script принимает сигналы и IPC.

  • У этого есть "локальный кеш", чтобы избежать запроса API несколько раз. Вы можете добавлять или изменять любую конфигурацию в файле конфигурации и перезагружать, не убивая процесс.

Ответ 4

AWS Management Console не имеет встроенной автоматизации для создания поддерживающих снимков EBS. Вы можете попробовать использовать скрипты, консоль управления сторонними облаками с базовым автоматическим копированием снимков EBS или специализированными решениями резервного копирования и восстановления на основе моментальных снимков для EC2-узлов и томов EBS, доступных на рынке AWS или в других местах.