I need help with terraform. I need deploy azure for redis cache using private endpoint. My code:

 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"] } } 

After deploying my redis doesn't ping within vnet. What's wrong with my terraform?

1

1 Answer

You can also add an azurerm_private_endpoint resource and link it to azurerm_redis_cache (or i guess other resource as well).

 resource "azurerm_redis_cache" "default" { ... } resource "azurerm_private_endpoint" "default" { count = 1 name = format("%s-redis%d", var.env, count.index + 1) resource_group_name = data.azurerm_resource_group.default.name location = data.azurerm_resource_group.default.location subnet_id = data.azurerm_subnet.default.id private_service_connection { name = format("%s-redis%d-pe", var.env, count.index + 1) private_connection_resource_id = azurerm_redis_cache.default[count.index].id is_manual_connection = false subresource_names = ["redisCache"] } } 

You can find list of other private resources on AZ docs.

ncG1vNJzZmirpJawrLvVnqmfpJ%2Bse6S7zGiorp2jqbawutJobmxtZGmBen2OoaawZaSkeqq5z6Wcpp2eqXqquoytnKuqkZu8s7mMmrGuqpVis7C%2BjKucnaGjYsSqwMdmp6uhppbBpnnEp5upp5mjwQ%3D%3D