Для работы App Hosting требуется проект с тарифным планом Blaze с оплатой по мере использования. При использовании этого тарифного плана для вашего проекта действуют следующие бесплатные лимиты на продукты Google Cloud, вызываемые App Hosting:
| Товар | Функция | Бесплатно | Оплачивается (при превышении лимитов бесплатного использования) |
|---|---|---|---|
| App Hosting | Исходящая пропускная способность | 10 ГиБ/месяц | 0,15 долл.США за кешированный ГиБ 0,20 долл.США за 1 ГиБ некешированных данных |
| Artifact Registry | Хранилище | 0,5 ГБ в месяц | 0,10 доллара США за ГБ в месяц, если объем превышает 0,5 ГБ |
| Исходящий трафик | Бесплатно | Полный список цен на исходящий трафик приведен на странице с ценами на Artifact Registry. | |
| Cloud Run | ЦП | 180 000 виртуальных ЦП в секунду | 0,00002400 долл.США за виртуальный ЦП в секунду |
| Память | 360 000 ГиБ-сек. | 0,00000250 долл. США за ГиБ-сек. | |
| Запросы | 2 млн запросов | 0,40 долл.США за миллион запросов | |
| Cloud Build | Минуты сборки | 2500 минут сборки | 0,006 доллара США за минуту сборки |
| Cloud Logging | Хранилище журналов | 50 ГиБ на проект в месяц | 0,50 долл.США/ГиБ |
| Хранение журналов | Бесплатно в течение 30 дней | 0,01 доллара США за гибибайт в месяц для журналов, хранящихся более 30 дней. | |
| Secret Manager | Активные версии секретов | 6 версий в месяц | 0,06 доллара США за версию для каждого местоположения |
| Операции с доступом | 10 000 операций в месяц | 0,03 доллара США за 10 000 операций | |
| Уведомления о ротации | 3 ротации в месяц | 0,05 доллара США за ротацию | |
| Cloud Storage1 | Стандартное хранилище2 | 5 ГБ-месяцев | 0,020 долл.США за 1 ГБ в месяц |
| Операции класса A2 | 5000 | 0,0050 долл.США за 1000 операций | |
| Операции класса B2 | 50 000 | 0,0004 доллара США за 1000 операций | |
| Передача данных2 | 100 ГБ из Северной Америки в каждый пункт назначения Google Cloud Data Transfer (кроме Австралии и Китая) | 0,02 долл.США за ГБ для Северной Америки; 0,02 доллара США за ГБ для Европы; 0,08 долл.США за ГБ для Азии; |
1Cloud Storage используется только при развертывании из локального источника с помощью CLI Firebase или при загрузке сжатого архива в консоли Firebase.
2Cloud Storage Квоты Always Free применяются только к серверным частям App Hosting в регионе US-CENTRAL1.
Бесплатное использование суммируется по проектам в платежном аккаунте и сбрасывается каждый месяц. Вы платите только за использование сверх лимитов.
Рассчитать стоимость
Расходы на проект Firebase App Hosting возникают, когда вы превышаете лимиты бесплатного использования, предусмотренные тарифным планом Blaze с оплатой по мере использования. Вы платите за следующие Firebase App Hosting позиции:
Некешированная исходящая пропускная способность – это данные, которые передаются непосредственно с серверов-источников сервиса Firebase App Hosting для выполнения запросов пользователей. Серверы-источники расположены между сервисом Cloud Run серверной части App Hosting и Cloud CDN. Это происходит, когда запрашиваемый контент не хранится в кеше Cloud CDN (то есть не кешируется). В результате сервер-источник должен получить данные и отправить их пользователю.
Этот процесс влечет за собой расходы по двум основным причинам:
- Заполнение кеша Cloud CDN. Когда пользователь запрашивает некешированный контент, запускается процесс получения этих данных с сервера-источника и сохранения их копии в кеше Cloud CDN для будущих запросов. Эта первоначальная передача данных из источника в CDN влияет на общую стоимость.
- Передача данных конечному пользователю. Как только контент становится доступен (напрямую из источника или из CDN после первоначального заполнения кеша), он должен быть передан на устройство конечного пользователя в запрошенное место назначения. Эта передача данных также влияет на стоимость.
Кешированная исходящая пропускная способность – это данные, переданные в гибибайтах из кешей Cloud CDN на устройство конечного пользователя в запрошенном пункте назначения.
Информацию о том, как оптимизировать производительность с помощью Cloud CDN, можно найти в статье Кеширование контента приложения.
Вы также будете платить за использование продуктов Google Cloud, на которых работает ваш бэкенд:
- Cloud Run
- Cloud Build
- Artifact Registry
- Secret Manager
- Cloud Logging
- Cloud Storage
Точные цены для этих позиций можно посмотреть на странице с ценами.
Примеры счетов
Стоимость запуска динамического веб-приложения в App Hosting может сильно различаться в зависимости от таких факторов, как трафик, настройки среды выполнения и размер ответа. Расходы в нашем примере основаны на определенных предположениях об этих факторах.
Трафик и размер ответа
Когда бесплатная квота будет исчерпана, за каждое посещение сайта будет взиматься плата. Эти расходы не фиксированы и зависят от таких факторов, как количество фоновых запросов, запускаемых каждым посещением, вычислительная мощность, необходимая для создания ответа, и размер ответа. Некоторые запросы просто дороже других. Например, показ страницы с большим количеством изображений или сложными данными, скорее всего, будет стоить дороже, чем показ простого HTML-файла. Аналогично, динамическое создание страницы на сервере обычно обходится дороже, чем предоставление кешированной версии из CDN.
Чтобы эффективно оценить затраты на приложение, необходимо учитывать несколько ключевых показателей:
- Количество запросов за посещение. Сколько отдельных запросов отправляется во время типичного посещения пользователя? (Помните, что одна загрузка страницы обычно включает множество запросов на получение объектов, таких как изображения, CSS и JavaScript.)
- Средний размер ответа. Каков типичный размер данных, отправляемых в ответ на каждый запрос?
- Средняя задержка ответа. Сколько времени в среднем требуется вашему приложению, чтобы ответить на запрос?
Вы можете оценить эти значения, изучив журналы запросов приложения в консоли Google Cloud. В наших примерах расчетов предполагается следующее:
| Характеристики трафика | |
|---|---|
| ~Оплачиваемые запросы за одно посещение | 10 |
| Средний размер ответа (КиБ) | 400 |
| Средняя задержка ответа (мс) | 1000 |
| Доля совпадений в кеше | 50% |
Настройки среды выполнения
| Cloud Run settings1 | |
|---|---|
| Ограничение ЦП (виртуальный ЦП) | 1 |
| Лимит памяти (МиБ) | 512 |
| Параллельные запросы | 80 |
| minInstances | 0 |
| maxInstances | 100 |
1 Это значения по умолчанию, предоставленные App Hosting. Вы можете проверить конфигурацию Cloud Run для каждого развертывания, посмотрев сведения о версии Cloud Run. На вкладке Развертывания в консоли Firebase наведите указатель на развертывание, нажмите на значок меню в виде трех точек и выберите "Посмотреть версию Cloud Run".
Другие предположения
| Использование проекта | |
|---|---|
| Способ развертывания | GitHub |
| Сборок в месяц | 20 |
| Минуты на сборку | 8 |
| Хранение журналов | < 30 дней |
| Версии секрета | < 6 версий |
| Размер образа в Artifact Registry (МБ) | 380 |
Пример счета
С учетом этих предположений мы можем экстраполировать следующие затраты для этого примера сценария. При 10 000 посещений затраты практически отсутствуют, а при 1 000 000 посещений они становятся заметными. Посещением считается запрос к приложению, инициированный пользователем.
| Код товара | Цена | Единица измерения | Бесплатный уровень | 10 000 посещений | Стоимость 10 000 посещений | 1 миллион посещений | Стоимость 1 млн посещений |
|---|---|---|---|---|---|---|---|
| Cloud Run – ЦП | 0,00 долл. США |
ВЦП-секунда | 180 000,00 |
1250 |
0,00 долл. США |
125000 |
0,00 долл. США |
| Cloud Run – память | 0,00 долл. США |
ГиБ-сек. | 360 000,00 |
625 |
0,00 долл. США |
62500 |
0,00 долл. США |
| Cloud Run – запросы | 30 руб. |
Запросы M SSR | 2,00 |
0,05 |
0,00 долл. США |
5 |
1,20 $ |
| Cloud Build – минуты сборки | 0,006 долл.США |
минута сборки | 2500,00 |
160 |
0,00 долл. США |
160 |
0,00 долл. США |
| Artifact Registry – хранилище | 0,10 долл. США |
ГиБ (хранится) | 0,50 |
0,6 |
0,01 рубля |
0,6 |
0,01 рубля |
| App Hosting – исходящая пропускная способность без кеширования | 0,20 долл.США |
ГиБ | 10 |
2 |
0,00 долл. США |
200 |
39,00 долл.США |
| App Hosting – кешированная исходящая пропускная способность | 0,15 долл. США |
ГиБ | 2 |
0,00 долл. США |
200 |
29,25 долл.США |
|
| Secrets Manager – активные версии секретов | 0,06 долл.США |
версии | 6,00 |
6,00 |
0,00 долл. США |
6,00 |
0,00 долл. США |
| Secrets Manager – операции доступа | 0,03 долл.США |
10 000 операций | 1.0 |
0,10 |
0,00 долл. США |
5,00 |
0,12 долл.США |
| Secrets Manager – уведомления о ротации | 0,05 долл. США |
ротации | 3,00 |
0,00 |
0,00 долл. США |
0,00 |
0,00 долл. США |
| Cloud Logging – хранилище журналов | 0,50 долл. США |
ГиБ | 50,00 |
0,50 |
0,00 долл. США |
50,00 |
0,00 долл. США |
| Cloud Logging – хранение журналов | 0,01 рубля |
ГиБ/месяц | 30 дней | 0,00 долл. США |
0,00 долл. США |
||
| Итого | 0,01 долл.США |
69,58 долл.США |
Расчеты
| Код товара | Единица измерения | Как рассчитать использование |
|---|---|---|
| Cloud Run – ЦП; | ВЦП-секунда | vCPU-секунды = vCPU на экземпляр * средняя задержка ответа на запрос * количество посещений * оплачиваемые запросы за посещение / количество параллельных запросов |
| Cloud Run – память | ГиБ-сек. | ГиБ-секунды = ГиБ на экземпляр * средняя задержка ответа на запрос * количество посещений * количество оплачиваемых запросов за посещение / количество параллельных запросов |
| Cloud Run – запросы | Запросы M SSR | M SSR requests = (# of visits * billed requests per visit / 1M) * (1 - cache-hit rate) |
| Cloud Build – минуты сборки | минута сборки | минуты сборки = количество сборок * количество минут на сборку |
| Artifact Registry – хранилище 1 | ГиБ (хранится) | ГиБ (хранится) = 2 * размер образа |
| App Hosting – пропускная способность без кеширования | ГиБ | Некешированный трафик (ГиБ) = (1 - коэффициент совпадений в кеше) * (количество посещений * количество оплачиваемых запросов за посещение * исходящая пропускная способность на запрос) |
| App Hosting – пропускная способность кеша | ГиБ | Кешированные гибибайты = доля совпадений в кеше * (количество посещений * количество оплачиваемых запросов за посещение * исходящая пропускная способность на запрос) |
1 App Hosting автоматически удаляет старые образы из Artifact Registry, сохраняя образы успешных сборок за последние 14 дней (и всегда сохраняя как минимум 5 последних успешных сборок, а также текущую сборку). Подробнее о правилах очистки сборок…