Развертывание сайта в VMware Cloud Director

Один из сценариев работы в виртуальной инфраструктуре — развертывание сайта. В этом разделе рассмотрим, как сделать это с помощью VMware Cloud Director, и на конкретном примере разберем все шаги развертывания и особенности настройки.

Кому будет полезно

Инструкция будет полезна, если:

  • Вы не работали с VMware Cloud Director и хотите узнать о его основных возможностях.

  • Вы хотите рассмотреть настройку сервисов Edge Gateway на примере конкретной задачи.

  • Вы еще не работали с готовыми приложениями для бизнеса, но хотите начать использовать их.

Что есть в инструкции
  • Развертывание сайта, состоящего из следующих VM:

    • веб-сервер — передает статические и динамические страницы клиентам;

    • база данных — хранит и обрабатывает поступающую в нее информацию.

    Для создания VM используются шаблоны приложений для бизнеса: веб-сервер Nginx и база данных MySQL.

  • Создание сетей для обмена трафиком внутри виртуального ЦОД.

  • Настройка доступа к веб-серверу по протоколу HTTP из браузера, а также возможности подключиться по протоколу SSH.

  • Подключение базы данных к веб-серверу и размещение данной VM в изолированной сети в целях безопасности.

IP-ареса и топология в примере использованы для демонстрации. В работе вы можете использовать собственные структуры, которые подходят под ваши задачи.

Чего нет в инструкции

Настройка серверов внутри гостевой ОС не рассматривается.

Что необходимо для настройки

В инструкции описана настройка с нуля, без предварительно настроенных сетей и сервисов Edge Gateway. Чтобы повторить рекомендации на этой странице достаточно наличие виртуального ЦОД, внешнего IP-адреса и доступа к готовым приложениям для бизнеса, если вы планируете их использовать.

Шаг 1. Проверка наличия шаблонов серверов

Вы можете использовать:

  • Собственные шаблоны приложений в формате ova/ovf — перед началом работы загрузите их в каталог.

  • Готовые приложения для бизнеса — перед началом работы убедитесь, что необходимые шаблоны есть в списке шаблонов.

Шаг 2. Создание веб-сервера

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

С этой же целью сделаем выделение IP-адреса по DHCP. При добавлении новых веб-серверов не нужно будет каждый раз вручную назначать IP-адреса.

Создайте vApp «Web-Servers» c VM «WS-1» из заранее настроенного шаблона веб-сервера. В примере использован шаблон Nginx с предустановленным LEMP-стеком: Linux, Nginx, MySQL и PHP — все предварительно настроено и готово к работе.

Шаг 3. Создание Routed-сети

Пока веб-сервер создается, создайте маршрутизируемую (Routed) сеть и настройте в ней DHCP Pool.

  1. Создайте Routed-сеть для подключения веб-сервера к Edge Gateway.

  2. Определите DHCP Pool в настройках Routed-сети, чтобы веб-сервер мог получать IP-адрес по протоколу DHCP.

Шаг 4. Назначение Routed-сети веб-серверу

Чтобы назначить веб-серверу созданную Routed-сеть, подключите ее к vApp, а затем к VM. Проверьте получение IP-адреса через консоль веб-сервера.

  1. Убедитесь, что vApp «Web-Servers» и VM «WS-1» выключены, т. е. в статусе «Powered Off».

    (Если нет) В карточке vApp нажмите ACTIONS → Power → Power Off.

  2. Назначьте Routed-сеть vApp «Web-Servers».

  3. Назначьте Routed-сеть VM «WS-1»:

  4. В карточке vApp нажмите ACTIONS → Power → Start.

  5. Откройте консоль VM и авторизуйтесь в системе. Логин и пароль по умолчанию отображаются в консоли виртуальной машины.

  6. Убедитесь, что VM получила IP-адрес 192.168.0.2 по DHCP. Чтобы это проверить, выполните в консоли:

    ip addr

    Если VM не получила IP-адрес, перезапустите ее. В карточке vApp нажмите ACTIONS → Power → Power Off, затем ACTIONS → Power → Power On.

Шаг 5. Настройка сервисов Edge Gateway (Firewall и NAT)

Настройте правила Firewall и NAT, обеспечивающие прохождение трафика North-South между веб-сервером и интернетом.

Подсказка

Перед настройкой скопируйте внешний IP-адрес, он понадобится далее. См. Где указан внешний IP-адрес виртуального ЦОД?

  1. Создайте IP Set, которые понадобятся при создании правил Firewall.

    1. IP Set для внешнего IP-адреса.

    2. Создайте IP Set для Routed-cети.

    с. Создайте IP Set для веб-сервера.

  2. Создайте правила Firewall для управления входящим и исходящим трафиком Edge Gateway.

    Рекомендуем выбирать короткие и понятные названия правил, чтобы в будущем быстро понимать их суть. Это особенно важно, если правил Firewall много, или если настройкой сервисов Edge Gateway занимаются несколько сотрудников.

    1. Создайте правило, пропускающее трафик из Routed-сети в интернет:

    2. Правило для работы с веб-сервером по SSH:

    3. Правило для доступа к веб-серверу из браузера по протоколу HTTP:

  3. Создайте правила SNAT и DNAT для сетевой связности с внешней сетью.

    1. Создайте SNAT-правило для трансляции трафика из Routed-сети на внешний IP.

    2. Создайте DNAT-правило для доступа к веб-серверу по SSH.

    3. Создайте DNAT-правило для трансляции HTTP-трафика со внешнего IP-адреса на веб-сервер.

Шаг 6. Настройка SSH-сервера

Выполните этот шаг, если используете готовые приложения для бизнеса. Если вы используете собственные шаблоны ova/ovf, рекомендуем убедиться в корректности настроек SSH-сервера на веб-сервере. При попытке SSH-подключения может возникать ошибка «Connection refused».

В готовых приложениях для бизнеса по умолчанию отключен SSH-сервер и аутентификация по паролю. Отредактируйте конфигурационный файл и перезапустите службу SSH:

  1. Откройте консоль VM и авторизуйтесь в системе. Логин и пароль по умолчанию отображаются в консоли виртуальной машины.

  2. Откройте файл конфигурации SSH в текстовом редакторе:

    sudo vi /etc/ssh/sshd_config
  3. Нажмите клавишу Insert, чтобы перейти в режим редактирования.

  4. Раскомментируйте или добавьте строку:

    PasswordAuthentication yes
  5. Измените параметр «PermitRootLogin» с «no» на «yes»:

    PermitRootLogin yes
  6. Нажмите клавишу Esc, чтобы выйти из режима редактирования.

  7. Нажмите ZZ, чтобы сохранить файл.

  8. Перезапустите службу SSH, чтобы изменения вступили в силу:

    systemctl restart sshd

Шаг 7. Проверка доступа к веб-серверу

  1. Проверьте подключение по SSH.

  2. Введите внешний IP-адрес виртуально ЦОД в браузере. Если все настроено правильно, отобразится стартовая страница веб-сервера. Для готовых приложений для бизнеса появится страница с надписью «Congratulations!».

Если доступ не появляется:

  • Убедитесь, что VM подключена к Routed-сети и получила адрес по DHCP.

  • Проверьте корректность правил Firewall и NAT.

  • Убедитесь что SSH-сервер на VM включен и корректно настроен.

Шаг 8. Создание базы данных

Создайте базу данных, которая будет подключаться к веб-серверу по внутренней Isolated-сети. Если для создания веб-сервера вы использовали шаблон Nginx, в нем уже есть MySQL в составе LEMP-стека — можно использовать его.

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

Создайте vApp «Database Servers» c виртуальной машиной «DB-1» из заранее настроенного шаблона базы данных. В примере использован шаблон MYSQL.

Шаг 9. Создание Isolated-сети

Создайте Isolated-сеть для подключения базы данных к веб-серверу.

Шаг 10. Назначение Isolated-сети базе данных

  1. Убедитесь, что vApp «Database Servers» с VM «DB-1» выключены. (Если нет) В карточке vApp нажмите ACTIONS → Power → Power Off.

  2. Назначьте Isolated-сеть vApp «Database Servers».

  3. Назначьте Isolated-сеть VM «DB-1»:

  4. В карточке vApp нажмите ACTIONS → Power → Start.

  5. Откройте консоль VM и авторизуйтесь в системе. Логин и пароль по умолчанию отображаются в консоли виртуальной машины.

  6. Убедитесь, что VM получила IP-адрес 172.16.0.3. Чтобы это проверить, выполните в консоли:

    ip addr

    Если VM не получила IP-адрес, перезапустите ее.

Шаг 11. Назначение Isolated-сети веб-серверу

Повторите описанную выше процедуру назначения Isolated-сети для vApp «Web-Servers» и VM «WS-1». В случае с веб-сервером машине добавляется второй сетевой адаптер (NIC). Настройка отличается в IP-адресе: веб-серверу необходимо присвоить 172.16.0.2.

У веб-сервера появляется два виртуальных адаптера, он подключен к сетям:

  • Routed — для передачи страниц и другого контента;

  • Isolated — для обмена трафиком исключительно с базой данных.

После сохранения настроек запустите веб-сервер. В карточке vApp нажмите ACTIONS → Power → Start.

Шаг 12. Проверка доступа к базе данных

Подключитесь по SSH к веб-серверу или откройте сессию, созданную на предыдущих шагах. Проверьте доступ к базе данных:

ping 172 .16.0.3

В такой конфигурации Isolated-сеть может обмениваться данными только с Routed-сетью через веб-сервер, а база данных не имеет прямого доступа к внешним сетям.

Облако VMware