我应该将一个或多个 Azure App Gateway 用于多个环境(开发、测试、生产)吗?

Should I use one or multiple Azure App Gateway with multiple environments (dev, test, prod)?

我在 App Gateway 后面有应用服务,需要维护几个不同的环境(开发、测试、生产)。我还有带有两个子网的 vnet,App Gateway 的前端和应用程序服务的后端。每个环境都有自己的子域,即。 dev.example.com、test.example.com 和 example.com(针对产品)。使用 terraform 和 Azure Pipelines 自动部署。

我应该使用单个 App Gateway 来处理此流量(并降低成本)还是应该在每个环境中使用 App Gateway。在这里寻找好的做法。

Good/best 实践取决于什么适合你的情况。

对于这个问题,我认为主要考虑以下因素:

  1. 您对 dev/test/prod 仅按子网进行隔离是否满意? (我相信这通常被认为足够了。)
  2. 您是否考虑过如果以后有必要添加单独的应用程序网关会有多困难? (如果我理解正确的话,为同一个 vnet 添加额外的应用程序网关是没有问题的,并且将您的 dev/test 服务切换到另一个网关 [s] 如果小心操作,对 prod 服务的风险最小。)
  3. 您是否乐于在现有 Terraform 状态之外管理网关? (假设您已经有强烈建议的单独 dev/test/prod 个状态。)