Eu tenho alguns servidores Windows hospedados no Amazon EC2. Alguns executam o Windows Server 2003 e outros executam o Windows Server 2008. Essas são instâncias suportadas pelo EBS. A maioria das instâncias também possui alguns volumes EBS adicionais anexados.
Queremos agendar um instantâneo diário das máquinas Windows (e também os volumes EBS anexados) para o S3, para que possamos ter backups diários disponíveis.
Alguém poderia pensar que esse é um requisito muito comum e seria disponibilizado pelo AWS Management Console, mas, infelizmente, não é. Quais abordagens estão disponíveis? Como agendar instantâneos diários em nossos servidores Windows?
Existem vários exemplos de scripts disponíveis online para Linux, mas não tanto para Windows. Observei http://sehmer.blogspot.com/2011/04/amazon-ec2-daily-snapshot-script-for.html , bem como https://github.com/ronmichael/aws-snapshot- agendador . Alguém já usou uma dessas abordagens e funciona?
Também considerei um serviço como o Skeddly, que parece barato à primeira vista, mas quando você olha para usá-lo em vários servidores, o preço logo aumenta para um ponto em que parece uma opção melhor criar sua própria solução, e então aplicá-lo a novos servidores no futuro. Com o Skeddly, pagaremos por cada servidor.
Como agendamos instantâneos diários de nossas instâncias do Windows?
Atualização de 2018 No final de 2018, existem duas maneiras adicionais de automatizar os instantâneos do EBS. Eu ainda uso o método original dos eventos do CloudWatch, pois funcionou bem por anos e não vejo sentido em mudar.
Ops Automator (OA)
Ops Automator é um conjunto muito flexível de scripts lambda fornecidos pela AWS. Ele foi implantado com um modelo CloudWatch, que está na página acima.
Suas etapas de configuração são
Gerenciador de ciclo de vida de dados (DLM)
Documentação DLM . Essa é uma solução mais simples, mas menos flexível, que pode fazer backup de volumes a cada 12 ou 24 horas. Estou confuso por que a AWS colocou essa limitação no DLM - semanal, mensal ou com uma frequência variável teria sido fácil de implementar.
O DLM está integrado ao console da AWS. Não vou copiar e colar a documentação, pois a AWS mantém as coisas bem atualizadas e os links raramente quebram.
A partir de 2019, o DLM permite especificar intervalos mais curtos até duas horas, mas ainda não permite especificar intervalos de mais de 24 horas.
Atualização de 2017
A partir de 2017, existe outra maneira de criar instantâneos regulares - usando o Cloudwatch Events .
Isso permite que você agende instantâneos, mas não resolve o problema do volume em uso, por isso é apenas uma solução parcial. Pode haver uma maneira de usar o CloudWatch Events para acionar algo que inativa o volume.
Abra o console do CloudWatch em https://console.aws.amazon.com/cloudwatch/ .
No painel de navegação, escolha Eventos.
Escolha Criar regra.
Para Fonte de Eventos, faça o seguinte:
-> Escolha Agenda.
-> Escolha Taxa fixa de e especifique o intervalo de agendamento (por exemplo, 5 minutos). Como alternativa, escolha Expressão Cron e especifique uma expressão Cron (por exemplo, a cada 15 minutos de segunda a sexta-feira, começando no horário atual).
Para Destinos, escolha Adicionar destino e selecione Chamada de API do EC2 Create Snapshot API.
Para ID do volume, escolha um volume EBS.
Escolha Configurar detalhes.
Para definição de regra, digite um nome e uma descrição para a regra.
Para permissões da AWS, escolha a opção para criar uma nova função. Isso abre o console do IAM em uma nova guia. A nova função concede ao destino interno permissão para acessar recursos em seu nome. Escolha Permitir. A guia com a janela do IAM é fechada.
Escolha Criar regra.
fonte
Pulando em uma resposta antiga que me iniciou na minha pesquisa. Parabéns a Ameer Deen acima pelos scripts, btw.
Encontrei esta postagem que aborda muito mais profundamente os scripts do PowerShell para automatizar totalmente o processo de coleta de dados e de captura instantânea do EBS:
http://messor.com/aws-disaster-recovery-automation-w-powershell/
Então, é claro, descobri que tudo isso foi escrito para a v1.0 agora depreciada do AWS SDK, então passei o último dia corrigindo isso e fazendo com que todos trabalhassem com a v2.0:
https://github.com/noahlh/aws-automated-backup-powershell
Desfrutar!
fonte
O AutomatiCloud faz exatamente o que você precisa. É uma ferramenta do Windows fácil de usar, onde você pode agendar backups para suas instâncias de Volumes ou RDS do EBS: www.automaticoud.net
Você pode
fonte
Agora você pode usar o AWS Lambda para criar AMIs automaticamente . Toda a instalação deve ser concluída em cerca de 10 minutos, juntamente com a programação que você desejar. Veja o repo do Github para contribuir também. Execute o script sozinho e evite dar permissões a terceiros.
fonte
Você pode escrever um script que fale com a API do EC2 para agendar esses instantâneos. Ele pode ser executado em uma de suas instâncias existentes ou você pode configurar uma pequena instância Linux para esse fim em um t1.micro cuja única função é iniciar os instantâneos para os hosts do Windows. O script pode ser colocado no host linux como um trabalho cron para ser executado diariamente na hora que você escolher.
O primeiro link é um exemplo de script que de um host do Windows e pode ser facilmente automatizado com Tarefas agendadas no Windows.
Eu não usei o aplicativo que você vinculou no seu segundo link.
fonte
Os recursos atuais do EBS Snapshot para instâncias do Windows são explicados aqui: http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-creating-snapshot.html
Para obter um instantâneo consistente, é necessário pausar as gravações no volume tempo suficiente para que o instantâneo seja concluído. Normalmente, isso significa que você precisa desmontar o volume. O documento da AWS não discute como fazer isso via linha de comando no Windows, mas você pode descobrir sobre isso neste segmento de superusuário: /superuser/704870/mount-and-dismount-hard-drive-through -a-script-software
Para obter uma captura instantânea do volume de inicialização do sistema, é necessário parar sua instância.
Espero que ajude.
fonte
Sei que essa é uma pergunta antiga, mas vou compartilhar nossa solução.
Usamos um serviço chamado Ylastic . O plano Pro (US $ 50 / mês) inclui agendamento de snapshots do EBS, sem limitar o número de servidores ou discos. Ele também removerá backups mais antigos, se você desejar. Você pode criar várias agendas (por exemplo, diariamente, semanalmente etc.), cada uma com suas próprias políticas de retenção.
A interface também permite criar novas instâncias a partir de backups.
Ele trabalhou de forma confiável para nós por anos, com cerca de vinte instâncias e quarenta volumes EBS. Provavelmente existem métodos mais baratos, mas o preço é baixo o suficiente para não termos nos preocupado em construir e manter algo.
Consulte http://blog.ylastic.com/post/148519929496/multi-region-ebs-instance-backup-management para obter detalhes sobre esse recurso.
fonte