You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure门户查看Terraform配置的Redis缓存public_network_access_enabled差异?

问题描述

我正在学习用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配置项:一个设为true(公网可访问),另一个设为false。目前我能从工作站连接公网实例,但无法连接另一个。

我的问题:

  1. 该配置对两个实例实际产生了哪些差异?
  2. 在Azure门户中哪里可以看到这些差异?我在门户查看时没发现区别,希望能在同事询问时指向门户中的具体位置。

补充说明:我的问题并非“如何连接私有实例”,换一种表述是:在不依赖名称和私有端点的情况下,如何通过Azure门户区分这两个实例的公网访问状态?


回答

一、public_network_access_enabled配置带来的实际差异

  • 公网访问权限:
    • 设为true的实例:允许公网流量直接访问Redis的默认*.redis.cache.windows.net端点,只要客户端IP在防火墙允许列表内(若配置),就能从公网环境连接。
    • 设为false的实例:完全阻断所有公网流量,只能通过私有端点或同一虚拟网络内的资源访问,公网环境(比如你的工作站)无法直接连接。
  • 端点与DNS解析:
    • 公网实例的公网端点处于活跃状态,DNS解析会返回可被公网访问的IP;
    • 私有实例的公网端点被禁用,DNS解析不会返回有效公网IP,即使返回也无法通过公网访问。
  • 防火墙规则作用:
    • 公网实例的防火墙规则(若配置)会对进公网流量生效;
    • 私有实例的防火墙规则会被忽略,因为公网流量已被完全阻断。

二、Azure门户中查看差异的具体位置

你可以通过以下固定路径快速查看公网访问状态,无需依赖实例名称或私有端点:

  1. 进入目标Redis缓存实例的门户页面;
  2. 在左侧导航栏的设置分类下,点击网络选项;
  3. 在页面顶部会看到公网访问的开关状态:
    • 公网可访问的实例显示为“启用”;
    • 公网不可访问的实例显示为“禁用”。

内容的提问来源于stack exchange,提问作者Dan McCoy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 06:30:19