Как сделать свой балансер

Обновлено: 06.07.2024

Для производственных рабочих нагрузок рекомендуется использовать подсистему балансировки нагрузки ценовой категории "Стандартный". Дополнительные сведения о доступных ценовых категориях см. в статье Номера SKU для Azure Load Balancer.

Создание виртуальной сети

С помощью этого раздела вы создадите виртуальную сеть и подсеть.

В поле поиска в верхней части портала введите виртуальные сети. В результатах поиска выберите Виртуальные сети.

В разделе Виртуальные сети выберите + Создать.

В подменю Создать виртуальную сеть введите или выберите следующую информацию на вкладке Основные сведения:

Откройте вкладку IP-адрес или нажмите кнопку Далее: IP-адреса внизу страницы.

На вкладке IP-адреса укажите следующие сведения:

В разделе Имя подсети выберите по умолчанию.

В окне Изменение подсети введите следующие сведения:

Щелкните Сохранить.

Перейдите на вкладку Безопасность .

В разделе BastionHost выберите Включить. Введите такие сведения:

Перейдите на вкладку Просмотр и создание или нажмите кнопку Просмотр и создание.

Создание шлюза NAT

В этом разделе вы создадите шлюз NAT для исходящего доступа к Интернету со стороны ресурсов в виртуальной сети.

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

На странице Шлюзы NAT выберите + Создать.

В разделе Создание шлюза NAT введите или выберите следующие значения.

Откройте вкладку Исходящий IP-адрес или нажмите кнопку Далее: исходящий IP-адрес внизу страницы.

На вкладке Исходящий IP-адрес выберите Создание общедоступного IP-адреса рядом с пунктом Общедоступные IP-адреса.

В окне Добавление общедоступного IP-адреса в поле Имя введите myNATGatewayIP.

Щелкните ОК.

Откройте вкладку Подсеть или нажмите кнопку Далее: подсеть внизу страницы.

На странице Виртуальная сеть на вкладке Подсеть выберите myVNet.

В поле Имя подсети выберите myBackendSubnet.

Нажмите синюю кнопку Просмотр и создание внизу страницы или перейдите на вкладку Просмотр и создание.

Создание подсистемы балансировки нагрузки

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

Во время создания подсистемы балансировки нагрузки вы настроите следующие параметры:

  • Интерфейсный IP-адрес
  • Серверный пул
  • Правила балансировки нагрузки для входящего трафика

В поле поиска в верхней части портала введите Подсистема балансировки нагрузки. В результатах поиска выберите Подсистема балансировки нагрузки.

На странице Подсистема балансировки нагрузки щелкните Создать.

На странице Создание подсистемы балансировки нагрузки на вкладке Основные сведения укажите следующее.

Снимок экрана: вкладка

В нижней части страницы выберите Далее: интерфейсная IP-конфигурация.

В разделе Интерфейсная IP-конфигурация выберите + Добавить интерфейсный протокол IP.

В поле Имя введите LoadBalancerFrontend.

Выберите IPv4 или IPv6 в качестве версии протокола IP.

IPv6 с предпочтительным вариантом маршрутизации или балансировкой нагрузки между регионами (глобальный уровень) сейчас не поддерживается.

Выберите значение IP-адрес для параметра Тип IP-адреса.

Дополнительные сведения о префиксах IP-адресов см. в статье Префикс общедоступного IP-адреса Azure.

В разделе Открытый IP-адрес выберите Создать.

В окне Добавление общедоступного IP-адреса в поле Имя введите myPublicIP.

Выберите Избыточный между зонами в поле Зона доступности.

В регионах с Зонами доступности можно выбрать вариант без зоны (параметр по умолчанию), определенную зону или избыточный между зонами. При выборе учитывайте специальные требования к отказоустойчивости домена. Для регионов без зон доступности это поле не отображается. Дополнительные сведения о зонах доступности см. .

Для параметра Предпочтение маршрутизации оставьте значение по умолчанию Сеть Майкрософт.

Щелкните ОК.

Выберите Добавить.

Внизу страницы выберите Далее: серверные пулы.

На вкладке Серверные пулы нажмите + Добавить серверный пул.

В разделе Добавление серверного пула в поле Имя введите myBackendPool.

В разделе Виртуальные сети выберите myVNET.

Выберите значение Сетевая карта или IP-адрес в поле Конфигурация внутреннего пула.

Выберите IPv4 или IPv6 в поле Версия IP-адреса.

Выберите Добавить.

Внизу страницы выберите Далее: правила для входящего трафика.

На вкладке Правила для входящего трафика в разделе Правило балансировки нагрузки выберите + Добавить правило балансировки нагрузки.

В разделе Добавление правила балансировки нагрузки введите следующую информацию или выберите указанные ниже варианты.

Выберите Добавить.

В нижней части страницы нажмите синюю кнопку Просмотр + создание.

В этом примере мы создали шлюз NAT для предоставления исходящего доступа к Интернету. Вкладка правил для исходящего трафика в конфигурации пропускается, так как она не требуется для шлюза NAT. Дополнительные сведения о шлюзе NAT Azure см. в разделе Что такое NAT виртуальной сети Azure? Дополнительные сведения об исходящих подключениях в Azure см. по этой ссылке.

Создание виртуальных машин

В этом разделе показано, как создать три виртуальные машины (myVM1, myVM2 и myVM3) в трех разных зонах (зона 1, зона 2 и зона 3).

Эти виртуальные машины добавляются во внутренний пул подсистемы балансировки нагрузки, которую вы создали ранее.

В поле поиска в верхней части портала введите Виртуальная машина. В результатах поиска выберите Виртуальные машины.

На странице Виртуальные машины выберите + Создать Виртуальная машина.

В разделе Создание виртуальной машины на вкладке Основные сведения укажите следующее.

Выберите вкладку Сети или Next: Disks (Далее: диски), а затем Next: Networking (Далее: сеть).

На вкладке "Сеть" укажите следующее.

Выберите Review + create (Просмотреть и создать).

Проверьте параметры, а затем нажмите кнопку Создать.

Выполните шаги 1–7, чтобы создать еще две виртуальные машины с приведенными ниже значениями. Все остальные параметры совпадают с параметрами виртуальной машины myVM1.

Azure предоставляет IP-адрес исходящего трафика по умолчанию для виртуальных машин Azure, которым не назначен общедоступный IP-адрес или которые находятся в серверном пуле внутреннего Azure Load Balancer цен. категории "Базовый". Механизм IP-адреса исходящего трафика по умолчанию предоставляет исходящий IP-адрес, который нельзя настроить.

Дополнительные сведения об исходящем доступе по умолчанию см. в статье Исходящий доступ по умолчанию в Azure.

IP-адрес исходящего трафика по умолчанию отключается, когда виртуальной машине назначается общедоступный IP-адрес или виртуальная машина помещается в серверный пул Azure Load Balancer цен. категории "Стандартный" с правилами для исходящего трафика или без них. Если ресурс шлюза виртуальной сети Azure NAT назначен подсети виртуальной машины, IP-адрес исходящего трафика по умолчанию отключен.

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

Для производственных рабочих нагрузок рекомендуется использовать подсистему балансировки нагрузки ценовой категории "Стандартный". Дополнительные сведения о доступных ценовых категориях см. в статье Номера SKU для Azure Load Balancer.

Создание виртуальной сети

С помощью этого раздела вы создадите виртуальную сеть и подсеть.

В поле поиска в верхней части портала введите виртуальные сети. В результатах поиска выберите Виртуальные сети.

В разделе Виртуальные сети выберите + Создать.

В подменю Создать виртуальную сеть введите или выберите следующую информацию на вкладке Основные сведения:

Откройте вкладку IP-адрес или нажмите кнопку Далее: IP-адреса внизу страницы.

На вкладке IP-адреса укажите следующие сведения:

В разделе Имя подсети выберите по умолчанию.

В окне Изменение подсети введите следующие сведения:

Щелкните Сохранить.

Перейдите на вкладку Безопасность .

В разделе BastionHost выберите Включить. Введите такие сведения:

Перейдите на вкладку Просмотр и создание или нажмите кнопку Просмотр и создание.

Создание виртуальных машин

С помощью инструкций из этого раздела вы создадите три виртуальных машины (myVM1, myVM2 и myVM3).

Эти три виртуальные машины будут добавлены в группу доступности с именем myAvailabilitySet.

В поле поиска в верхней части портала введите Виртуальная машина. В результатах поиска выберите Виртуальные машины.

На странице Виртуальные машины выберите + Создать Виртуальная машина.

В разделе Создание виртуальной машины на вкладке Основные сведения укажите следующее.

Выберите вкладку Сети или Next: Disks (Далее: диски), а затем Next: Networking (Далее: сеть).

На вкладке "Сеть" укажите следующее.

Выберите вкладку Управление или Далее Управление.

На вкладке Управление укажите следующее.

Выберите Review + create (Просмотреть и создать).

Проверьте параметры, а затем нажмите кнопку Создать.

Выполните шаги 1–9, чтобы создать еще две виртуальные машины с приведенными ниже значениями. Все остальные параметры совпадают с параметрами виртуальной машины myVM1.

Azure предоставляет IP-адрес исходящего трафика по умолчанию для виртуальных машин Azure, которым не назначен общедоступный IP-адрес или которые находятся в серверном пуле внутреннего Azure Load Balancer цен. категории "Базовый". Механизм IP-адреса исходящего трафика по умолчанию предоставляет исходящий IP-адрес, который нельзя настроить.

Дополнительные сведения об исходящем доступе по умолчанию см. в статье Исходящий доступ по умолчанию в Azure.

IP-адрес исходящего трафика по умолчанию отключается, когда виртуальной машине назначается общедоступный IP-адрес или виртуальная машина помещается в серверный пул Azure Load Balancer цен. категории "Стандартный" с правилами для исходящего трафика или без них. Если ресурс шлюза виртуальной сети Azure NAT назначен подсети виртуальной машины, IP-адрес исходящего трафика по умолчанию отключен.

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

Создание подсистемы балансировки нагрузки

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

Во время создания подсистемы балансировки нагрузки вы настроите следующие параметры.

  • Интерфейсный IP-адрес
  • Серверный пул
  • Правила балансировки нагрузки для входящего трафика

В поле поиска в верхней части портала введите Подсистема балансировки нагрузки. В результатах поиска выберите Подсистема балансировки нагрузки.

На странице Подсистема балансировки нагрузки выберите + Создать.

На странице Создание подсистемы балансировки нагрузки на вкладке Основные сведения укажите следующее.

Снимок экрана: вкладка

В нижней части страницы выберите Далее: интерфейсная IP-конфигурация.

В разделе Интерфейсная IP-конфигурация выберите + Добавить интерфейсный протокол IP.

В поле Имя введите LoadBalancerFrontend.

Выберите IPv4 или IPv6 в качестве версии протокола IP.

Выберите вариант Создать новый в разделе Общедоступный IP-адрес.

В окне Добавление общедоступного IP-адреса в поле Имя введите myPublicIP.

Для параметра Назначение выберите Статическое.

Щелкните ОК.

Выберите Добавить.

Внизу страницы выберите Далее: серверные пулы.

На вкладке Серверные пулы нажмите + Добавить серверный пул.

В разделе Добавление серверного пула в поле Имя введите myBackendPool.

В разделе Виртуальные сети выберите myVNET.

В разделе Сопоставлено с выберите Виртуальные машины.

Выберите IPv4 или IPv6 в поле Версия IP.

В разделе Виртуальные машины нажмите синюю кнопку + Добавить.

В разделе Добавление виртуальных машин во внутренний пул установите флажки рядом с myVM1, myVM2 и myVM3.

Выберите Добавить.

Выберите + Добавить в поле Добавить серверный пул.

Внизу страницы выберите Далее: правила для входящего трафика.

На вкладке Правила для входящего трафика в разделе Правило балансировки нагрузки выберите + Добавить правило балансировки нагрузки.

В разделе Добавление правила балансировки нагрузки введите следующую информацию или выберите указанные ниже варианты.

Выберите Добавить.

В нижней части страницы нажмите синюю кнопку Просмотр + создание.

Установка служб IIS

В поле поиска в верхней части портала введите Виртуальная машина. В результатах поиска выберите Виртуальные машины.

Выберите myVM1.

На странице Обзор выберите Подключиться и Бастион.

Выберите Использовать бастион.

Введите имя пользователя и пароль, введенные в процессе создания виртуальной машины.

Выберите Подключиться.

На рабочем столе сервера перейдите к Средства администрирования Windows Windows PowerShell.

В окне PowerShell выполните команды, чтобы:

  • установить сервер IIS;
  • удалить файл iisstart.htm по умолчанию;
  • добавить новый файл iisstart.htm, в котором отображается имя виртуальной машины.

Закройте сеанс Бастиона с myVM1.

Повторите шаги 1–8, чтобы установить IIS и добавить обновленный файл iisstart.htm на myVM2 и myVM3.

Тестирование подсистемы балансировки нагрузки

В поле поиска в верхней части страницы введите Подсистема балансировки нагрузки. В результатах поиска выберите Подсистема балансировки нагрузки.

Найдите общедоступный IP-адрес подсистемы балансировки нагрузки, который указан на странице Обзор в разделе Общедоступный IP-адрес.

Скопируйте общедоступный IP-адрес и вставьте его в адресную строку браузера. В браузере отобразится страница пользовательской виртуальной машины веб-сервера IIS.

Снимок экрана: тест подсистемы балансировки нагрузки

Очистка ресурсов

Ставшие ненужными группу ресурсов, подсистему балансировки нагрузки и все связанные ресурсы можно удалить. Для этого выберите группу ресурсов CreatePubLBQS-rg, которая содержит все эти ресурсы, и щелкните Удалить.

Дальнейшие действия

В этом кратком руководстве вы:

  • создать Azure Load Balancer ценовой категории "Стандартный" или "Базовый";
  • подключить три виртуальных машины к подсистеме балансировки нагрузки;
  • протестировать подсистему балансировки нагрузки.

Чтобы узнать больше об Azure Load Balancer, ознакомьтесь со следующей статьей:

Начните работу с Azure Load Balancer, создав с помощью портала Azure общедоступную подсистему балансировки нагрузки и три виртуальные машины.

Начать работу с Elastic Load Balancing можно несколькими способами. Application Load Balancer, Network Load Balancer или Gateway Load Balancer можно настроить с помощью API, интерфейсов командной строки (CLI) AWS или в консоли управления AWS.

При использовании Elastic Load Balancing с Auto Scaling можно создавать высокодоступные отказоустойчивые приложения, которые будут автоматически масштабировать ресурсы как в сторону увеличения, так и в сторону уменьшения в зависимости от колебаний спроса.

Следуйте шагам, представленным в разделе Начало работы с помощью консоли управления AWS, или ознакомьтесь с дополнительными ресурсами ниже, чтобы начать работу прямо сейчас.

Начало работы с помощью консоли управления AWS

Давайте начнем работу с создания балансировщика нагрузки с помощью мастера Elastic Load Balancing в консоли управления AWS, используя интерактивный веб‑интерфейс.

Основы балансировки нагрузки

Балансировка нагрузки — это метод распределения рабочих нагрузок по нескольким вычислительным ресурсам, таким как компьютеры, сетевые ссылки или диски. Он направлен на улучшение использования ресурсов, максимизацию пропускной способности, улучшение времени отклика и обеспечение отказоустойчивости. В этой статье мы поговорим конкретно о типах балансировки нагрузки, поддерживаемых nginx. Однако другие приложения (например, серверы баз данных) также могут использовать балансировку нагрузки.

Балансировщики нагрузки обычно классифицируются как аппаратные и программные. Первые, являются специализированным оборудованием и несут специализированные интегральные схемы (ASIC), которые очень эффективно маршрутизируют трафик. С другой стороны, программные балансировщики нагрузки, такие как nginx или HAproxy, выполняют балансировку нагрузки в программном обеспечении.

В большинстве дистрибутивов Linux файл конфигурации nginx находится в /etc/nginx/nginx.conf . Однако в Debian/Ubuntu этот файл разделен на два разных: /etc/nginx/nginx.conf для основной конфигурации и /etc/nginx/sites-enabled/default для отдельных веб-сайтов, которые вы размещаете. Если вы используете Debian/Ubuntu, вы должны добавить upstream блоки в первый, а блок location во второй.

Балансировка нагрузки веб-приложений

Nginx также поддерживает пару прокси для нескольких других протоколов с такими директивами, как FastCGI и uWSGI с директивами fastcgi_pass и uwsgi_pass. Скажем, например, что на каждом внутреннем сервере на порту 9000 работает демон PHP-FPM, и вы хотите передавать запросы к ним через прокси. Вот как будет выглядеть конфигурация:

Стратегии балансировки нагрузки

У nginx есть несколько стратегий выбора сервера для отправки запросов. По умолчанию он использует алгоритм циклического перебора для определения сервера, на который должен быть отправлен запрос. Однако доступны и другие стратегии, которые вы можете включить вручную. Стратегия least_conn выбирает сервер, который обрабатывает наименьшее количество соединений. С другой стороны, стратегия ip_hash выбирает серверы на основе результата запуска хэш-функции на IP. Это означает, что запросы с одного и того же IP-адреса попадают на один и тот же сервер.

Чтобы использовать стратегию, отличную от принятой по умолчанию, просто укажите ее имя в upstream блоке:

Как вы можете сказать, мы используем стратегию циклического перебора в этом примере. С приоритетами, которые мы показали в примере выше, каждые 4 из 7 запросов будут отправляться на первый сервер, 2 из них на второй и 1 на третий. (Как мы упоминали ранее, приоритет по умолчанию равен 1, поэтому мы оставили его в приведенном выше примере.)

Расширенные настройки

В приведенном ниже примере мы установили max_fails 3, а fail_timeout 20 секундам для первого сервера:

Кроме того, вы можете пометить определенный сервер, который будет обрабатываться по-разному. Если вы выполняете обслуживание на одном из внутренних серверов, вы можете пометить его как down . Запросы, которые будут обрабатываться этим сервером, теперь отправляются на следующий сервер в группе. Вы также можете пометить определенный сервер в качестве backup сервера. Запросы будут переданы ему, когда все остальные серверы будут недоступны. Пример этих двух директив показан ниже:

Некоторые общие проблемы

Балансировка нагрузки nginx транспортного уровня

Как мы упоминали ранее, nginx также может выполнять балансировку нагрузки на транспортном уровне. Синтаксис немного отличается от того, который мы видели ранее. В частности, как upstream и server разделы содержатся внутри stream блока.

Чтобы использовать эту функцию, вы должны скомпилировать nginx с ключом --with-stream . В Debian и Ubuntu версия nginx в репозиториях уже скомпилирована с этим флагом, поэтому вы можете использовать ее напрямую.

Предположим, у вас есть несколько DNS-серверов, и вы хотите использовать nginx в качестве балансировщика нагрузки. Вам просто нужно поместить это в файл конфигурации:

Балансировка нагрузки с TCP довольно похожа.

Здесь также применяются стратегии балансировки нагрузки и другие параметры конфигурации, которые мы описали ранее.

Заключение

Nginx предоставляет мощные возможности балансировки нагрузки с широким спектром опций. Если вы хотите узнать больше, обязательно ознакомьтесь с официальной документацией .

Как я и обещал когда-то, посмотрим теперь, как создать и настроить в гугловом облаке балансировщик нагрузки уже для внешнего траффика. External load balancer (ELB), то есть. Не кнопочками и формочками, а через файлы конфигурации и Deployment Manager, чтобы всё по-взрослому. Ведь хотя external балансировщик и будет похож на internal load balancer, это всё-таки совсем другой зверь:

Если вы помните, то internal load balancer выглядел примерно вот так:

internal load balancer без чёрной магии

Вместе это выглядит примерно вот так:

external load balancer

Да, в общем случае нам нужно будет добавить ещё пару вспомогательных ресурсов. Во-первых, нужно настроить файрвол для health check траффика. Во-вторых, возможно, придётся явно задать внешний IP адрес, если вдруг захочется использовать уже существующий или просто дать ему имя как ресурсу.

Как обычно, мы рассмотрим все компоненты один за одним, и начнём с конца списка: с управляемой группы инстансов (managed instance group) и её шаблона.

Управляемая группа инстансов (виртуальных машин) и её шаблон

В конфигурации шаблона инстанса нет абсолютно ничего интересного. Обычная заготовка Ubuntu сервера с установленным на нём Apache. Хотя в виртуальной машине и задана внешняя айпишка, строго говоря, для ELB она не нужна. Но так как для выхода в интернет такая айпишка уже понадобится, а наш apt-get, устанавливающий Apache сервер, туда обязательно полезет, пришлось её оставить. Можно было бы конечно настроить какой-нибудь NAT Gateway, либо создать образ инстанса с уже предустановленным софтом, но ай.

Кстати, в этот раз управляемая группа инстансов (managed instance group, MIG) стала региональной, что очень полезно для high-availability. Мы скажем группе создать сразу две виртуальные машины, та автоматически раскидает их по разным зонам одного региона, и теперь внезапно мы и отказ одной из зон сможем пережить, и будет среди кого балансировать входящий траффик. Всё по-взрослому.

Бэкенд сервис

MIG — группа инстансов — в каком-то смысле образует сервис, так что почему бы не объявить его явно. К тому же, если в будущем у нас появится ещё один MIG, например, в другом регионе, но раздающий тот же контент, можно будет добавить его в этот же сервис и таким образом сделать последний глобальным.

Так как сервис ссылается на health check, которого ещё нет, то создадим-ка мы и его. Ну и ещё правило для файрвола, чтобы траффик пропустили.

URL Map

А вот теперь что-то совсем новенькое. URL Map работает как роутер для траффика из ELB. Мы можем завести несколько бэкенд сервисов, каждый со своей логикой, а затем настроить URL Map перенаправлять траффик к тому либо другому сервису в зависимости от URL. Это очень круто, потому что API сервисы могут висеть на одних инстансах, медийный контент — на других, а ELB будет общий.

Но сервис у нас всего один, так что мы просто положим его в defaultService параметр и пойдём гулять дальше.

sslCertificate — это всего лишь ещё один тип ресурса, поддерживаемый Deployment Manager’ом. Я сгененировал сертификат, положил его в YAML, и отправил вместе с ресурсом прямо в бесконечное гугловое облако. Две минуты работы.

Глобальный forwarding rule и внешняя айпишка

Наконец, точка входа в наш ELB — глобальный forwarding rule.

Если бы мы остановились на этом месте, гугл бы автоматически задал автосгенерированый внешний айпи, и история бы закончилась. Но так как я хочу, чтобы все ресурсы были явными, то добавим-ка ещё две строки для уже явного, но всё ещё автосгенерированного внешнего IP адреса.

И наконец…

Но в конце-концов этот момент наступит. Health checks позеленеют:

Позеленевшие health check

Менеджер группы инстансов отрапортует, что все сервера живы-здоровы:

Похорошевший managed instance group

И наступит вселенская благодать:

Рабочий external load balancer

Мораль

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

Вам также может понравиться

Краткое введение в helm


Взгляд пещерного человека на современный фронт-энд


Полезная штука. Интересно, сколько это стоит?

Первые 5 forwarding rule стоят что-то около 18 баксов в месяц за штуку. SSLCertificate, URL Map, сервисы и прокси, вроде, не стоят ничего. Дальше стоить уже будут инстансы, и там можно разгуляться. Один f1-micro (vcpu, 0.6 GB) в месяц идёт бесплатно, но самая дешёвая нормальная машинка будет стоить вроде 32 бакса в месяц. + Диски, тоже зависит от размера. Но теоретически самый дешёвый ELB на одной f1-micro машине можно собрать именно за 18 баксов. Просто непонятно, среди чего именно он будет балансировать траффик 🙂

То есть в принципе, на те 300 баксов кредита на год что они предлагают, можно развернуться и все протестить. Интересно, а потом, если втянешься в это дело, цена не вырастет на порядок?

Не, цены у них стандартные, что в бесплатные 300 баксов, что после них. + если ресурсы используются предсказуемо: если виртуальная машина непрерывно работала целый месяц, то даже идут скидки за постоянное использование (sustained use discounts), которые я совсем забыл учесть, когда думал, стоит ли переезжать в Digital Ocean на гугл. Ну и квоты в настройках проекта можно проставить, мол, если я потратил больше чем сотню, тормози всё.
Насколько я помню, AWS тоже даёт кредит денег на год, и тоже можно играться. Microsoft немного жмоты, там вроде всего на месяц, но я знаю кучу случаев, когда MS давали какой-нить промо сертификат на 10-100k на год на использование в Azure. Типа для продвижения в массы.
Тут главное ни в гугле, ни в любом другом облаке не засветить свои ключи от сервисных аккаунтов и тем более не закоммитить их на гитхабе. Народ репозитории сканит регулярно, мгновенно просекают такие ключи, создают при их помощи биткойн фермы, а в конце месяца приходит счёт на средних размеров новую Тойоту. Но в таких случаях часто можно договориться со службой поддержки, мол, то были злоумышленники, и счета прощают.

Читайте также: