Как перенести Amazon EC2 инстанс с одной зоны (Availability Zone) в другую

В каждом датацентре Amazon несколько зон (Availabilty Zone), каждая зона — это физически отделённый датацентр (разное питание, здание, подключение к интернету) от других, чтобы в случае падения одного, минимизировать влияние на другие.

Иногда нужно сделать перенос инстанса c одной зоны в другую. Например, я переносил свой сервер с us-east-1a на us-east-1b. Мне нужно было переносить сервер, т.к. я купил Reservation план для другой зоны, а планы резервации работают, только если зона сервера совпадает с зоной купленной резервации.

Шаги следующие:

1. Запускаем новый инстанс в нужной новой Availability зоне. Тут можно выбрать любой линукс и любой ключ доступа, логинится на него не будем, главное выбрать правильный тип сервера и правильную (новую) зону.

2. После запуска инстанса, сразу останавливаем его (щёлкаем правой кнопкой и выбираем Stop).

3. Идём в раздел Volumes, находим EBS диск принадлежащий запущенному новому серверу, отключаем его от сервера (Detach Volume в правом меню), и удаляем его (Delete Volume). он нам не нужен.

4. Делаем снапшот для EBS диска нужного для переноса сервера (В разделе Volumes, щелкаем правой кнопкой на нужном EBS диске и нажимаем Create Snapshot). Процесс создания снапшота можно смотреть в разделе Snapshot. У меня, для диска 30 гб, процесс занимает около пяти минут.

5. Создаём новый EBS диск в нужной зоне для нового сервера из сделанного свежего снапшота. (Щёлкаем правой мышкой по нужному снапшоту, выбираем Create Volume from Snapshot). Нужно выбрать новую нужную новую Availability Zone.

6. Останавливаем текущий EC2 инстанс, (Instances, щёлкаем правой кнопкой по нужному серверу и выбираем Stop).

7. Новый EBS диск, созданный в новой зоне, нужно приатачить к новому серверу. Для этого в разделе Volume, щёлкаем правой кнопкой по нужному диску, выбираем Attach Volume и в списке выбираем наш новый инстанс. Точку монтирования нужно поменять на /dev/sda1 — т.к. это основной диск.

8. Запускаем новый EC2 инстанс в новой зоне.

9. Aссоциируем с ним elastic ip адрес (если он есть). (В разделе Elastic IP нужный Ip через пункт Associate).

10. Удаляем старый EC2 сервер и старый EBS диск.

 

В итоге, за 5 минут простоя, получаем сервер в нужной зоне.