Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Container Registry
  • Начало работы
  • Yandex Container Solution
    • Все руководства
    • Подпись и проверка Docker-образов в Managed Service for Kubernetes
    • Сканирование уязвимостей при непрерывном развертывании приложений Managed Service for Kubernetes с помощью GitLab
    • Непрерывное развертывание контейнеризованных приложений с помощью GitLab
    • Построение пайплайна CI/CD в GitLab с использованием serverless-продуктов
    • Хранение Docker-образов из проектов Yandex Managed Service for GitLab
    • Подключение к Container Registry из VPC
    • Настройка отказоустойчивой архитектуры в Yandex Cloud
    • Запуск внешних агентов для нагрузочного тестирования
    • Запуск контейнерного приложения в Yandex Serverless Containers
    • Развертывание gRPC-сервиса на основе Docker-образа
    • Развертывание сервиса в DataSphere на основе Docker-образа
    • Развертывание сервиса в DataSphere на основе Docker-образа с FastAPI
    • Настройка подключения к Managed Service for PostgreSQL из контейнера Serverless Containers
    • Интеграция с Container Registry
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Решение проблем
  • Вопросы и ответы
  • Обучающие курсы

В этой статье:

  • Подготовьте облако к работе
  • Необходимые платные ресурсы
  • Создайте сервисный аккаунт
  • Создайте сеть и настройте группу безопасности
  • Создайте виртуальную машину с MongoDB
  • Создайте секрет Yandex Lockbox
  • Создайте реестр Container Registry
  • Загрузите Docker-образ в реестр
  • Создайте контейнер Serverless Containers
  • Создайте API-шлюз API Gateway
  • Проверьте работу приложения
  • Как удалить созданные ресурсы
  1. Практические руководства
  2. Запуск контейнерного приложения в Yandex Serverless Containers

Запуск контейнерного приложения в Yandex Serverless Containers

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 21 апреля 2025 г.
  • Подготовьте облако к работе
    • Необходимые платные ресурсы
  • Создайте сервисный аккаунт
  • Создайте сеть и настройте группу безопасности
  • Создайте виртуальную машину с MongoDB
  • Создайте секрет Yandex Lockbox
  • Создайте реестр Container Registry
  • Загрузите Docker-образ в реестр
  • Создайте контейнер Serverless Containers
  • Создайте API-шлюз API Gateway
  • Проверьте работу приложения
  • Как удалить созданные ресурсы

С помощью этого руководства вы сможете развернуть контейнер с приложением в сервисе Serverless Containers для администрирования СУБД MongoDB.

СУБД развернута на виртуальной машине Yandex Compute Cloud, контейнер с приложением хранится в реестре Yandex Container Registry, чувствительные данные зашифрованы с помощью Yandex Lockbox, а безопасный доступ к приложению реализован через API-шлюз Yandex API Gateway. Вся инфраструктура контейнерного приложения располагается в одном каталоге.

Чтобы развернуть контейнерное приложение:

  1. Подготовьте облако к работе.
  2. Создайте сервисный аккаунт.
  3. Создайте сеть и настройте группу безопасности.
  4. Создайте виртуальную машину Compute Cloud с MongoDB.
  5. Создайте секрет Yandex Lockbox и версию.
  6. Создайте реестр Container Registry.
  7. Загрузите Docker-образ в Container Registry.
  8. Создайте контейнер Serverless Containers.
  9. Создайте API-шлюз API Gateway.
  10. Проверьте работу приложения.

Если созданные ресурсы вам больше не нужны, удалите их.

Подготовьте облако к работеПодготовьте облако к работе

Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь.
  2. На странице Yandex Cloud Billing убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.

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

Подробнее об облаках и каталогах.

Необходимые платные ресурсыНеобходимые платные ресурсы

В стоимость поддержки приложения входит:

  • плата за постоянно запущенную ВМ (см. тарифы Yandex Compute Cloud);
  • плата за хранение секретов (см. тарифы Yandex Lockbox);
  • плата за хранение Docker-образа (см. тарифы Yandex Container Registry);
  • плата за количество вызовов контейнера, вычислительные ресурсы, выделенные для выполнения приложения, и исходящий трафик (см. тарифы Serverless Containers);
  • плата за запросы к API-шлюзу (см. тарифы Yandex API Gateway).

Создайте сервисный аккаунтСоздайте сервисный аккаунт

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

Консоль управления
CLI
API
  1. В консоли управления перейдите в каталог, в котором будет размещаться инфраструктура контейнерного приложения.
  2. В списке сервисов выберите Identity and Access Management.
  3. Нажмите кнопку Создать сервисный аккаунт.
  4. Введите имя сервисного аккаунта — mongo-express.
  5. Нажмите Добавить роль и выберите роли container-registry.images.puller, lockbox.payloadViewer и serverless-containers.containerInvoker.
  6. Нажмите Создать.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

  1. Создайте сервисный аккаунт с именем mongo-express:

    yc iam service-account create --name mongo-express
    
  2. Назначьте сервисному аккаунту роли container-registry.images.puller, lockbox.payloadViewer и serverless-containers.containerInvoker на каталог, в котором будет размещаться контейнер:

    yc resource-manager folder add-access-binding <имя_или_идентификатор_каталога> \
      --role container-registry.images.puller, lockbox.payloadViewer, serverless-containers.containerInvoker \
      --subject serviceAccount:<идентификатор_сервисного_аккаунта>
    

    Где:

    • <имя_или_идентификатор_каталога> — имя или идентификатор каталога, в котором будет размещаться контейнер.
    • --subject serviceAccount — идентификатор сервисного аккаунта mongo-express.

Чтобы создать сервисный аккаунт, воспользуйтесь методом REST API create для ресурса ServiceAccount или вызовом gRPC API ServiceAccountService/Create.

Чтобы назначить сервисному аккаунту роли на каталог, воспользуйтесь методом REST API updateAccessBindings для ресурса Folder или вызовом gRPC API FolderService/UpdateAccessBindings.

Создайте сеть и настройте группу безопасностиСоздайте сеть и настройте группу безопасности

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

  2. В списке сервисов выберите Virtual Private Cloud.

  3. Справа сверху нажмите Создать сеть.

  4. В поле Имя укажите mongo-express-network.

  5. В поле Дополнительно выберите опцию Создать подсети.

  6. Нажмите Создать сеть.

  7. На панели слева выберите Группы безопасности.

  8. Нажмите значок напротив группы безопасности, созданной по умолчанию для сети mongo-express-network.

  9. В открывшемся меню нажмите Редактировать.

  10. Настройте группу безопасности:

    1. Нажмите Создать группу безопасности.

    2. В блоке Правила добавьте правило по инструкции под таблицей:

      Направление
      трафика
      Описание Диапазон портов Протокол Назначение /
      Источник
      CIDR блоки
      Входящий any 27017 Любой CIDR 0.0.0.0/0
      1. Выберите вкладку Исходящий трафик или Входящий трафик.
      2. Нажмите Добавить правило.
      3. В открывшемся окне в поле Диапазон портов укажите один порт или диапазон портов, куда или откуда будет поступать трафик. Чтобы открыть все порты, нажмите Выбрать весь диапазон.
      4. В поле Протокол укажите нужный протокол или оставьте Любой, чтобы разрешить передачу трафика по всем протоколам.
      5. В поле Назначение или Источник выберите CIDR — правило будет применено к диапазону IP-адресов. В поле CIDR блоки укажите 0.0.0.0/0.
      6. Нажмите Сохранить.
    3. Нажмите Сохранить.

    4. Повторно нажмите Сохранить.

  1. Создайте облачную сеть:

    yc vpc network create \
      --name mongo-express-network
    
  2. Узнайте имя или идентификатор группы, которую требуется изменить:

    yc vpc security-groups list
    

    Результат:

    +----------------------+---------------------------------+------------------------------------+----------------------+
    |          ID          |              NAME               |          DESCRIPTION               |      NETWORK-ID      |
    +----------------------+---------------------------------+------------------------------------+----------------------+
    | enp9bmjge93b******** | default-sg-enp509crtquf******** | Default security group for network | enp509crtquf******** |
    +----------------------+---------------------------------+------------------------------------+----------------------+
    
  3. Добавьте правило с помощью команды update-rules и параметра --add-rule:

    yc vpc security-group update-rules <имя_или_идентификатор_группы> \
      --add-rule "direction=ingress,port=27017,protocol=any,v4-cidrs=[0.0.0.0/0,0.0.0.0/0]"
    

    Где <имя_или_идентификатор_группы> — значение, полученное шагом ранее.

  1. Чтобы создать облачную сеть, воспользуйтесь методом REST API create для ресурса Network или вызовом gRPC API NetworkService/Create и передайте в запросе:

    • Идентификатор каталога, в котором будет размещаться сеть.
    • Имя новой сети mongo-express-network в параметре name.
  2. Чтобы добавить правило в группу безопасности, воспользуйтесь методом REST API updateRules для ресурса SecurityGroup или вызовом gRPC API SecurityGroupService/UpdateRules и передайте в запросе:

    • Идентификатор группы безопасности, в которую будут добавлены правила, в параметре securityGroupId.

      Чтобы узнать идентификатор группы безопасности, воспользуйтесь методом REST API list для ресурса SecurityGroup или вызовом gRPC API SecurityGroupService/List и передайте в запросе идентификатор каталога в параметре folderId.

    • Новые правила группы безопасности в массиве additionRuleSpecs[]:

      • Направление трафика — ingress.
      • Имя протокола передачи трафика в параметре additionRuleSpecs[].protocolName — any.
      • Список CIDR и масок подсетей в параметре additionRuleSpecs[].cidrBlocks.v4CidrBlocks[] — [0.0.0.0/0,0.0.0.0/0].
      • Первый порт из диапазона портов для трафика в параметре additionRuleSpecs[].ports.fromPort — 0.
      • Последний порт из диапазона портов для трафика в параметре additionRuleSpecs[].ports.toPort — 65535.

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

Рекомендуем использовать ВМ в минимальной конфигурации.

Консоль управления
CLI
  1. На странице каталога в консоли управления нажмите кнопку Создать ресурс и выберите Виртуальная машина.

  2. В блоке Образ загрузочного диска:

    1. Перейдите на вкладку Container Solution и нажмите Настроить.

    2. В открывшемся окне перейдите на вкладку Docker-compose и укажите спецификацию ВМ:

      version: '3.1'
      
      services:
        mongo:
          image: mongo
          restart: always
          environment:
            MONGO_INITDB_ROOT_USERNAME: mongo_db_user
            MONGO_INITDB_ROOT_PASSWORD: <пароль>
          ports:
            - 27017:27017
      

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

    3. Нажмите Применить.

  3. В блоке Расположение выберите зону доступности, в которой будет создана ВМ. Если вы не знаете, какая зона доступности вам нужна, оставьте выбранную по умолчанию.

  4. В блоке Сетевые настройки:

    • В поле Подсеть выберите подсеть в созданной ранее сети mongo-express-network.
    • В поле Публичный IP-адрес выберите Автоматически.
  5. В блоке Доступ выберите вариант SSH-ключ и укажите данные для доступа на ВМ:

    • В поле Логин введите имя пользователя. Не используйте имя root или другие имена, зарезервированные ОС. Для выполнения операций, требующих прав суперпользователя, используйте команду sudo.
    • В поле SSH-ключ выберите SSH-ключ, сохраненный в вашем профиле пользователя организации.

      Если в вашем профиле нет сохраненных SSH-ключей или вы хотите добавить новый ключ:

      • Нажмите кнопку Добавить ключ.
      • Задайте имя SSH-ключа.
      • Загрузите или вставьте содержимое открытого SSH-ключа. Пару SSH-ключей для подключения к ВМ по SSH необходимо создать самостоятельно.
      • Нажмите кнопку Добавить.

      SSH-ключ будет добавлен в ваш профиль пользователя организации.

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

  6. В блоке Общая информация задайте имя ВМ: mongo-vm.

  7. Нажмите кнопку Создать ВМ.

Дождитесь перехода ВМ в статус Running и сохраните ее публичный IP-адрес — он потребуется для подключения к БД.

  1. Подготовьте пару ключей (открытый и закрытый) для SSH-доступа на ВМ.

  2. Подготовьте файл спецификации Docker-контейнера docker-spec.yaml:

    version: '3.1'
    
    services:
      mongo:
        image: mongo
        restart: always
        environment:
          MONGO_INITDB_ROOT_USERNAME: mongo_db_user
          MONGO_INITDB_ROOT_PASSWORD: <пароль>
        ports:
          - 27017:27017
    

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

  3. Выполните команду:

    yc compute instance create-with-container \
      --coi-spec-file docker-spec.yaml \
      --name mongo-vm \
      --zone ru-central1-b \
      --ssh-key ssh-key.pub \
      --create-boot-disk size=30 
    

    Где:

    • --coi-spec-file — путь к файлу спецификации Docker-контейнера.
    • --name — имя ВМ.
    • --zone — зона доступности.
    • --ssh-key — содержимое файла открытого ключа. Пару ключей для подключения по SSH необходимо создать самостоятельно.
    • --create-boot-disk size — размер загрузочного диска. Должен быть не менее 30 ГБ.

    Результат:

    done (1m40s)
     id: epde18u4mahl********
     folder_id: b1g7gvsi89m3********
     created_at: "2023-02-08T10:34:06.601Z"
     name: mongo-vm
     ...
    

Создайте секрет Yandex LockboxСоздайте секрет Yandex Lockbox

В секрете Yandex Lockbox в зашифрованном виде будут храниться данные для аутентификации.

Консоль управления
CLI
API
  1. В консоли управления выберите каталог, в котором будет создан секрет.
  2. В списке сервисов выберите Lockbox.
  3. Нажмите Создать секрет.
  4. В поле Имя введите имя секрета — mongodb-creds.
  5. В блоке Версия:
    • В поле Ключ введите login.
    • В поле Значение введите логин пользователя БД — mongo_db_user.
  6. Нажмите Добавить ключ/значение и укажите второй секрет:
    • В поле Ключ введите password.
    • В поле Значение введите пароль для доступа к БД — значение MONGO_INITDB_ROOT_PASSWORD из спецификации ВМ.
  7. Нажмите Создать.
  1. Создайте секрет mongodb-creds с помощью команды:

    yc lockbox secret create \
      --name mongodb-creds \
      --payload "[{'key': 'login', 'text_value': 'mongo_db_user'},{'key': 'password', 'text_value': '<пароль>'}]" 
    

    Где:

    • --name — имя секрета.
    • --payload — содержимое секрета в виде массива YAML или JSON.
    • <пароль> — значение MONGO_INITDB_ROOT_PASSWORD из спецификации ВМ.

    Результат:

    id: e6q6nbjfu9m2********
    folder_id: b1qt6g8ht345********
    created_at: "2023-02-08T10:34:06.601Z"
    name: mongodb-creds
    status: ACTIVE
    current_version:
      id: e6q0s9airqca********
      secret_id: e6q6nbjfu9m2********
      created_at: "2023-02-08T10:34:06.601Z"
      status: ACTIVE
      payload_entry_keys:
        - login
        - password
    

Чтобы создать секрет, воспользуйтесь методом REST API create для ресурса Secret или вызовом gRPC API SecretService/Create.

Создайте реестр Container RegistryСоздайте реестр Container Registry

В реестре Container Registry будет храниться Docker-образ приложения mongo-express.

Консоль управления
CLI
API
  1. В консоли управления выберите каталог, в котором будет создан реестр.
  2. В списке сервисов выберите Container Registry.
  3. Нажмите Создать реестр.
  4. Задайте имя реестра app-registry.
  5. Нажмите Создать реестр.

Создайте реестр app-registry:

yc container registry create --name app-registry

Результат:

done
id: crpd50616s9a********
folder_id: b1g88tflru0e********
name: app-registry
status: ACTIVE
created_at: "2023-02-08T10:34:06.601Z"

Чтобы создать реестр, воспользуйтесь методом REST API create для ресурса Registry или вызовом gRPC API RegistryService/CreateRegistryRequest.

Загрузите Docker-образ в реестрЗагрузите Docker-образ в реестр

  1. Зарегистрируйтесь на Docker Hub.

  2. Установите Docker:

    • Версия для Windows.
    • Версия для Linux.
    • Версия для Mac.
  3. Скачайте образ mongo-express:

    docker pull mongo-express
    

    Результат выполнения команды:

    Using default tag: latest
    latest: Pulling from library/mongo-express
    6a428f9f83b0: Pull complete
    f2b1fb32259e: Pull complete
    40888f2a0a1f: Pull complete
    4e3cc9ce09be: Pull complete
    eaa1898f3899: Pull complete
    ab4078090382: Pull complete
    ae780a42c79e: Pull complete
    e60224d64a04: Pull complete
    Digest: sha256:dcfcf89bf91238ff129469a5a94523b3025913dcc41597d72d4d5f4a********
    Status: Downloaded newer image for mongo-express:latest
    docker.io/library/mongo-express:latest
    
  4. Аутентифицируйтесь в Container Registry с помощью Docker Credential helper:

    CLI
    1. Сконфигурируйте Docker для использования docker-credential-yc:

      yc container registry configure-docker
      

      Результат:

      Credential helper is configured in '/home/<user>/.docker/config.json'
      

      Настройки сохраняются в профиле текущего пользователя.

    2. Проверьте, что Docker сконфигурирован — в конфигурационном файле ${HOME}/.docker/config.json должна появиться строка:

      "cr.yandex": "yc"
      

    Docker готов к использованию.

  5. Загрузите Docker-образ в реестр:

    CLI
    1. Присвойте загруженному образу mongo-express URL вида cr.yandex/<идентификатор_реестра>/<имя_Docker-образа>:<тег>:

      docker tag mongo-express \
      cr.yandex/<идентификатор_реестра>/mongo-express:mongo-tag
      
    2. Загрузите образ mongo-express в реестр:

      docker push cr.yandex/<идентификатор_реестра>/mongo-express:mongo-tag
      

Создайте контейнер Serverless ContainersСоздайте контейнер Serverless Containers

Чтобы запустить приложение в Yandex Cloud, создайте контейнер и его ревизию.

Консоль управления
CLI
API
  1. В консоли управления перейдите в каталог, в котором хотите создать контейнер.
  2. Выберите сервис Serverless Containers.
  3. Нажмите Создать контейнер.
  4. Введите имя контейнера mongo-express-container.
  5. Нажмите Создать.
  6. Перейдите на вкладку Редактор.
    1. В блоке Ресурсы укажите объем RAM — 1024 МБ.
    2. В блоке Параметры образа:
      1. В поле URL образа укажите Docker-образ, загруженный ранее.
      2. В поле Переменные окружения добавьте переменные:
        • ME_CONFIG_BASICAUTH_USERNAME — оставьте значение пустым.
        • ME_CONFIG_BASICAUTH_PASSWORD — оставьте значение пустым.
        • VCAP_APP_PORT — укажите порт 8080.
        • ME_CONFIG_MONGODB_SERVER — укажите публичный адрес ВМ, полученный ранее.
      3. В поле Секреты Lockbox укажите секреты:
        • ME_CONFIG_MONGODB_AUTH_USERNAME — укажите секрет с ключом login.
        • ME_CONFIG_MONGODB_AUTH_PASSWORD — укажите секрет с ключом password.
    3. В блоке Настройки:
      1. В поле Сервисный аккаунт укажите mongo-express.
      2. В поле Таймаут укажите 15.
  7. Нажмите Создать ревизию.
  1. Создайте контейнер:

    yc serverless container create --name mongo-express-container
    

    Результат:

    id: bba3fva6ka5g********
    folder_id: b1gqvft7kjk3********
    created_at: "2023-02-08T10:34:06.601Z"
    name: mongo-express-container
    url: https://bba3fva6ka5g********.containers.yandexcloud.net/
    status: ACTIVE
    
  2. Создайте ревизию контейнера:

    yc serverless container revision deploy \
      --container-name mongo-express-container \
      --image <URL_Docker-образа> \
      --cores 1 \
      --memory 1GB \
      --concurrency 1 \
      --execution-timeout 15s \
      --service-account-id <идентификатор_сервисного_аккаунта_mongo-express> \
      --environment ME_CONFIG_BASICAUTH_USERNAME="", ME_CONFIG_BASICAUTH_PASSWORD="", VCAP_APP_PORT=8080, ME_CONFIG_MONGODB_SERVER=<публичный_адрес_ВМ> \
      --secret environment-variable=ME_CONFIG_MONGODB_AUTH_USERNAME,key=login \
      --secret environment-variable=ME_CONFIG_MONGODB_AUTH_PASSWORD,key=password
    

    Где:

    • --image — URL Docker-образа mongo-express, загруженного ранее.

    • --service-account-id — идентификатор сервисного аккаунта mongo-express, созданного ранее.

    • --environment — переменные окружения:

      • ME_CONFIG_BASICAUTH_USERNAME — оставьте значение пустым.
      • ME_CONFIG_BASICAUTH_PASSWORD — оставьте значение пустым.
      • VCAP_APP_PORT — укажите порт 8080.
      • ME_CONFIG_MONGODB_SERVER — укажите публичный адрес ВМ, полученный ранее.
    • --secret environment-variable — секреты ME_CONFIG_MONGODB_AUTH_USERNAME и ME_CONFIG_MONGODB_AUTH_PASSWORD, созданные ранее.

    Результат:

    id: bbajn5q2d74c********
    container_id: bba3fva6ka5g********
    created_at: "2023-02-08T10:34:06.601Z"
    image:
      image_url: cr.yandex/crpd3cicopk7********/mongo-express-container:latest
      image_digest: sha256:de8e1dce7ceceeafaae122f7670084a1119c961cd9ea1795eae92bd********
    resources:
      memory: "1073741824"
      cores: "1"
    execution_timeout: 15s
    service_account_id: ajeqnasj95o7********
    status: ACTIVE
    

Чтобы создать контейнер, воспользуйтесь методом REST API create для ресурса Container или вызовом gRPC API ContainerService/Create.

Чтобы создать ревизию контейнера, воспользуйтесь методом REST API deployRevision для ресурса Container или вызовом gRPC API ContainerService/DeployRevision.

Создайте API-шлюз API GatewayСоздайте API-шлюз API Gateway

Создайте API-шлюз с расширением x-yc-apigateway-integration:serverless_containers.

Консоль управления
CLI
API
  1. В консоли управления выберите каталог, в котором необходимо создать API-шлюз.

  2. В списке сервисов выберите API Gateway.

  3. Нажмите Создать API-шлюз.

  4. В поле Имя введите название API-шлюза — mongo-express-gw.

  5. В блок Спецификация добавьте спецификацию:

    openapi: 3.0.0
    info:
      title: Sample API
      version: 1.0.0
    servers:
      - url: https://mongo-express-container.apigw.yandexcloud.net
    paths:
      /{proxy+}:
        x-yc-apigateway-any-method:
          x-yc-apigateway-integration:
            type: serverless_containers
            container_id: <идентификатор_контейнера>
            service_account_id: <идентификатор_сервисного_аккаунта>
          parameters:
          - explode: false
            in: path
            name: proxy
            required: false
            schema:
              default: '-'
              type: string
            style: simple
    

    Где:

    • container_id — идентификатор контейнера mongo-express-container.
    • service_account_id — идентификатор сервисного аккаунта mongo-express.
  6. Нажмите Создать.

  1. Подготовьте файл спецификации API по стандарту OpenAPI 3.0.

    Спецификация
    openapi: 3.0.0
    info:
      title: Sample API
      version: 1.0.0
    servers:
      - url: https://mongo-express-container.apigw.yandexcloud.net
    paths:
      /{proxy+}:
        x-yc-apigateway-any-method:
          x-yc-apigateway-integration:
            type: serverless_containers
            container_id: <идентификатор_контейнера>
            service_account_id: <идентификатор_сервисного_аккаунта>
          parameters:
          - explode: false
            in: path
            name: proxy
            required: false
            schema:
              default: '-'
              type: string
            style: simple
    

    Где:

    • container_id — идентификатор контейнера mongo-express-container.
    • service_account_id — идентификатор сервисного аккаунта mongo-express.
  2. Укажите параметры и создайте API-шлюз с помощью команды:

    yc serverless api-gateway create \
        --name mongo-express-gw \
        --spec=<путь_к_файлу_спецификации>
    

Чтобы создать API-шлюз, воспользуйтесь методом REST API create для ресурса ApiGateway или вызовом gRPC API ApiGatewayService/Create.

Проверьте работу приложенияПроверьте работу приложения

Перейдите по ссылке https://mongo-express-container.apigw.yandexcloud.net. Откроется административная панель MongoDB.

Как удалить созданные ресурсыКак удалить созданные ресурсы

Чтобы перестать платить за созданные ресурсы:

  1. Удалите API-шлюз mongo-express-gw.
  2. Удалите контейнер mongo-express-container.
  3. Удалите образ из реестра app-registry.
  4. Удалите реестр app-registry.
  5. Удалите секрет mongodb-creds.
  6. Удалите ВМ mongo-vm.
  7. Удалите сервисный аккаунт mongo-express.

Была ли статья полезна?

Предыдущая
Запуск внешних агентов для нагрузочного тестирования
Следующая
Развертывание gRPC-сервиса на основе Docker-образа
Проект Яндекса
© 2025 ООО «Яндекс.Облако»