本文介绍:
Azure Database for MySQL 添加到虚拟网络VNET中;
案例演示:
“拒绝公共网络访问”(Deny public network access )设置为“否”的情况下:
- 将Azure Database for MySQL 添加到VNET的某个子网中;
- 该VNET的同子网下的VM可以连接数据库服务器;
- 该VNET的不同子网下的VM无法访问数据库服务器;
- 将Azure Database for MySQL添加到多个VNET中;
“拒绝公共网络访问”(Deny public network access )设置为“是”的情况下:
- 即使配置了VNET或者 公网IP白名单,只要设置 拒绝公用网络访问设置为 是,vm都无法访问数据库服务器;
- 此时只能使用专用终结点连接访问数据库服务器,关于专用终结点连接(private endpoint connections),将在下一节内容中介绍。
“拒绝公共网络访问”(Deny public network access )设置为“否”的情况下:
- 将Azure Database for MySQL 添加到VNET的某个子网中;
- 该VNET的同子网下的VM可以连接数据库服务器(此时无需添加IP防火墙);
- 该VNET的不同子网下的VM无法访问数据库服务器;
- 将Azure Database for MySQL添加到多个VNET中;
视频演示:
图文示例:
将mysql添加到 虚拟网络中:
案例(1):
Deny Public Network Access =No
Allow Access to Azure services =NO
VM和MySQL在同一个VNET的同一个subnet中
VM 公网IP没有添加到MySQL的IP白名单中
此时VM可以访问MySQL数据库。
案例(2):
当前状态:
Deny Public Network Access =No
Allow Access to Azure services =NO
VM和MySQL不在同一个VNET的同一个subnet中
VM 公网IP没有添加到MySQL的IP白名单中
此时VM不能访问MySQL数据库。
案例(3):
Deny Public Network Access =YES
此时VM不能访问MySQL数据库。
提示:The public network access on this server is disabled. To connect to this server, use the private endpoint from inside your virtual network.
注意:
知识点(1)-虚拟网络服务终结点(Virtual Network service endpoints)
MySQL连接到VNET中是通过虚拟网络服务终结点(Virtual Network service endpoints)实现的,通过在 Azure 主干网络上实现经过优化的路由,虚拟网络 (VNet) 服务终结点可为 Azure 服务提供安全的直接连接。 使用终结点可以保护关键的 Azure 服务资源,只允许在客户自己的虚拟网络中对其进行访问。 服务终结点使 VNet 中的专用 IP 地址能够到达 Azure 服务的终结点,且无需在 VNet 中使用公共 IP 地址。
关于VNET service endpoint 的更多内容,可参见《https://docs.microsoft.com/zh-cn/azure/virtual-network/virtual-network-service-endpoints-overview》
知识点(2)- 关于MySQL的服务器终结点名称“Microsoft.Sql”
针对MySQL的VNET 服务终结点使用服务类型名称 Microsoft.Sql ,此服务标记也适用于 Azure SQL 数据库、Azure Database for PostgreSQL 和 MySQL 服务。
知识点(3)-默认的MySQL的服务终结点和VNET配置不能跨子网
如果要对多个子网配置通过VNET连接到MySQL,则可以在MySQL中配置多个VNET 规则,针对Microsoft.Sql的服务器终结点,最多设置128个VNET Rules可参见(https://docs.microsoft.com/zh-cn/azure/virtual-network/virtual-networks-faq#virtual-network-service-endpoints)
如下图所示:
关于虚拟网络规则(VNET Rules),请参见《https://docs.microsoft.com/zh-cn/azure/mysql/concepts-data-access-and-security-vnet》