Tengo algunos servidores de Windows alojados en Amazon EC2. Algunos ejecutan Windows Server 2003 y otros ejecutan Windows Server 2008. Estas son instancias respaldadas por EBS. La mayoría de las instancias también tienen algunos volúmenes EBS adicionales adjuntos.
Queremos programar una instantánea diaria de las máquinas Windows (y también los volúmenes EBS adjuntos) en S3 para que tengamos copias de seguridad diarias disponibles.
Uno pensaría que este es un requisito muy común y estaría disponible a través de la consola de administración de AWS, pero lamentablemente no lo es. ¿Qué enfoques hay disponibles? ¿Cómo programo instantáneas diarias en nuestros servidores de Windows?
Hay varios ejemplos de scripts disponibles en línea para Linux, pero no tanto para Windows. He echado un vistazo a http://sehmer.blogspot.com/2011/04/amazon-ec2-daily-snapshot-script-for.html , así como a https://github.com/ronmichael/aws-snapshot- planificador . ¿Alguien ha utilizado uno de estos enfoques y funciona?
También he considerado un servicio como Skeddly que parece económico a primera vista, pero cuando se considera usarlo para varios servidores, el precio pronto aumenta a tal punto que parece una mejor opción para crear su propia solución, ya que luego puede aplicarla a Nuevos servidores en el futuro. Con Skeddly pagaremos por cada servidor.
¿Cómo programamos instantáneas diarias de nuestras instancias de Windows?
Actualización de 2018 A fines de 2018, hay dos formas adicionales de automatizar las instantáneas de EBS. Todavía uso el método original de los eventos de CloudWatch, ya que funcionó bien durante años y no veo ningún cambio.
Ops Automator (OA)
Ops Automator es un conjunto muy flexible de scripts lambda proporcionados por AWS. Se implementa con una plantilla de CloudWatch que se encuentra en la página anterior.
Sus pasos de configuración son
Administrador de ciclo de vida de datos (DLM)
Documentación de DLM . Esta es una solución más simple pero menos flexible que puede realizar copias de seguridad de los volúmenes cada 12 o 24 horas. Estoy desconcertado por qué AWS puso esta limitación en DLM: semanal, mensual o una frecuencia variable hubiera sido fácil de implementar.
DLM está integrado en la consola de AWS. No voy a copiar y pegar la documentación, ya que AWS mantiene las cosas bien actualizadas y los enlaces rara vez se rompen.
A partir de 2019, DLM le permite especificar intervalos más cortos de hasta dos horas, pero aún no le permite especificar intervalos de más de 24 horas.
Actualización 2017
A partir de 2017, hay otra forma de crear instantáneas regulares: usando Cloudwatch Events .
Esto le permite programar instantáneas, pero no resuelve el problema del volumen en uso, por lo que es solo una solución parcial. Puede haber una forma de usar CloudWatch Events para activar algo que inmovilice el volumen.
Abra la consola de CloudWatch en https://console.aws.amazon.com/cloudwatch/ .
En el panel de navegación, elija Eventos.
Elija Crear regla.
Para el origen del evento, haga lo siguiente:
-> Elija Horario.
-> Elija Tasa fija de y especifique el intervalo de programación (por ejemplo, 5 minutos). Alternativamente, elija la expresión Cron y especifique una expresión Cron (por ejemplo, cada 15 minutos de lunes a viernes, comenzando a la hora actual).
Para los objetivos, elija Agregar destino y luego seleccione Crear llamada a la API EC2 Crear instantánea.
Para la identificación del volumen, elija un volumen EBS.
Elija Configurar detalles.
Para la definición de la regla, escriba un nombre y una descripción para la regla.
Para los permisos de AWS, elija la opción para crear un nuevo rol. Esto abre la consola de IAM en una nueva pestaña. El nuevo rol otorga al objetivo incorporado permiso para acceder a los recursos en su nombre. Elija Permitir. La pestaña con la ventana IAM se cierra.
Elija Crear regla.
fuente
Saltando sobre una vieja respuesta que me inició en mi búsqueda. Felicitaciones a Ameer Deen arriba por los guiones, por cierto.
Encontré esta publicación que profundiza mucho más en los scripts de PowerShell para automatizar completamente el proceso de recopilación de datos y la instantánea EBS:
http://messor.com/aws-disaster-recovery-automation-w-powershell/
Luego, por supuesto, descubrí que todos estaban escritos para la v1.0 ahora depreciada del SDK de AWS, así que pasé el último día arreglando eso y haciendo que todos trabajen con la v2.0:
https://github.com/noahlh/aws-automated-backup-powershell
¡Disfrutar!
fuente
AutomatiCloud hace exactamente lo que necesita. Es una herramienta de Windows fácil de usar donde puede programar copias de seguridad para sus volúmenes EBS o instancias RDS: www.automaticoud.net
Usted puede
fuente
Ahora puede usar AWS Lambda para crear AMI automáticamente . Toda la configuración debe completarse en unos 10 minutos junto con el horario que desee. Mira su repositorio de Github para contribuir también. Ejecute el script usted mismo y evite otorgar permisos a terceros.
fuente
Puede escribir un script que hable con la API EC2 para programar esas instantáneas. Se puede ejecutar en una de sus instancias existentes o puede configurar una pequeña instancia de Linux para este propósito en un t1.micro cuya única función es iniciar las instantáneas para los hosts de Windows. El script podría colocarse en el host de Linux como un trabajo cron para ejecutarse diariamente a la hora que elija.
El primer enlace es un ejemplo de secuencias de comandos que provienen de un host de Windows y podría automatizarse fácilmente con las tareas programadas en Windows.
No he usado la aplicación que vinculaste en tu segundo enlace.
fuente
Las capacidades actuales de EBS Snapshot para instancias de Windows se explican aquí: http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-creating-snapshot.html
Para obtener una instantánea coherente, debe pausar las escrituras en el volumen el tiempo suficiente para que se complete la instantánea. Por lo general, esto significa que debe desmontar el volumen. El documento de AWS no analiza cómo hacerlo a través de la línea de comandos en Windows, pero puede averiguarlo en este hilo de superusuario: /superuser/704870/mount-and-dismount-hard-drive-through -a-script-software
Para obtener una instantánea del volumen de arranque del sistema, debe detener su instancia.
Espero que ayude.
fuente
Me doy cuenta de que esta es una vieja pregunta, pero compartiré nuestra solución.
Usamos un servicio llamado Ylastic . Su plan Pro ($ 50 / mes) incluye la programación de instantáneas de EBS, sin limitar la cantidad de servidores o discos. También eliminará las copias de seguridad anteriores si lo desea. Puede crear múltiples programaciones (por ejemplo, diariamente, semanalmente, etc.) cada una con sus propias políticas de retención.
La interfaz también le permite crear nuevas instancias a partir de copias de seguridad.
Ha funcionado de manera confiable para nosotros durante años, con aproximadamente veinte instancias y cuarenta volúmenes de EBS. Probablemente hay métodos más baratos, pero el precio es lo suficientemente bajo como para que no nos hayamos molestado en construir y mantener algo nosotros mismos.
Consulte http://blog.ylastic.com/post/148519929496/multi-region-ebs-instance-backup-management para obtener detalles sobre esta función.
fuente