Бесплатная миграция IT-инфраструктуры в облако

Миграция из Azure в Timeweb Cloud

Роман Андреев
Роман Андреев
Технический писатель
30 октября 2024 г.
14
8 минут чтения
Средний рейтинг статьи: 5

Azure от Microsoft — один из лидеров рынка облачных услуг, предоставляющий широкий спектр услуг и инструментов для любого бизнеса. Однако, несмотря на обширные возможности Azure, российские компании сталкиваются с необходимостью переноса данных в другое облако из-за того, что Microsoft ограничивает свои функции для отечественного бизнеса. Это не слишком сложный, но достаточно трудоемкий процесс, который требует тщательного планирования. И мы рассмотрим ключевые аспекты переноса данных с Azure в наше облако.

Подготовка и создание принимающей инфраструктуры

Перед тем как приступить к переносу, обязательно создайте резервные копии всех данных и конфигураций, а также протестируйте процесс восстановления — это выручит вас, если что-то пойдет не так. После этого можно приступать к созданию принимающей инфраструктуры.

Здесь важно учесть, что окружение нового сервера должно быть таким же, как и на старом, установлено соответствующее ПО, в том числе для работы с базами данных. И Timeweb Cloud дает возможность гибко настроить принимающую инфраструктуру.

Зарегистрировавшись на Timeweb Cloud, перейдите в панель управления и выберите следующий пункт меню (выделен красной рамкой):

Image2

Теперь настраиваем параметры с учетом имеющихся на Azure:

  • Операционная система и ПО (обратите внимание на вкладку «Мои образы», где можно загрузить собственную ОС, которой нет в списке): 

Image3

  • Региональные установки:

Image5

  • Конфигурация. Здесь ориентируемся на имеющуюся конфигурацию на Azure и выбираем подходящие настройки. Если подходящего тарифа нет, то переключаемся на вкладку «Произвольная» и подбираем конфигурацию вручную.

Image12

  • Сеть. При создании сервера можно выбрать, выдавать ли серверу публичный IPv4. Он понадобится, если нужно обеспечить доступ к сервису из интернета. Также можно добавить сервер в приватную сеть, если требуется изолировать сетевую инфраструктуру от внешнего доступа.

Image10

  • Дополнительные опции для сохранности данных и безопасности (DDoS-защита доступна только в Москве и Санкт-Петербурге):

Image9

  • Авторизация. Процесс создания ключа SSH подробно описывается здесь.

Image6

  • Загрузка скриптов cloud-init. Подробнее о сценариях здесь.

Image11

  • Информация. Обратите внимание на опцию «Выбрать проект» — это удобный метод организации серверов по сервисам (проектам).

 Image8

Теперь проверяем настройки и жмем «Заказать». Сервер будет создан, а для дальнейшей работы нам понадобится IP и пароль. Поэтому для удобства можно сохранить их где-нибудь в текстовом виде, хотя их всегда можно найти и в личном кабинете.

cloud

Перенос данных

Итак, после настройки сервера-приемника приступаем к переносу файлов и директорий.

Чтобы получить доступ к созданному серверу Timeweb Cloud, вводим команду вида, заменяя IP-адрес на реальный: 

ssh root@IP-адрес

Те, у кого старые версии Windows (до Windows 10 1809), могут использовать утилиту PuTTY. В новые версии данной ОС уже встроен клиент OpenSSH. Через PuTTY можно получить доступ так:

Image4

После получения доступа вводим логин root и его пароль.

После успешного подключения ставим на новый сервер всё то, что у нас на сервере Azure.

Перенос выполняем через rsync (присутствует почти во всех ОС семейства Linux). Вот как она выглядит:

Image7

rsync незаменима для синхронизации данных, в том числе в пределах одного сервера. Если она не установлена, то вводим:

sudo apt install rsync

А для CentOS/RHEL:

yum install rsync

Далее ставим Screen. Эта утилита обеспечивает возможность непрерывного переключения между терминалами.

sudo apt install screen

Для Fedora и CentOS:

yum install screen 

Для подключения вводим: screen. Дальнейшие команды запускаем через Ctrl+a вместе с нажатием целевой клавиши. Вот основные команды Screen:

  • Ctrl+a+d - выйти из сессии
  • Ctrl+a+k - убить сессию
  • screen -ls - список сессий
  • screen -r <session_name>

Подробный перечень инструкций Screen смотрите на скриншоте (а еще есть наша инструкция и справка на GitHub).

Image1

Для копирования с Azure на Timeweb Cloud вводим:

rsync -a user1@source_server:/path/to/file /path/to/destination --log-file=mylog.log
  • --log-file=mylog.log — здесь указываем реальное значение нашего лога.
  • user1@source_server:/path/to/file — вместо user1 вводим логин с Azure, вместо source_server — IP сервера Azure, а /path/to/file заменяем на нужную директорию. А в user2@destination_server:/path/to/destination указываем значения для сервера-приемника (Timeweb Cloud).

К примеру, нам нужно выполнить перенос директории /myproject/mydir. Получится примерно такая команда (замените нули цифрами, соответствующими вашим реальным IP):

rsync -a azure_user@54.000.000.000:/myproject/mydir twc_user@185.00.00.000:/myproject/mydir --log-file=mylog.log

Вам может потребоваться настройка прав доступа, что можно сделать, изучив эту инструкцию. Протестировать перенос данных в «боевых условиях» вы можете на нашем тестовом домене, а уже затем перенести данные на рабочий.

Перенос баз данных

Перед тем, как выполнить перенос базы данных (далее БД), нужно провести ее аудит, то есть оценить размер, структуру и другие особенности. Далее осуществляется планирование, создается детальный план переноса, включая действия по резервному копированию и тестированию, просчитывается время простоя.

После этого создается резервная копия БД, которая проверяется на работоспособность после восстановления. В MySQL это делается так:

  • заходим в phpMyAdmin;
  • переходим на вкладку «Экспорт»;
  • выбираем формат загрузки (обычно SQL);
  • нажимаем «ОК».

Или можно это сделать через терминал с помощью следующей команды:

mysqldump --no-tablespaces -u'user' base -p'passwd' > dump_bd_name.sql

Если у вас PostgreSQL, то создать там резервную БД тоже несложно: нужно будет из командной строки запустить команду pg_dump, например:

pg_dump –U superuser –F c db > dump.dump

где вместо superuser ставим реальное имя суперпользователя, вместо db — имя нужной базы данных, а вместо dump.dump имя дамп-файла.

Теперь можно создавать новую БД на сервере-приемнике. В этой инструкции подробно освещаются все вопросы, связанные с переносом баз данных под управлением MySQL (о том, как создавать базы данных, читайте здесь), а в этой статье подробно рассказывается о том, как установить PostgreSQL. Также у нас есть услуга «База данных как сервис». Для этого в панели управления выберите пункт «Базы данных» и затем кликните на подходящий вариант:

Image13

Ниже выберите настройки, которые уже описывались в разделе «Подготовка и создание принимающей инфраструктуры». А с подключением и загрузкой дампа базы данных поможет привычный phpMyAdmin или же adminer — веб-интерфейс, который заменяет командную строку и поддерживает работу с MySQL и PostgreSQL. Adminer — быстрая и минималистичная альтернатива phpMyAdmin, а подробную информацию о нём можно получить на официальном сайте.

Также для загрузки данных через терминал непосредственно на удаленный сервер можно воспользоваться следующими командами в bash.

Для MySQL:

mysql -h <host> -P <port> -u <user> -p <database_name> < dump.sql

Для PostgreSQL:

psql -h <host> -p <port> -U <user> -d <database_name> -f dump.sql

Эти команды позволяют загружать дамп БД напрямую на удаленный сервер, минуя промежуточные шаги.

После переноса данных в созданную БД проверяется их целостность и корректность и обновляются конфигурации. А чтобы перенос БД прошел безболезненно, учитывайте возможные ограничения по скорости передачи данных между серверами. Для оптимальной работы сервер и DBaaS можно объединить в приватную сеть. Подробнее об этом читайте здесь (раздел «Приватные сети»).

Дальнейшие шаги

Завершение переноса — это не конец процесса миграции. Далее потребуется протестировать все перенесенные данные, приложения и сервисы в новом облаке и проверить их работоспособность и производительность. Добавим, что проблем с производительностью не возникнет, если подобрать правильную аппаратную конфигурацию на сервере-приемнике.

Для мониторинга производительности в облаке Azure используется собственное ПО — Azure Monitor. А на Timeweb Cloud можно использовать даже более функциональные инструменты. Например, такие, как Datadog, New Relic, Prometheus, Grafana, Elastic, которые поддерживают интеграции в том числе и с платформами контейнеризации приложений.

И после успешной проверки работоспособности и мониторинга производительности перенос данных можно считать завершенным. А на этом всё: читайте наши статьи по переносу данных и миграции с других облачных платформ.

Переносите свои проекты в облако<br>Timeweb Cloud

Чек-лист по переносу данных

1. Подготовка

  • Сделайте резервные копии всех данных и конфигураций.
  • Протестируйте процесс восстановления резервных копий.
  • Зарегистрируйтесь на Timeweb Cloud.

2. Настройка принимающей инфраструктуры

  • Настройте операционную систему и ПО так же, как это сделано на Azure.
  • Выберите региональные установки.
  • Настройте серверные параметры (при необходимости вручную).
  • Определите, нужен ли серверу публичный IPv4, добавьте сервер в приватную сеть для изоляции.
  • Создайте SSH-ключ для авторизации.

3. Перенос данных

  • Подключитесь к Timeweb Cloud через SSH.
  • Установите утилиты rsync и screen для удобного управления.
  • Выполните команду rsync для копирования данных с Azure на Timeweb Cloud.
  • Проверьте права доступа на файлы после переноса.

4. Перенос баз данных

  • Проведите аудит БД: размер, структура, планирование времени простоя.
  • Создайте резервную копию БД (через mysqldump или pg_dump).
  • Настройте новую БД на Timeweb Cloud.
  • Загрузите резервную копию на сервер Timeweb Cloud.
  • Проверьте целостность и корректность данных.

5. Завершение и тестирование

  • Протестируйте все приложения и сервисы на работоспособность.
  • Настройте мониторинг производительности (Datadog, New Relic, Prometheus и др.).

На этом проверку можно считать завершенной — перенос окончен.

Хотите внести свой вклад?
Участвуйте в нашей контент-программе за
вознаграждение или запросите нужную вам инструкцию
img-server
30 октября 2024 г.
14
8 минут чтения
Средний рейтинг статьи: 5
Пока нет комментариев