【发布时间】:2022-10-06 23:02:04
【问题描述】:
我需要 terraform 方面的帮助。我需要使用私有端点为 redis 缓存部署 azure。我的代码:
resource \"azurerm_redis_cache\" \"redis_cache_example\" {
name = \"redis-cache-ex\"
location = var.location
resource_group_name = var.resource_group_name
capacity = var.redis_plan_capacity
family = var.redis_plan_family
sku_name = var.redis_plan_sku_name
enable_non_ssl_port = false
minimum_tls_version = \"1.2\"
public_network_access_enabled = false
}
resource \"azurerm_private_dns_zone\" \"private_dns_zone_example\" {
name = \"example.redis-ex.azure.com\"
resource_group_name = var.resource_group_name
}
resource \"azurerm_private_dns_zone_virtual_network_link\" \"virtual_network_link_example\" {
name = \"exampleVnet.com\"
private_dns_zone_name = azurerm_private_dns_zone.private_dns_zone_example.name
virtual_network_id = var.vnet_id
resource_group_name = var.resource_group_name
}
resource \"azurerm_private_endpoint\" \"redis_pe_example\" {
name = \"redis-private-endpoint-ex\"
location = var.location
resource_group_name = var.resource_group_name
subnet_id = var.subnet_id
private_dns_zone_group {
name = \"privatednsrediszonegroup\"
private_dns_zone_ids = [azurerm_private_dns_zone.private_dns_zone_example.id]
}
private_service_connection {
name = \"peconnection-example\"
private_connection_resource_id = azurerm_redis_cache.redis_cache_example.id
is_manual_connection = false
subresource_names = [\"redisCache\"]
}
}
部署我的 redis 后,在 vnet 中没有 ping。我的 terraform 出了什么问题?
-
通过添加一个资源 azurerm_private_dns_zone_virtual_network_link 解决了这个问题:
resource \"azurerm_private_dns_zone_virtual_network_link\" \"vn_link_example\" { name = \"vn_link_redis_example\" private_dns_zone_name = azurerm_private_dns_zone.virtual_network_link_example virtual_network_id = var.vnet_id resource_group_name = var.resource_group_name tags = var.tags }