Турбуватися про резервне копіювання даних не потрібно, якщо ваш вебсайт розміщено на спільному хостингу, оскільки провайдери хостингу зазвичай самі дбають про створення резервних копій.
Проте, при переносі вашого хостингу на хмарні платформи, такі як Google Cloud або AWS, ви повинні самостійно подбати про деякі важливі аспекти.
Одним з таких аспектів є резервне копіювання!
Нещодавно я переніс techukraine.net на Google Cloud Platform і шукав просте рішення для резервного копіювання в один клік, але, на жаль, такого варіанту не знайшов.
Після дослідження питання, я зрозумів, що процес резервного копіювання тут дещо відрізняється, і це мені сподобалося. Перевага полягає в тому, що ви отримуєте повний контроль над резервним копіюванням.
Існує кілька рівнів резервного копіювання (програма, конфігурація, журнали тощо), і далі я розповім, як створити повну резервну копію віртуальної машини як вручну, так і автоматично.
У Google Cloud для створення резервних копій використовується термін “знімок” (snapshot).
Ось деякі переваги використання знімків:
- Можна робити знімки, коли диск підключено до віртуальної машини – не потрібні простої під час процесу резервного копіювання.
- Знімки зберігають лише відмінності, а не повну копію диска щоразу – це зменшує витрати на зберігання резервних копій і прискорює процес.
Створення знімків вручну за допомогою Google Cloud Console
У хмарній консолі Google є простий інструмент для створення знімків дисків.
- Увійдіть до Google Cloud та перейдіть до розділу “Диски” у Compute Engine.
- Клацніть на назву диска, підключеного до потрібного екземпляра, для якого ви хочете створити знімок.
- Натисніть кнопку “СТВОРИТИ ЗНІМОК”.
Введіть назву для знімка і натисніть “Створити”.
- Процес створення знімка займе певний час (залежно від розміру диска). Після завершення ви знайдете його в розділі знімків.
Це означає, що резервна копія диска вашої віртуальної машини створена. За потреби, ви можете використати цей знімок для відновлення або створення нової віртуальної машини з тим самим станом на момент резервного копіювання.
Автоматичне створення знімків за допомогою скриптів
Якщо ваша програма часто змінюється і ви хочете автоматизувати регулярне створення знімків, вам допоможе наступне рішення.
Я знайшов це рішення за посиланням: https://github.com/jacksegal/google-compute-snapshot
- Увійдіть до екземпляра, для якого ви хочете налаштувати автоматичне резервне копіювання.
- Створіть папку, де ви хочете зберегти файл скрипту.
- Завантажте файл скрипту.
wget https://github.com/jacksegal/google-compute-snapshot/blob/master/gcloud-snapshot.sh
- Надайте файлу дозвіл на виконання.
chmod 755 gcloud-snapshot.sh
- Перевірте, чи скрипт працює коректно, запустивши його вручну.
./gcloud-snapshot.sh
Після перевірки ручної роботи, налаштуйте crontab для періодичного запуску скрипта.
- Наступний приклад запускатиме скрипт щодня о 05:00.
0 5 * * * /opt/google-compute-snapshot/gcloud-snapshot.sh >> /var/log/cron/snapshot.log 2>&1
За замовчуванням скрипт зберігає знімки за останні сім днів. Щоб змінити цей період, відредагуйте файл скрипта та змініть значення OLDER_THAN=7.
Автоматичне створення знімків за допомогою Google Cloud Console
Нещодавно Google впровадив нові функції, які мені дуже подобаються. Тепер в GCP є можливість запланувати створення знімків дисків безпосередньо з консолі.
- Перейдіть до Compute Engine >> Snapshots
- Виберіть вкладку “Розклади знімків” і з’явиться спливаюче вікно. Натисніть “Створити розклад знімків”.
- Заповніть необхідну інформацію та натисніть “Створити”.
Розглянемо деякі доступні опції:
- Регіон – оберіть, де ви хочете зберігати знімки віртуальної машини (резервні копії).
- Частота розкладу – виберіть, як часто ви хочете створювати резервні копії: щодня, щотижня, щогодини.
- Час початку – коли потрібно створювати резервну копію? Вибирайте час з низьким навантаженням.
- Автоматичне видалення знімків після – скільки останніх знімків ви хочете зберігати в будь-який момент часу?
- Правило видалення – що має статися, якщо вихідний диск (VM) видалено?
Після створення розкладу ви побачите його у списку.
Це означає, що розклад знімків готовий до застосування до диска.
- Перейдіть до Compute Engine >> Disks.
- Оберіть диск, для якого ви хочете активувати розклад знімків.
- Натисніть “Редагувати” і виберіть створений розклад, як показано нижче.
І все готово!
Google Cloud робитиме знімки згідно з встановленим розкладом.
Як бачите, всього кілька хвилин налаштування резервного копіювання можуть стати вашим порятунком. Крім знімків, варто також увімкнути знімок екрана, який може допомогти вам відстежувати стан віртуальної машини.
Якщо ви хочете дізнатися більше, ознайомтеся з цим Сертифікаційним курсом GCP.
Вам сподобалася стаття? Поділіться нею зі світом!