- tocdepth
2
Подготовка облачных ресурсов
В этом разделе описана настройка ресурсов в облаке:
Создание виртуальной сети VPC
Для дальнейшей работы нужно создать виртуальную сеть VPC и подсети.
Войдите в консоль управления Advanced:
В списке сервисов выберите Virtual Private Cloud.
В правом верхнем углу экрана нажмите Create VPC.
Name — укажите название создаваемой виртуальной сети.
IPv4 CIDR Block — адресное пространство сети. В этой лабораторной работе указано «10.10.0.0/22».
Enterprise project — укажите проект или оставьте по умолчанию «default».
В разделе подсетей нажмите Add Subnet, чтобы добавить еще одну подсеть. Всего их получится две:
Подсеть для сервера, на котором будет запускаться тестовое приложение (front).
Подсеть для сервера, на котором будет запускаться SupaBase (back).
Нажмите Create Now.
Создание внешнего IP-адреса
Войдите в консоль управления Advanced:
В списке сервисов выберите Elastic IP.
В правом верхнем углу нажмите Assign EIP.
Billed By — выберите Traffic. Тарификация будет происходить по затраченному траффику.
Bandwidth — выберите скорость полосы пропускания. Для лабораторной работы подойдет 5 Мбит.
Bandwidth Name — укажите название полосы пропускания.
Enterprise Project — укажите проект или оставьте по умолчанию «default».
Нажмите Create Now.
Создание NAT Gateway
Так как серверам понадобится выход в интернет, необходимо создать NAT Gateway.
Для этого:
Войдите в консоль управления Advanced:
В списке сервисов выберите NAT Gateway.
В правом верхнем углу нажмите 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:
В списке сервисов выберите Virtual Private Cloud.
В левом меню выберите пункт
.В правом верхнем углу экрана нажмите 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:
В списке сервисов выберите Virtual Private Cloud.
В левом меню выберите пункт
.В правом верхнем углу экрана нажмите Create Security Group.
Укажите параметры группы для фронтенд-сервера:
Name — название группы.
Enterprise Project — укажите проект или оставьте по умолчанию «default».
Template — выберите General-purpose web server.
Нажмите OK.
Создание серверов SupaBase
Для дальнейшей работы нужно создать два сервера, на которых будет развернут Docker Swarm и запущен Supabase.
Войдите в консоль управления Advanced:
В списке сервисов выберите Elastic Cloud Server.
Нажмите 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:
В списке сервисов выберите Elastic Cloud Server.
Нажмите 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:
В списке сервисов выберите Elastic Cloud Server.
Выберите первый бэкенд-сервер, созданный на шаге Создание серверов 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:
В списке сервисов выберите Elastic Load Balance.
В правом верхнем углу нажмите 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