Добавить настройки масштабирования функции
Вы можете задать:
zone_instances_limit
— количество экземпляров функции в зоне доступности;zone_requests_limit
— количество одновременно выполняемых вызовов функции в зоне доступности.provisioned_instances_count
— количество подготовленных экземпляров.
Время простоя подготовленных экземпляров и выполнения в них функции тарифицируется отдельно.
Для разных версий функции можно задать свои настройки масштабирования, используя теги. Настройки масштабирования будут действовать для той версии функции, которой присвоен указанный тег. Версии функции масштабируются независимо друг от друга.
Настройки масштабирования не могут превышать квоты.
Примечание
Настройки масштабирования применяются в течение 5 минут после их задания.
- В консоли управления
перейдите в каталог, в котором находится функция. - Выберите сервис Cloud Functions.
- Выберите функцию.
- В блоке История версий наведите курсор на тег версии функции (например,
$latest
), для которой хотите добавить настройки масштабирования. - Во всплывающем окне нажмите кнопку Добавить.
- В открывшемся окне укажите:
- zone_instances_limit — количество экземпляров функции в зоне доступности.
- zone_requests_limit — количество одновременно выполняемых вызовов функции в зоне доступности.
- provisioned_instances_count — количество подготовленных экземпляров.
- Нажмите кнопку Сохранить.
Чтобы добавить настройки масштабирования для функции, выполните команду:
yc serverless function set-scaling-policy \
--id=<идентификатор_функции> \
--tag=\$latest \
--zone-instances-limit=1 \
--zone-requests-limit=2 \
--provisioned-instances-count=3
Где:
--id
— идентификатор функции. Чтобы узнать его, получите список функций.--tag
— тег версии функции.--zone-instances-limit
— количество экземпляров функции.--zone-requests-limit
— количество выполняемых вызовов.--provisioned-instances-count
— количество подготовленных экземпляров.
Результат:
function_id: d4eokpuol55h********
tag: $latest
zone_instances_limit: "1"
zone_requests_limit: "2"
provisioned_instances_count: "3"
Terraform
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
При изменении файлов конфигураций Terraform автоматически определяет, какая часть вашей конфигурации уже развернута, что следует добавить или удалить.
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы добавить настройки масштабирования:
-
Опишите в конфигурационном файле параметры ресурсов, которые необходимо создать:
yandex_function_scaling_policy
— описание настроек масштабирования функции.function_id
— идентификатор функции.policy
— настройки масштабирования:policy.0.tag
— тег версии функции.policy.0.zone_instances_limit
— количество экземпляров функции.policy.0.zone_requests_limit
— количество выполняемых вызовов.
Пример структуры конфигурационного файла:
provider "yandex" { token = "<OAuth-токен_или_статический_ключ_сервисного_аккаунта>" folder_id = "<идентификатор_каталога>" zone = "ru-central1-a" } resource "yandex_function_scaling_policy" "my_scaling_policy" { function_id = "are1samplefu********" policy { tag = "$latest" zone_instances_limit = 2 zone_requests_limit = 1 } }
Более подробную информацию о параметрах ресурса
yandex_function_scaling_policy
см. в документации провайдера . -
Проверьте конфигурацию командой:
terraform validate
Если конфигурация является корректной, появится сообщение:
Success! The configuration is valid.
-
Выполните команду:
terraform plan
В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply
-
Подтвердите изменения: введите в терминал слово
yes
и нажмите Enter.
Проверить удаление настроек масштабирования можно в консоли управления
yc serverless function list-scaling-policies <имя_или_идентификатор_функции>
Чтобы добавить настройки масштабирования для функции, воспользуйтесь методом REST API setScalingPolicy для ресурса Function или вызовом gRPC API FunctionService/SetScalingPolicy.
Добавить настройки масштабирования для функции можно с помощью плагина Yandex Cloud Toolkit