如何从Azure批处理访问Azure数据库?

如何从Azure批处理访问Azure数据库?,azure,azure-batch,azure-database-mysql,Azure,Azure Batch,Azure Database Mysql,我在Azure批处理任务中的Docker容器中有一个Java进程 Java进程试图简单地建立一个JDBC数据库连接到Azure database for MySQL服务 连接错误包括“IP地址为52.224..(etc)的客户端”不允许连接到此MySQL服务器 因此,我试图学习如何赋予Azure批处理任务连接到Azure MySQL数据库的能力。我找不到任何似乎能够解决这一挑战的文档 我可以看到Azure Database for MySQL包含基于IP的防火墙设置,但不知道如何使用它来允许从A

我在Azure批处理任务中的Docker容器中有一个Java进程

Java进程试图简单地建立一个JDBC数据库连接到Azure database for MySQL服务

连接错误包括“IP地址为52.224..(etc)的客户端”不允许连接到此MySQL服务器

因此,我试图学习如何赋予Azure批处理任务连接到Azure MySQL数据库的能力。我找不到任何似乎能够解决这一挑战的文档

我可以看到Azure Database for MySQL包含基于IP的防火墙设置,但不知道如何使用它来允许从Azure批处理任务进行访问。由于Azure Batch获取了虚拟机-为了将其添加到数据库防火墙规则中,我不知道IP地址是什么。我也不想添加一系列IP地址,使其他Azure帐户能够连接到此数据库

在AWS中,通过基于角色的数据库访问来处理此问题。每个AWS批处理实例都可分配给一个角色,该角色可以访问其所需的任何AWS资源

我没有找到任何有用的文档以类似的方式解决Azure批处理的这个问题,MS支持也没有帮助——为我提供了所有可能的Azure IP地址的列表——大概是要添加到我们的防火墙规则中(不切实际且不安全)


提前感谢您的帮助

实现这一点有两种方法:

  • 最直接的方法是使用()并使用相同的虚拟网络(通常在不同的子网中)来访问
  • 您可以携带自己的IP地址,并在中使用这些公共IP地址

  • 在Azure Portal中,为数据库创建了私有端点连接,其中包括分配私有IP地址。Azure批处理配置随后可以在JDBC连接中引用数据库的私有IP—假设批处理池引用的是同一子网


    谢谢-我会选择选项1。