У меня есть веб-сайт, размещенный на aws EC2. Нужны ли мне резервные копии на случай сбоя экземпляра или на стороне Amazon уже достаточно избыточности?
Вам обязательно понадобится резервная копия! При запуске не замужем Экземпляр EC2 для размещения веб-сервера, и этот экземпляр EC2 выйдет из строя, ваши данные исчезнут. Есть нет автоматических резервных копий если вы просто запустите экземпляр EC2 без дальнейшей настройки (т.е. сделаете корневой том томом EBS).
Экземпляры EC2 жестяная банка терпят неудачу, и это должно быть частью вашей архитектурной концепции. Обычно AWS объявляет об этом до того, как AWS планируется списать, однако я видел, как экземпляры выходили из строя без какого-либо предупреждения. Я рекомендую рассматривать их как эфемерные и предполагать, что они могут потерпеть неудачу в любой момент.
Из документации AWS:
Экземпляр планируется вывести из эксплуатации, когда AWS обнаружит непоправимый отказ основного оборудования, на котором размещен экземпляр. Когда для инстанса наступает запланированная дата вывода из эксплуатации, он останавливается или прекращается AWS. Если корневое устройство вашего экземпляра представляет собой том Amazon EBS, экземпляр останавливается, и вы можете запустить его снова в любое время. Запуск остановленного экземпляра переносит его на новое оборудование. Если корневое устройство вашего экземпляра является томом хранилища экземпляров, экземпляр прерывается и не может использоваться снова.
Из https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-retirement.html
Также:
- Регулярно создавайте резервные копии томов EBS с помощью снимков состояния Amazon EBS и создавайте образ машины Amazon (AMI) из своего экземпляра, чтобы сохранить конфигурацию в качестве шаблона для запуска будущих экземпляров.
- Разверните критически важные компоненты приложения в нескольких зонах доступности и соответствующим образом реплицируйте данные.
- Регулярно тестируйте процесс восстановления ваших инстансов и томов Amazon EBS в случае их сбоя.
Из https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-best-practices.html, раздел Резервное копирование и восстановление
Поэтому в зависимости от времени безотказной работы, которого вы пытаетесь достичь, может быть целесообразно запускать не один экземпляр EC2, а несколько и добавлять их в балансировщик нагрузки. На основе проверки работоспособности, которую вы можете настроить, она автоматически позаботится о замене неисправных экземпляров.
Вы также можете рассмотреть возможность размещения своего сайта на AWS Elastic Beanstalk, который может позаботиться о настройке необходимой инфраструктуры.
Вам нужно подумать, для чего нужны резервные копии. Даже если у вас есть высоконадежный веб-сервер, развернутый в разных зонах доступности, что произойдет, если ваши данные или диск будут повреждены? Вы должен иметь резервную копию, чтобы защитить себя от таких случаев.
Amazon не утверждает, что инстансы EC2 каким-либо образом устойчивы, но они предоставляют материалы о том, как построить отказоустойчивую среду с использованием двух или более инстансов.
Ресурсы по созданию отказоустойчивой среды можно найти по адресу https://aws.amazon.com/architecture/
Актуальное (2020 г.) руководство по EC2 на https://www.logicata.com/blog/aws-ec2-everything-you-need-to-know-about-ec2-instances/