У меня есть одноузловой экземпляр Cassandra EC2 (apache-cassandra-3.10), в котором я ежедневно делаю моментальные снимки (резервные копии) и загружаю их на AWS S3. Я также беру резервную копию полной «схемы» и «начальных токенов» и сохраняю ее на S3. Мне удалось создать сценарий оболочки Bash для задачи резервного копирования, который выполняет все вышеперечисленное за один запуск.
Но я не могу найти автоматический способ / сценарий для восстановления всей резервной копии на новом экземпляре.
Вы сами делаете снимки EBS или другой пользовательский снимок? Если вы не делаете снимки EBS, почему бы и нет?
Снимки EBS легко превратить в рабочий сервер. Это самый простой и практичный ответ на ваш вопрос. Обратной стороной этого является то, что если том записывается, когда вы делаете снимок, это может быть несовместимо. Если вы можете запланировать это и сбросить / приостановить приложение хотя бы на секунду, пока запускается моментальный снимок, сервер может возобновить работу во время создания моментального снимка. Вам нужно будет посмотреть, как это сделать с Кассандрой.
Я не утруждаю себя сбросом / остановкой моего сервера для создания снимков, но я не использую ничего критически важного. У меня также есть резервные копии на уровне приложений и RTO / RPO, что означает, что при необходимости я могу восстановить вручную из моментального снимка.
В качестве альтернативы вы можете создать сценарий VPC, сервера (ов) из настраиваемого AMI, который включает ваше программное обеспечение, и установить свои данные из резервной копии на уровне приложения с помощью CloudFormation, но это выходит за рамки ответа - вам нужно изучить CloudFormation.