如何安排 AppEngine Flex 实例在 Google Cloud 中停止和启动?

问题描述

我需要降低 Google Cloud AppEngine Flex 帐户的费用。我需要在工作时间内自动启动实例,然后在晚上停止它们。这一切每天都在发生。我找到了有关 Compute Engine 的信息,但没有找到有关 AppEngine 的信息。

解决方法

您无法将 App Engine flex 扩展到 0。您需要考虑其他可自动缩放为 0 的产品(App Engine 标准或 Cloud Run)或重新设计您的架构。

您可以想象部署在 Compute Engine 上,从而使用 Cloud Scheduler 来安排停止和启动。


如果你真的要使用App Engine Flex,那就更难了,因为,当你在默认服务上时,你不能删除所有版本,至少需要服务。这里的想法是在 App Engine 上部署 2 个服务:

  1. 您的 App Engine Flex 应用
  2. App Engine 标准(例如,没有任何内容或维护页面的虚拟)

我们的想法是将晚上 100% 的流量提升到标准版,以卸载 App Engine flex 并且在夜间无需支付任何费用。上午,将100%的流量推广到Flex版。

,

App Engine 提供 capacity 以根据应用程序指标缩小和放大。

自动缩放

自动伸缩根据请求创建实例 率、响应延迟和其他应用程序指标。你可以 为这些指标中的每一个指定阈值,以及最小 编号实例以始终保持运行。

要存档,您需要configure your App.yaml并添加automatic_scaling选项。

automatic_scaling:
  min_num_instances: 1
  max_num_instances: 15
  cool_down_period_sec: 180
  cpu_utilization:
      target_utilization: 0.6
  target_concurrent_requests: 100

您可以将 min_num_instancesmax_num_instances 中的参数调整为 1(或更大)的值,以匹配您的预算和结算需求

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...