AWS (Amazon Web Services) — коммерческое публичное облако, запущенное компанией Amazon в 2006 году. AWS предлагает услуги по инфраструктуре (виртуальные серверы, ресурсы хранения), а также на уровне платформы: облачные базы данных, связующее программное обеспечение, бессерверные вычисления, средства разработки. Однако, в связи с ограничениями, налагаемых на российских пользователей западными ИТ-компаниями, всё больше пользователей задумываются о переезде на российские облачные серверы. Рассмотрим, как перенести данные на Timeweb Cloud с AWS.
cloud
После регистрации перейдите в панель управления и нажмите на «Облачный сервер» в меню «Общий проект» на вкладке «Сервисы»:
Далее выберите подходящие параметры сервера, соответствующие тем, которые у вас есть на AWS. А вот основные настройки:
ОС и ПО. Это может быть как чистая операционка, так и настроенная под определенные задачи ОС, либо собственный образ (для загрузки нажмите на пункт «Мои образы» и добавьте нужный образ):
Региональные настройки. Выберите регион расположения сервера и зону доступности (для Санкт-Петербурга):
Конфигурация. Настройте подходящий по конфигурации сервер для переезда с AWS, выбрав нужное количество ядер процессора, а также размер оперативной памяти и дискового пространства:
Сеть. Чтобы сервер мог выходить в интернет и получать запросы из интернета, у него должен быть внешний IPv4-адрес. Можно создать новый публичный IP или выбрать один из существующих на аккаунте, если вы заказывали публичные IP ранее. Здесь же можно добавить сервер в приватную сеть, если это требуется:
Дополнительные опции. Здесь вы можете подключить автоматические бэкапы и защиту от DDoS (доступна в Санкт-Петербурге и Москве):
Авторизация. Если у вас есть SSH-ключ, его можно загрузить здесь, нажав на кнопку «Загрузить новый ключ». А как его создать, мы подробно написали в данной статье.
Загрузка скриптов. Это нужно для автоматизации запуска сервера. Подробнее о сценариях здесь.
Информация. Задайте имя сервера, добавьте комментарий. Также вы можете ассоциировать сервер с имеющимся проектом.
Вот и всё, проверьте введенные данные, стоимость и нажмите на кнопку «Заказать» справа. После создания сервера запишите его IP-адрес и пароль (будут доступны в меню сервера) для доступа по SSH.
Прежде всего отметим, что мы будем описывать перенос данных (файлов и каталогов). Рабочее окружение (веб-сервер, база данных) уже должно быть настроено на том сервере, куда мы будем переносить данные.
Итак, чтобы получить доступ к новому серверу Timeweb Cloud с вашего локального компьютера, введите в терминале:
ssh root@ip-адрес
Так, если IP-адрес удаленного сервера — 123.45.67.89, то вводим:
ssh root@123.45.67.89
Теперь у вас будут права суперпользователя, что необходимо для выполнения дальнейших команд по переносу.
Если вы работаете под Windows, то проще всего получить доступ с помощью утилиты PuTTY. (В Windows 10 1809 и новее PuTTY уже не понадобится, так как там добавлена возможность подключения через встроенный клиент OpenSSH). Вот как выглядит интерфейс программы:
Как видим, всё достаточно просто и понятно. Попав на сервер, введите root
в качестве логина и пароль сервера, который вы записали. Если не записали, то вы найдете его в панели управления созданного сервера Timeweb Cloud.
При подключении через OpenSSH запустите Windows PowerShell и введите уже знакомую команду:
ssh root@ip-адрес
Замените ip-адрес
на реальный IP-адрес сервера (напомним, что найти его можно на дашборде сервера). Далее вводим пароль и устанавливаем необходимое ПО (то, которое у вас на сервере AWS).
Перенос данных проще всего выполнить через утилиту командной строки rsync
(она есть по умолчанию в большинстве сборок Linux). Посмотрите, как работает утилита:
rsync
поможет вам синхронизировать файлы и папки между серверами и даже между директориями на одном сервере. Она позволяет копировать только измененные части файлов, а потому отлично подойдет для высокоскоростного резервного копирования данных, обновления сайтов и для синхронизации между серверами и переноса данных. Чтобы установить rsync
, вводим:
apt install rsync
Для CentOS/RHEL команда будет выглядеть следующим образом:
yum install rsync
Далее стоит поставить еще одну полезную утилиту — Screen, которая помогает переключаться между терминалами так, что выполняемые процессы не прерывается. Также Screen обеспечивает удобное отслеживание процесса переноса данных. Устанавливается она так:
apt install screen
Для Fedora и CentOS команда будет следующей:
yum install screen
Для подключения к Screen вводим в терминале: screen
. Дальнейшие команды Screen запускаются комбинацией Ctrl+a вместе с нажатием нужной клавиши. Создаем новое окно так: Ctrl+a+c. Далее можно разделить окна горизонтально, нажав Ctrl+a+s, или вертикально — Ctrl+a+|. Переключение между окнами выполняется через Tab. Для отключения от сессии в Screen введите Ctrl+a+d. Полный список команд Screen доступен на скриншоте ниже. Также можно ознакомиться с документацией на GitHub.
Для выполнения процедуры копирования данных с сервера AWS на сервер Timeweb Cloud введите команду вида:
rsync -a user1@source_server:/path/to/file user2@destination_server:/path/to/destination --log-file=mylog.log
Здесь используется флаг -a
, который нужен для того, чтобы выполнить копирование только новых или измененных файлов.
--log-file=mylog.log
— это инструкция для логирования процесса переноса в файл журнала (укажите реальное значение для вашего лога).
user1@source_server:/path/to/file
— здесь вместо user1
вводим имя пользователя на сервере AWS, вместо source_server
— IP удаленного сервера (источника), а /path/to/file
заменяем на реальный путь к каталогу. Аналогичным образом в user2@destination_server:/path/to/destination
меняем значения и для сервера приема (Timeweb Cloud).
Допустим, нам нужно перенести каталог /home/Workdir
с сервера AWS на сервер Timeweb Cloud. В таком случае команда примет следующий вид (IP-адреса и имена пользователей приведены просто для примера, вам нужно будет заменить их на реальные):
rsync -a aws_user@54.234.123.456:/home/Workdir twc_user@185.71.66.123:/home/Workdir --log-file=mylog.log
Перенесите свои проекты в облако Timeweb Cloud
Теперь дождитесь окончания операции и при необходимости настройте права доступа (как это делается, смотрите здесь). А еще можно сначала запустить пробный перенос на тестовом домене, после чего перенести его уже на рабочий. На этом всё, ждем ваших комментариев и желаем успешного переезда!