- tocdepth
2
Развертывание сайта в 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 — все предварительно настроено и готово к работе.
Параметры vApp
Параметр
Значение
Комментарий
Name
Web-Servers
Description
(Опционально) укажите описание vApp
Power on
Убедитесь, что параметр отключен
Далее необходимо присвоить сеть, а это нужно делать с выключенной VM
Virtual Machines
Нажмите ADD VIRTUAL MACHINE
Чтобы добавить в vApp машину, создайте ее из шаблона
Параметры VM
Параметр
Значение
Комментарий
Name
WS-1
Computer Name
Значение продублируется из поля Name
Description
(Опционально) укажите описание VM
Type
From Template
Templates
Nginx
Выберите шаблон приложения из списка
NICs
Оставьте таблицу незаполненной
Шаг 3. Создание Routed-сети
Пока веб-сервер создается, создайте маршрутизируемую (Routed) сеть и настройте в ней DHCP Pool.
Создайте Routed-сеть для подключения веб-сервера к Edge Gateway.
Параметры Routed-сети
Параметр
Значение
Комментарий
Scope
Current Organization Virtual Data Center
Сеть планируется использовать исключительно для виртуальных машин в текущем виртуальном ЦОД
Network Type
Routed
Сеть должна иметь возможность подключения к Edge Gateway (маршрутизируемая)
Edge Connection
Выберите Edge Gateway, к которой необходимо подключить сеть
Name
Network-WS
Gateway CIDR
192.168.0.1/24
Укажите адрес шлюза по умолчанию. Обычно выбирается первый IP в подсети
a.a.a.1/24
, но можно использовать другой, напримерa.a.a.254/24
Static IP Pools
Можно не указывать, потому что для веб-сервера планируется брать адреса из DHCP-pool
Primary DNS
8.8.8.8
Определите DHCP Pool в настройках Routed-сети, чтобы веб-сервер мог получать IP-адрес по протоколу DHCP.
Параметры DHCP Pool
Параметр
Значение
Комментарий
IP Pool
192.168.0.2-192.168.0.2
В нашем примере используется всего одна VM с IP 192.168.0.2. Поскольку необходимо указать пул, а не один IP, используйте следующий формат записи
a.a.a.a-a.a.a.a
.Вы также можете сразу указать пул адресов, например 192.168.0.2-192.168.0.50. В этом случае учитывайте, что для остальных IP-адресов из пула также необходимо настроить правила Firewall и NAT, что описывается далее
Шаг 4. Назначение Routed-сети веб-серверу
Чтобы назначить веб-серверу созданную Routed-сеть, подключите ее к vApp, а затем к VM. Проверьте получение IP-адреса через консоль веб-сервера.
Убедитесь, что vApp «Web-Servers» и VM «WS-1» выключены, т. е. в статусе «Powered Off».
(Если нет) В карточке vApp нажмите
.Назначьте Routed-сеть vApp «Web-Servers».
Назначьте Routed-сеть VM «WS-1»:
Параметры назначения
Параметр
Значение
Комментарий
Primary NIC
Оставьте по умолчанию
Connected
Поставьте флаг
Adapter Type
Оставьте по умолчанию
Network
Network-WS
Выберите созданную Routed-сеть
IP Mode
DHCP
IP-адрес будет выбран из настроенного в сети DHCP Pool
IP
В режиме «DHCP» IP-адрес указывать не нужно
В карточке vApp нажмите
.Откройте консоль VM и авторизуйтесь в системе. Логин и пароль по умолчанию отображаются в консоли виртуальной машины.
Убедитесь, что VM получила IP-адрес 192.168.0.2 по DHCP. Чтобы это проверить, выполните в консоли:
ip addr
Если VM не получила IP-адрес, перезапустите ее. В карточке vApp нажмите
, затем .
Шаг 5. Настройка сервисов Edge Gateway (Firewall и NAT)
Настройте правила Firewall и NAT, обеспечивающие прохождение трафика North-South между веб-сервером и интернетом.
Подсказка
Перед настройкой скопируйте внешний IP-адрес, он понадобится далее. См. Где указан внешний IP-адрес виртуального ЦОД?
Создайте IP Set, которые понадобятся при создании правил Firewall.
IP Set для внешнего IP-адреса.
Параметры IP Set
Параметр
Значение
Комментарий
Name
x.x.x.x
В названии укажите внешний IP-адрес — это упрощает поиск IP Set при создании правил Firewall
Description
(Опционально) укажите описание IP Set
IP Addresses
x.x.x.x
Укажите внешний IP-адрес
Создайте IP Set для Routed-cети.
Параметры IP Set
Параметр
Значение
Комментарий
Name
192.168.0.0/24
В названии укажите Routed-сеть — это упрощает поиск IP Set при создании правил Firewall
Description
(Опционально) укажите описание IP Set
IP Addresses
192.168.0.0/24
Укажите Routed-сеть в формате
a.a.a.0/24
с. Создайте IP Set для веб-сервера.
Параметры IP Set
Параметр
Значение
Комментарий
Name
192.168.0.2
В названии укажите IP-адрес веб-сервера — это упрощает поиск IP Set при создании правил Firewall
Description
(Опционально) укажите описание IP Set
IP Addresses
192.168.0.2
Укажите IP-адрес веб-сервера
Создайте правила Firewall для управления входящим и исходящим трафиком Edge Gateway.
Рекомендуем выбирать короткие и понятные названия правил, чтобы в будущем быстро понимать их суть. Это особенно важно, если правил Firewall много, или если настройкой сервисов Edge Gateway занимаются несколько сотрудников.
Создайте правило, пропускающее трафик из Routed-сети в интернет:
Параметры правила Firewall
Параметр
Значение
Комментарий
Name
ws-to-internet
Category
User defined
State
Enabled
Applications
Оставьте по умолчанию
Source
192.168.0.0/24
Выберите IP Set для Routed-cети
Destination
Any
Action
Allow
IP Protocol
IPv4
Logging
Disabled
Правило для работы с веб-сервером по SSH:
Параметры правила Firewall
Параметр
Значение
Комментарий
Name
ssh-to-ws
Category
User defined
State
Enabled
Applications
Name SSH
Protocol TCP
Port 22
Source
Any
Destination
192.168.0.2
Выберите IP Set для веб-сервера
Action
Allow
IP Protocol
IPv4
Logging
Disabled
Правило для доступа к веб-серверу из браузера по протоколу HTTP:
Параметры правила Firewall
Параметр
Значение
Комментарий
Name
http-to-ws
Category
User defined
State
Enabled
Applications
Name HTTP
Protocol TCP
Port 80
Source
Ваш IP-адрес
Узнайте свой адрес с помощью веб-сервисов WHOAMI. После переподключения адрес может измениться и его потребуется узнать и прописать заново.
Destination
192.168.0.2
Выберите IP Set для веб-сервера
Action
Allow
IP Protocol
IPv4
Logging
Disabled
Создайте правила SNAT и DNAT для сетевой связности с внешней сетью.
Создайте SNAT-правило для трансляции трафика из Routed-сети на внешний IP.
Параметры правила SNAT
Параметр
Значение
Комментарий
Name
ws-to-internet
Description
Interface Type
SNAT
External IP
x.x.x.x
Укажите внешний IP-адрес
Internal IP
192.168.0.0/24
Укажите Routed-сеть в формате
a.a.a.0/24
Destination IP
IP-адрес и порт можно не указывать, так как правило должно работать для всего трафика из Routed-сети
State
Enabled
Logging
Disabled
Priority
Оставьте по умолчанию. При возникновении конфликтов в правилах NAT можно изменить приоритет правила. Меньшее число означает более высокий приоритет
Firewall Match
Match Internal Address
Оставьте по умолчанию
Создайте DNAT-правило для доступа к веб-серверу по SSH.
Параметры правила DNAT
Параметр
Значение
Комментарий
Name
shh-to-ws
Description
Interface Type
DNAT
External IP
x.x.x.x
Укажите внешний IP-адрес
External Port
2222
В целях безопасности не открывайте 22 порт во внешнюю сеть
Internal IP
192.168.0.2
Укажите IP-адрес веб-сервера
Application
Name SSH
Protocol TCP
Port 22
22 — стандартный порт для SSH-подключений
State
Enabled
Logging
Disabled
Priority
Оставьте по умолчанию. При возникновении конфликтов в правилах NAT можно изменить приоритет правила. Меньшее число означает более высокий приоритет
Firewall Match
Match Internal Address
Оставьте по умолчанию
Создайте DNAT-правило для трансляции HTTP-трафика со внешнего IP-адреса на веб-сервер.
Параметры правила DNAT
Параметр
Значение
Комментарий
Name
http-to-ws
Description
Interface Type
DNAT
External IP
x.x.x.x
Укажите внешний IP-адрес
Application
Name HTTP
Protocol TCP
Port 80
Internal IP
192.168.0.2
Укажите IP-адрес веб-сервера
State
Enabled
Logging
Disabled
Priority
Оставьте по умолчанию. При возникновении конфликтов в правилах NAT можно изменить приоритет правила. Меньшее число означает более высокий приоритет
Firewall Match
Match Internal Address
Оставьте по умолчанию
Шаг 6. Настройка SSH-сервера
Выполните этот шаг, если используете готовые приложения для бизнеса. Если вы используете собственные шаблоны ova/ovf, рекомендуем убедиться в корректности настроек SSH-сервера на веб-сервере. При попытке SSH-подключения может возникать ошибка «Connection refused».
В готовых приложениях для бизнеса по умолчанию отключен SSH-сервер и аутентификация по паролю. Отредактируйте конфигурационный файл и перезапустите службу SSH:
Откройте консоль VM и авторизуйтесь в системе. Логин и пароль по умолчанию отображаются в консоли виртуальной машины.
Откройте файл конфигурации SSH в текстовом редакторе:
sudo vi /etc/ssh/sshd_config
Нажмите клавишу Insert, чтобы перейти в режим редактирования.
Раскомментируйте или добавьте строку:
PasswordAuthentication yes
Измените параметр «PermitRootLogin» с «no» на «yes»:
PermitRootLogin yes
Нажмите клавишу Esc, чтобы выйти из режима редактирования.
Нажмите ZZ, чтобы сохранить файл.
Перезапустите службу SSH, чтобы изменения вступили в силу:
systemctl restart sshd
Шаг 7. Проверка доступа к веб-серверу
-
Параметры для проверки
Параметр
Значение
Комментарий
Host Name (or IP address)
x.x.x.x
Укажите внешний IP-адрес виртуального ЦОД
Port
2222
Укажите порт из правила DNAT для SSH-подключений. В примере использован
2222
, у вас может быть другой Введите внешний IP-адрес виртуально ЦОД в браузере. Если все настроено правильно, отобразится стартовая страница веб-сервера. Для готовых приложений для бизнеса появится страница с надписью «Congratulations!».
Если доступ не появляется:
Убедитесь, что VM подключена к Routed-сети и получила адрес по DHCP.
Проверьте корректность правил Firewall и NAT.
Убедитесь что SSH-сервер на VM включен и корректно настроен.
Шаг 8. Создание базы данных
Создайте базу данных, которая будет подключаться к веб-серверу по внутренней Isolated-сети. Если для создания веб-сервера вы использовали шаблон Nginx, в нем уже есть MySQL в составе LEMP-стека — можно использовать его.
Новая виртуальная машина создается с целью продемонстрировать безопасную конфигурацию, в которой доступ к базе данных из внешней сети можно получить только через SSH-подключение к веб-серверу.
Создайте vApp «Database Servers» c виртуальной машиной «DB-1» из заранее настроенного шаблона базы данных. В примере использован шаблон MYSQL.
Параметры vApp
Параметр
Значение
Комментарий
Name
Database Servers
Description
(Опционально) укажите описание vApp
Power on
Убедитесь, что параметр отключен
Далее необходимо присвоить сеть, а это нужно делать с выключенной VM
Virtual Machines
Нажмите ADD VIRTUAL MACHINE
Чтобы добавить в vApp машину, создайте ее из шаблона
Параметры VM
Параметр
Значение
Комментарий
Name
DB-1
Computer Name
Значение продублируется из поля Name
Description
(Опционально) укажите описание VM
Type
From Template
Templates
MYSQL
Выберите шаблон приложения из списка
NICs
Оставьте таблицу незаполненной
Шаг 9. Создание Isolated-сети
Создайте Isolated-сеть для подключения базы данных к веб-серверу.
Параметры Isolated-сети
Параметр
Значение
Комментарий
Scope
Current Organization Virtual Data Center
Сеть планируется использовать исключительно для виртуальных машин в текущем виртуальном ЦОД
Network Type
Isolated
В целях безопасности сеть для базы данных не должна подключается к Edge Gateway
Name
Network-DB
Gateway CIDR
172.16.0.1/24
Укажите адрес шлюза по умолчанию для сети. Обычно выбирается первый IP в подсети
a.a.a.1/24
, но можно использовать другой, напримерa.a.a.254/24
Static IP Pools
Можно не указывать пул статических адресов, потому что IP-адрес для базы данных планируется присваивать вручную
Primary DNS
DNS в данном случае можно не указывать
Шаг 10. Назначение Isolated-сети базе данных
Убедитесь, что vApp «Database Servers» с VM «DB-1» выключены. (Если нет) В карточке vApp нажмите
.Назначьте Isolated-сеть vApp «Database Servers».
Назначьте Isolated-сеть VM «DB-1»:
Параметры назначения
Параметр
Значение
Комментарий
Primary NIC
Оставьте по умолчанию
Connected
Поставьте флаг
Adapter Type
Оставьте по умолчанию
Network
Network-DB
Выберите созданную Isolated-cеть
IP Mode
Static-Manual
Для базы данных используется статический адрес, который необходимо ввести вручную
IP
172.16.0.3
Укажите IP-адрес из Isolated-cети, который необходимо присвоить базе данных
В карточке vApp нажмите
.Откройте консоль VM и авторизуйтесь в системе. Логин и пароль по умолчанию отображаются в консоли виртуальной машины.
Убедитесь, что 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.
Параметры назначения
Параметр
Значение
Комментарий
Primary NIC
По умолчанию будет выбрана Routed-сеть, а чекбокс Isolated-сети останется незаполненным. Не меняйте эту настройку
Connected
Поставьте флаг
Adapter Type
Оставьте по умолчанию
Network
Network-DB
Выберите созданную Isolated-сеть
IP Mode
Static-Manual
Для веб-сервера используется статический адрес, который необходимо ввести вручную
IP
172.16.0.2
Укажите IP-адрес из Isolated-сети, который необходимо присвоить веб-серверу
У веб-сервера появляется два виртуальных адаптера, он подключен к сетям:
Routed — для передачи страниц и другого контента;
Isolated — для обмена трафиком исключительно с базой данных.
После сохранения настроек запустите веб-сервер. В карточке vApp нажмите
.Шаг 12. Проверка доступа к базе данных
Подключитесь по SSH к веб-серверу или откройте сессию, созданную на предыдущих шагах. Проверьте доступ к базе данных:
ping 172.16.0.3
В такой конфигурации Isolated-сеть может обмениваться данными только с Routed-сетью через веб-сервер, а база данных не имеет прямого доступа к внешним сетям.
для Dev & Test