1. Обзор
Cloud Run — это полностью управляемая бессерверная платформа, позволяющая запускать контейнеры без сохранения состояния, вызываемые через HTTP-запросы. Cloud Run — бессерверная платформа: она абстрагирует все управление инфраструктурой, позволяя вам сосредоточиться на самом важном — создании превосходных приложений.
Он построен на основе Knative , что позволяет вам выбирать между запуском контейнеров либо в полностью управляемом режиме с помощью Cloud Run, либо в кластере Google Kubernetes Engine с помощью Cloud Run на GKE.
Что вы узнаете
В этой лабораторной работе вы научитесь выполнять следующие действия:
- Развертывание приложения Cloud Run
Предварительные требования
- Для выполнения этой лабораторной работы предполагается знакомство со средами Cloud Console и Cloud Shell.
2. Настройка и требования
Настройка облачного проекта
- Войдите в консоль Google Cloud и создайте новый проект или используйте существующий. Если у вас еще нет учетной записи Gmail или Google Workspace, вам необходимо ее создать .



- Название проекта — это отображаемое имя участников данного проекта. Это строка символов, не используемая API Google. Вы можете изменить её в любое время.
- Идентификатор проекта уникален для всех проектов Google Cloud и является неизменяемым (его нельзя изменить после установки). Консоль Cloud автоматически генерирует уникальную строку; обычно вам неважно, какая она. В большинстве практических заданий вам потребуется указать идентификатор проекта (обычно он обозначается как
PROJECT_ID). Если сгенерированный идентификатор вас не устраивает, вы можете сгенерировать другой случайный идентификатор. В качестве альтернативы вы можете попробовать свой собственный и посмотреть, доступен ли он. После этого шага его нельзя изменить, и он останется неизменным на протяжении всего проекта. - К вашему сведению, существует третье значение — номер проекта , который используется некоторыми API. Подробнее обо всех трех значениях можно узнать в документации .
- Далее вам потребуется включить оплату в консоли Cloud для использования ресурсов/API Cloud. Выполнение этого практического задания не должно стоить дорого, если вообще что-либо. Чтобы отключить ресурсы и избежать дополнительных расходов после завершения этого урока, вы можете удалить созданные ресурсы или удалить весь проект. Новые пользователи Google Cloud имеют право на бесплатную пробную версию стоимостью 300 долларов США .
Настройка среды
Активируйте Cloud Shell, нажав на значок справа от строки поиска.

В оболочке Cloud Shell включите API Cloud Run:
gcloud services enable run.googleapis.com
Если появится запрос на авторизацию, нажмите «Авторизовать», чтобы продолжить.

В результате должно появиться сообщение об успешном завершении, похожее на это:
Operation "operations/acf.p2-327036483151-73d90d00-47ee-447a-b600-a6badf0eceae" finished successfully.
3. Подготовка заявления
Сначала вам нужно будет подготовить простое Node.js-приложение на основе Express, которое будет обрабатывать HTTP-запросы.
В Cloud Shell создайте новую директорию с именем starter-nodejs , затем перейдите в эту директорию:
mkdir starter-nodejs
cd starter-nodejs
Создайте файл package.json , выполнив следующие команды:
cat > ./package.json << EOF
{
"name": "cloudrun-starter-app",
"version": "1.0.0",
"description": "Node.js Starter Application",
"main": "index.js",
"scripts": {
"start": "node index.js"
},
"author": "",
"license": "Apache-2.0",
"dependencies": {
"express": "^4.18.2"
}
}
EOF
Приведённый выше файл содержит команду запуска скрипта и зависимость от веб-фреймворка Express.
Далее, в той же директории создайте файл index.js , выполнив следующие команды:
cat > ./index.js << EOF
const express = require('express');
const app = express();
app.get('/', (req, res) => {
console.log('Received a request.');
res.send("Hello Cloud Run!");
});
const port = process.env.PORT || 8080;
app.listen(port, () => {
console.log('Listening on port', port);
});
EOF
Этот код создает базовый веб-сервер, который прослушивает порт, определенный переменной среды PORT. Ваше приложение теперь готово к контейнеризации и развертыванию.
4. Развертывание облачного приложения
Выполните указанную ниже команду для развертывания вашего приложения:
gcloud run deploy starter-app \
--source . \
--region us-central1 \
--allow-unauthenticated \
--max-instances=3
Подтвердите создание репозитория в реестре артефактов:
Deploying from source requires an Artifact Registry Docker repository to store built containers. A repository named [cloud-run-source-deploy] in region [us-central1] will be created. Do you want to continue (Y/n)? y
В результате выполнения предыдущей команды будут выполнены следующие шаги:

Результаты выполнения этих шагов можно посмотреть в консоли Cloud Console: Cloud Build , Cloud Storage , Artifact Registry и Cloud Run .

5. Поздравляем!
Поздравляем! Вы только что развернули приложение в Cloud Run.
Что мы рассмотрели:
- Как развернуть стартовое приложение в Cloud Run
Что дальше:
Ознакомьтесь с другими обучающими материалами Cymbal Eats:
- Запуск облачных рабочих процессов с помощью Eventarc
- Запуск обработки событий из облачного хранилища.
- Подключение к частному серверу CloudSQL из Cloud Run
- Подключение к полностью управляемым базам данных из Cloud Run
- Защита бессерверного приложения с помощью прокси-сервера с поддержкой идентификации (IAP)
- Запуск заданий Cloud Run с помощью Cloud Scheduler
- Безопасное развертывание в облаке
- Обеспечение безопасности входящего трафика облачных сервисов
Уборка
Чтобы избежать списания средств с вашего аккаунта Google Cloud за ресурсы, используемые в этом руководстве, либо удалите проект, содержащий эти ресурсы, либо сохраните проект и удалите отдельные ресурсы.
Удаление проекта
Самый простой способ избежать выставления счетов — удалить проект, созданный для этого урока.