- tocdepth
2
Подготовка облачных ресурсов
В этом разделе описана настройка ресурсов в облаке:
Создание виртуальной сети VPC
Для дальнейшей работы нужно создать виртуальную сеть VPC и подсети.
Войдите в консоль управления Advanced:
Чтобы открыть список сервисов, нажмите Service List.
Выберите
.В правом верхнем углу экрана нажмите Create VPC.
Name — укажите название создаваемой виртуальной сети.
IPv4 CIDR Block — адресное пространство сети. В этой лабораторной работе указано «10.10.0.0/22».
Enterprise project — укажите проект или оставьте по умолчанию «default».
В разделе подсетей нажмите Add Subnet, чтобы добавить еще одну подсеть. Всего их получится две:
Подсеть для сервера, на котором будет запускаться тестовое приложение (front).
Подсеть для сервера, на котором будет запускаться SupaBase (back).
Нажмите Create Now.
Создание внешнего IP-адреса
Войдите в консоль управления Advanced:
Чтобы открыть список сервисов, нажмите Service List.
Перейдите в раздел
.В правом верхнем углу нажмите Assign EIP.
Billed By — выберите Traffic. Тарификация будет происходить по затраченному траффику.
Bandwidth — выберите скорость полосы пропускания. Для лабораторной работы подойдет 5 Мбит.
Bandwidth Name — укажите название полосы пропускания.
Enterprise Project — укажите проект или оставьте по умолчанию «default».
Нажмите Create Now.
Создание NAT Gateway
Так как серверам понадобится выход в интернет, необходимо создать NAT Gateway.
Для этого:
Войдите в консоль управления Advanced:
Чтобы открыть список сервисов, нажмите Service List.
Выберите
.В правом верхнем углу нажмите Create Public NAT Gateway.
Укажите параметры:
Name — укажите название для NAT Gateway.
VPC — выберите созданную виртуальную сеть.
Subnet — укажите подсеть для бэкенд-сервера. В ней также будет находиться кластер Kubernetes.
Type — Small.
Enterprise Project — укажите проект или оставьте по умолчанию «default».
Нажмите Create Now.
Проверьте параметры и нажмите Submit.
В открывшемся окне нажмите Add Rule.
Нажмите Add SNAT rule и укажите параметры:
Scenario — выберите VPC.
Subnet — выберите Existing и ниже выберите подсеть, созданную для backend-сервера.
EIP — выберите созданный на предыдущем шаге IP-адрес.
Нажмите OK.
Добавьте еще одно SNAT-правило для подсети фронтенд-сервера по аналогии с предыдущим.
Теперь серверы будут иметь доступ в интернет, но доступ к ним из интернета будет закрыт.
Создание групп безопасности
Группы безопасности (Security Group) выполняют роль межсетевого экрана для ресурсов. Она позволяют указать, какие подключения разрешены к ресурсам.
Для создания группы безопасности серверов SupaBase:
Войдите в консоль управления Advanced:
Чтобы открыть список сервисов, нажмите Service List.
Выберите
.В левом меню выберите пункт
.В правом верхнем углу экрана нажмите Create Security Group.
Укажите параметры группы для backend-серверов:
Name — название группы.
Enterprise Project — укажите проект или оставьте по умолчанию «default».
Template — выберите Custom.
Нажмите OK.
Нажмите Manage Rule и перейдите на вкладку Inbound rules.
Нажмите Add Rule и создайте правило для порта:
Protocol & Port — TCP 3000.
Source — укажите 100.125.0.0/16 (это служебная сеть балансировщика нагрузки).
Нажмите Add rule и добавьте еще несколько правил:
Protocol
Port
Source
TCP
8000
100.125.0.0/16
TCP
8001
100.125.0.0/16
Сохраните результат, нажав OK.
Для создания группы безопасности для фронтенд-серверов приложения:
Войдите в консоль управления Advanced:
Чтобы открыть список сервисов, нажмите Service List.
Выберите
.В левом меню выберите пункт
.В правом верхнем углу экрана нажмите Create Security Group.
Укажите параметры группы для фронтенд-сервера:
Name — название группы.
Enterprise Project — укажите проект или оставьте по умолчанию «default».
Template — выберите General-purpose web server.
Нажмите OK.
Создание серверов SupaBase
Для дальнейшей работы нужно создать два сервера, на которых будет развернут Docker Swarm и запущен Supabase.
Войдите в консоль управления Advanced:
Чтобы открыть список сервисов, нажмите Service List.
Выберите
.Нажмите Create ECS.
Заполните параметры:
AZ — оставьте Random, так как в рамкой лабораторной работы это не принципиальный параметр.
Specifications — выберите любую виртуальную машину со спецификацией 2 vCPU и 4 ГиБ RAM.
Image — Ubuntu 20.04.
Нажмите Next: Configure Network и укажите параметры:
VPC — созданная ранее виртуальная сеть.
Subnet — подсеть, созданная для бэкенд-серверов SupaBase.
Security group — группа безопасности, созданная для серверов SupaBase.
EIP — Do not use.
В нижнем правом углу нажмите Next: Configure Advanced Settings и укажите параметры:
ECS Name — укажите название сервера.
Password и Confirm password — укажите пароль пользователя root.
Нажмите Next: Confirm, проверьте параметры и укажите:
Enterprise project — необходимый проект или default.
Create Quantity — 2 для создания двух виртуальных машин с выбранными характеристиками.
Нажмите Apply Now.
Создание сервера для приложений
Для создания сервера для тестового приложения:
Войдите в консоль управления Advanced:
Чтобы открыть список сервисов, нажмите Service List.
Выберите
.Нажмите Create ECS.
Заполните параметры:
AZ — оставьте Random, так как в рамкой лабораторной работы это не принципиальный параметр.
Specifications — выберите любую виртуальную машину со спецификацией 2 vCPU и 4 ГиБ RAM.
Image — Ubuntu 20.04.
Нажмите Next: Configure Network и укажите параметры:
VPC — созданная ранее виртуальная сеть.
Subnet — подсеть, созданная для фронтенд-серверов тестового приложения.
Security group — группа безопасности, созданная для фронтенд-сервера.
EIP — Do not use.
Нажмите Next: Configure Advanced Settings и укажите параметры:
ECS Name — укажите название сервера.
Password и Confirm password — укажите пароль пользователя root.
Нажмите Next: Confirm, проверьте параметры и укажите:
Enterprise project — выберите необходимый проект или default.
Нажмите Apply Now.
Монтирование файловой системы к серверам SupaBase
Действия по монтированию файловой системы нужно выполнить на каждом из бэкенд-серверов.
Войдите в консоль управления Advanced:
Чтобы открыть список сервисов, нажмите Service List.
Выберите
.Выберите первый бэкенд-сервер, созданный на шаге Создание серверов SupaBase и нажмите Remote login.
В консоли сервера введите:
Логин пользователя — root.
Пароль, который был указан при создании виртуальной машины
Нажмите Enter.
Выполните следующие команды. Для этого откройте командную строку, нажав в вверху экрана Paste & Send. Копируйте команды в консоль и нажимайте Send для отправки.
sudo apt-get install -y nfs-common mkdir /mnt/sfs_turbo
Нажмите Enter для выполнения команд.
Повторите все действия на втором бэкенд-сервере.
Создание Load Balancer
Так как SupaBase будет запущен на двух серверах, нужно создать балансировщик нагрузки (ELB) для публикации сервисов наружу:
Войдите в консоль управления Advanced:
Чтобы открыть список сервисов, нажмите Service List.
Выберите
.В правом верхнем углу нажмите Create Elastic Load Balancer.
Нажмите Create для Shared Load Balancer. Для лабораторной работы нет требований использовать выделенный балансировщик.
Укажите параметры:
VPC — виртуальная сеть, созданная ранее для backend-серверов Supabase.
Subnet — подсеть серверов SupaBase.
Name — название балансировщика.
Enterprise project — выберите необходимый проект или default.
Нажмите Create Now и затем Submit. Дождитесь создания балансировщика нагрузки.
Нажмите на его название.
В разделе Basic Information и скопируйте внешний IP-адрес в поле IP Address. Он понадобится для настройки SupaBase.
Подготовка сервисов завершена. Теперь перейдите к шагу развертывания SupaBase.
для Dev & Test