Azure SqlServer 和 SqlDatabase 资源组

问题描述 投票:0回答:2

我想使用 Azure 在单个

ResourceGroup
下为客户创建环境,包括:

  • X 个网络服务器
  • Y 应用服务器
  • 1 个数据库

理想情况下,数据库将托管在属于不同资源组的服务器上,这样我就可以跨多个客户端利用弹性池。

当我尝试使用

New-AzureRmResourceGroupDeployment
执行此操作时,我收到一条错误消息,指出无法找到父 SqlServer。

我已经通过PowerShell创建了一个SqlServer:

New-AzureRmSqlServer -servername "MyServer" -ResourceGroupName "Common" -Location "South Central US"

然后我尝试使用以下方式部署 ClientA:

New-AzureRmResourceGroup -Name 'ClientA' -Location "South Central US"
New-AzureRmResourceGroupDeployment -ResourceGroupName 'ClientA' -TemplateFile azure.ClientDeployment.json -Client 'ClientA'

我的部署配置是:

{
  "parameters": { ... }
  "variables": { ... }
  "resources": [

    {
      "name": "MySqlServer/ClientA",
      "type": "Microsoft.Sql/servers/databases",
      "location": "[resourceGroup().location]",
      "apiVersion": "2014-04-01",
      "tags": {},
      "location": "[resourceGroup().location]",
      "properties": {
        "edition": "Basic"
      },
    }

  ],
  "outputs": {  }
}

结果出现错误消息:

New-AzureRmResourceGroupDeployment : 5:04:33 PM - Resource Microsoft.Sql/servers/databases 'MySqlServer/ClientA' failed with message '{
  "code": "NotFound",
  "message": "Server 'MySqlServer' does not exist in resource group 'ClientA' in subscription '{...}'.",
  "target": null,
  "details": [],
  "innererror": []
}

请注意,两个资源组(Common 和 ClientA)位于相同的订阅和位置。

是否可以让 SqlServer 部分属于一个资源组,而 SqlDatabase 部分属于不同的资源组?

azure-sql-database azure-deployment azure-resource-group
2个回答
0
投票

目前还不可能将 SQLServer 与一个订阅(位置)及其数据库分离到另一个订阅。

MSDN 论坛

查看类似的问题

Azure 资源组也被定义为强大的容器 它的资源,定义了它们的身份(查看所有的 URI Azure 资源),以及基于角色的访问权限的传播,以及 控制资源生命周期 - 从而授予对资源组的访问权限 授予对其资源的权限并删除资源组 它所包含的资源。

结合上面的意思就是包含一个资源组 服务器还必须包含托管/嵌套在该服务器上的数据库。

即使您尝试在单个订阅中创建所有内容并尝试在之后移动特定的 SQLDB 资源组。它不允许这样做(在门户中)

对于您的情况,我认为在公共订阅中创建所有服务,其中位置是公共的或所有客户端都可以轻松访问。

您可以使用 AzureSpeed 从当前位置获取所有位置的延迟,并尝试在对所有客户端具有最小延迟的公共位置中创建订阅。


0
投票

如果有人像我 5 年后一样偶然发现这个问题,答案是,是的,数据库和服务器可以位于同一订阅的不同资源组中,并且仍然可以相互通信。

您也可以看看这两个问题和答案:

Azure - 在不同的 Azure 资源组之间共享 Azure 服务

Azure:跨多个资源组共享资源

© www.soinside.com 2019 - 2024. All rights reserved.