Web 应用程序的 ARM 模板 + SQL 使用现有 Azure SQL 服务器的数据库

ARM Template for Web App + SQL Database using an existing Azure SQL Server

我们正在使用 Visual Studio Team Services Release 功能,我正在构建完全自动化的 CI / CD 管道。

我使用 VS 模板创建了一个 Azure 资源管理器 模板,该模板创建了典型的 SaaS 工件,即 Web App + SQL 数据库。

我创建了三个标准 VSTS 发布环境 dev、staging 和 prod。每个环境现在都使用 ARM 模板在 Azure 中创建一个独立的产品环境。

Release Environnment ( e.g. dev | staging | prod )
 ARM Template 
  - Hosting Plan
  - SqlServer
    - Database
  - Website
  - AppInsights

因为每个产品环境/ARM 模板还会创建一个 Azure SqlServer,我在 2 个 VSTS 项目后达到了 Azure SQL 每个 Azure 帐户 6 个服务器的限制。

在我按帐户达到六个 Azure SQL 服务器的限制后,我觉得为每个 VSTS 发布环境创建一个 Azure SQL 服务器走错了路。

我应该如何使用 VSTSARM 模板来部署这种简单的 Azure PaaS / SaaS 应用程序而不把自己逼到墙角限制?

欣赏

如果您使用的是 MSDN 订阅,您应该有这种限制。

但在企业协议/生产订阅中,您应该没有任何限制,或者简单地向它应该在几个小时内修复的支持举个旗帜。

根据 Aravind 的说法,如果您只想为 dev/staging/prod 使用不同的服务器,您可以在模板部署中将数据库部署到这些服务器中,而无需创建 SQL 服务器。您只需在数据库名称 属性 中引用服务器,如下所示:

  "resources": [
{
  "name": "[concat(parameters('sqlSserverName'),'/',parameters('dbName'))]",
  "type": "Microsoft.Sql/servers/databases",
...

虽然我很漂亮,但服务器需要与数据库位于同一资源组中,所以如果您有超过 3 个 rgs(例如 dev/staging/prod),那么您可能需要更改配额.