我一直在学习如何使用Terraform在Azure中提供资源,包括Redis缓存。
我创建了两个示例,内容如下:
resource "azurerm_redis_cache" "my-public-cache" {
name = var.name
location = var.location
resource_group_name = var.parent_resource_group.name
capacity = 0
family = "C"
sku_name = "Basic"
enable_non_ssl_port = false
minimum_tls_version = "1.2"
public_network_access_enabled = true
redis_version = 6
}
resource "azurerm_redis_cache" "my-private-cache" {
name = var.name
location = var.location
resource_group_name = var.parent_resource_group.name
capacity = 0
family = "C"
sku_name = "Basic"
enable_non_ssl_port = false
minimum_tls_version = "1.2"
public_network_access_enabled = false
redis_version = 6
}
除了名称之外,唯一的区别是public_network_access_enabled
设置。所以一个是“public”,另一个不是。
这似乎是工作,因为我可以连接到公共一个从我的工作站,但不是另一个。
我的问题是,这实际上对这两个示例产生了什么影响,以及我在Azure门户中的什么地方可以看到这种差异?我一直在门户中查看它们,但我看不到任何不同之处。当同事们询问该设置实际上产生了什么差异时,我希望能够在门户中指出一些东西。但目前,我不能。
编辑:为了清楚起见,问题不是“我如何连接到私有示例?”。另一种表达问题的方式可以是:如何查看这两个示例并区分哪个是公共的,哪个是私有的(假设名称不会给予,并且私有端点的存在不会提供任何线索)?
1条答案
按热度按时间83qze16e1#
我在自己的环境中尝试,得到了以下结果:
这实际上对两个示例产生了什么不同,我可以在Azure门户的哪里看到这种差异?
public_network_access_enabled = true
**时,它会将Redis网络的Azure缓存部署为您提到的“公共”。public_network_access_enabled = false
**后,会将Redis网络的Azure Cache部署为“私有”。当你在azure缓存中创建一个私有网络时,你需要将私有端点添加到terraform代码中。
一米二米一x
输出:
上面的代码已成功执行,您可以在门户中看到差异。
门户网站:
参考:How to implement in terraform azure for redis with private endpoint? - Stack Overflow by Tom Lime。