【Azure Redis 缓存】如何使得Azure Redis可以仅从内网访问? Config 及 Timeout参数配置
问题描述
问题一:Redis服务,如何可以做到仅允许特定的子网内的服务器进行访问?
问题二:Redis服务,timeout和keepalive的设置是怎样的?是否可以配置成timeout 0?
问题三:需要在Redis中做一些配置的调试,但是Config命令禁用了,应该如何调试?
关于指定内网访问(问题一)
标准版Redis开启Private Endpoint之后,默认是只能在虚拟网络内部才可以访问的,且Redis防火墙则无法使用。同时,Private Endpoint不支持NSG。
在Redis开启Private Endpoint如果选择使用Azure Private DNS Zone的话,那么只有在该VNET中才可以解析到Private Endpoint内网IP。所以对于限制某些子网(subnet)可以访问Azure Redis的要求可以使用:
1: 使用高级版Redis并且配置虚拟网络,即可通过虚拟网络来实现该需求。
2: 使用标准版Redis开启private endpoint后,使用Redis Host Name来访问,则只有在该VNET中才可以访问Azure Redis,因为即时与其他VNET有打通,但是在其他VNET中也无法解析到内网IP。
3: 使用标准版Redis开启private endpoint后,为源端subnet设置NSG Outbound规则允许或者禁止访问private endpoint的内网IP。
在使用内网访问Redis时,需要注意的有:
防火墙规则可以与 VNet 注入的缓存一起使用,但目前不能与专用终结点一起使用
Azure 防火墙规则
Azure 防火墙是托管的、基于云的网络安全服务,可保护 Azure VNet 资源。 它是一个服务形式的完全有状态防火墙,具有内置的高可用性和不受限制的云可伸缩性。 可以跨订阅和虚拟网络集中创建、实施和记录应用程序与网络连接策略。
优点
- 配置防火墙规则时,仅指定 IP 地址范围内的客户端连接可以连接到缓存。 即使配置了防火墙规则,仍始终允许来自 Azure Redis 缓存监视系统的连接。 还允许你定义的 NSG 规则。
限制
- 防火墙规则可以与 VNet 注入的缓存一起使用,但目前不能与专用终结点一起使用。
Redis专用终结点不支持NSG
是否对专用终结点启用了网络安全组 (NSG)?
否,已对专用终结点禁用了 NSG。 尽管包含专用终结点的子网可以有关联的 NSG,但这些规则不会针对专用终结点处理的流量生效。 必须禁用网络策略的强制实施,才能在子网中部署专用终结点。 NSG 仍会在同一子网中托管的其他工作负荷上强制实施。 任何客户端子网上的路由将使用 /32 前缀,更改默认路由行为需要类似的 UDR。
对源客户端上的出站流量使用 NSG 规则来控制流量。 部署具有 /32 前缀的单个路由,以替代专用终结点路由。 仍支持出站连接的 NSG 流日志和监视信息,并且可以使用这些信息
专用终结点限制 :网络安全组 (NSG) 规则和用户定义的路由不适用于专用终结点
说明:专用终结点不支持 NSG。 尽管包含专用终结点的子网可以有关联的 NSG,但这些规则不会针对专用终结点处理的流量生效。 必须禁用网络策略的强制实施,才能在子网中部署专用终结点。 NSG 仍会在同一子网中托管的其他工作负荷上强制实施。 任何客户端子网上的路由将使用 /32 前缀,更改默认路由行为需要类似的 UDR
缓解措施:对源客户端上的出站流量使用 NSG 规则来控制流量。 部署具有 /32 前缀的单个路由,以替代专用终结点路由。 仍支持出站连接的 NSG 流日志和监视信息,并且可以使用这些信息
Redis Config 设置参数(问题二&问题三)
Azure Redis是无法执行Config命令的,所以timeout是没有办法配置的,默认值为: tcp-keepalive = 25 & timeout = 600
Azure Redis 缓存中不支持 Redis 命令
因为 Azure Redis 缓存实例的配置和管理由 Microsoft 进行管理,所以禁用了以下命令。 如果尝试调用它们,将收到一条类似于
"(error) ERR unknown command"的错误消息。
- BGREWRITEAOF
- BGSAVE
- CONFIG
- DEBUG
- MIGRATE
- SAVE
- SHUTDOWN
- SLAVEOF
- CLUSTER - 群集写命令已禁用,但允许使用只读群集命令。
有一些config参数是可以修改的,不过需要使用Powershell修改:https://docs.microsoft.com/zh-cn/powershell/module/az.rediscache/set-azrediscache?view=azps-6.0.0

举例:
# Create redis configuration JSON
$RedisConfiguration = @{"rdb-backup-enabled"="true"; "rdb-backup-frequency"="60"; "rdb-storage-connection-string"="$StorageConnectionString"; "rdb-backup-max-days"="7"} # Update an existing cache
Set-AzRedisCache -ResourceGroupName $ResourceGroupName -Name $CacheName -RedisConfiguration $RedisConfiguration
【完】
【Azure Redis 缓存】如何使得Azure Redis可以仅从内网访问? Config 及 Timeout参数配置的更多相关文章
- 【Azure Redis 缓存】由Azure Redis是否可以自定义密码而引申出Azure PaaS的Redis服务是否可以和自建的Redis进行主从配置呢?
问题描述 在自建的Redis服务中,可以通过 config set requirepass <Password> 设置Redis的登录密码,然后使用auth 命令输入密码.操作命令如下: ...
- 【Azure 应用服务】App Service与APIM同时集成到同一个虚拟网络后,如何通过内网访问内部VNET的APIM呢?
问题描述 App Service访问的APIM已配置内部虚拟网络(Internal VNet)并拥有内网IP地址.App Service与APIM都在相同的虚拟网络(VNET)中.App Servic ...
- 高级运维(六):源码安装Redis缓存服务、常用Redis数据库操作指令、配置Redis主从服务器
一.源码安装Redis缓存服务 目标: 本案例要求先快速搭建好一台Redis服务器,并测试该缓存服务器: 1> 设置变量test,值为123 2> 查看变量test的值 3> 设置计 ...
- 【Redis缓存机制】1.Redis介绍和使用场景
(1)持久化数据库的缺点平常我们使用的关系型数据库有Mysql.Oracle以及SqlServer等,在开发的过程中,数据通常都是通过Web提供的数据库驱动来链接数据库进行增删改查. 那么,我们日常使 ...
- redis允许内网访问
如题有A.B两台服务器. A服务器上装有reis,内网IP:192.168.0.1 B服务器需要访问A服务器上的redis 一.修改A服务器上redis.conf文件 bind 192.168.0.1 ...
- 【Azure Redis 缓存 Azure Cache For Redis】如何设置让Azure Redis中的RDB文件暂留更久(如7天)
问题描述 Azure Redis和所有的Redis服务一样,可以让你保留存储在Redis中的数据.以防万一在Redis服务器出现故障的时候能尽可能小的减少数据的损失.在Azure Redis服务中,默 ...
- 【Azure Redis 缓存 Azure Cache For Redis】在创建高级层Redis(P1)集成虚拟网络(VNET)后,如何测试VNET中资源如何成功访问及配置白名单的效果
当使用Azure Redis高级版时候,为了能更好的保护Redis的安全,启用了虚拟网路,把Redis集成在Azure中的虚拟网络,只能通过虚拟网络VENT中的资源进行访问,而公网是不可以访问的.但是 ...
- 【Azure Redis 缓存 Azure Cache For Redis】Azure Redis由低级别(C)升级到高级别(P)的步骤和注意事项, 及对用户现有应用的潜在影响,是否需要停机时间窗口,以及这个时间窗口需要多少的预估问题
问题描述 由于Azure Redis的性能在不同级别表现不同,当需要升级/缩放Redis的时候,从使用者的角度,需要知道有那些步骤? 注意事项? 潜在影响?停机事件窗口? 升级预估时间? 解决方案 从 ...
- 【Azure Redis 缓存】Azure Redis 服务不支持指令CONFIG
问题描述 在Azure Redis的门户页面中,通过Redis Console连接到Redis后,想通过CONFIG命令来配置Redis,但是系统提示CONFIG命令不能用. 错误消息为:(error ...
- 【Azure Redis 缓存】Azure Redis功能性讨论
关于使用Azure Redis服务在以下九大方面的功能性的解说: 高可用 备份可靠性 配置自动化 部署多样性 快速回档功能 数据扩容 SLA稳定性 数据安全性 监控系统 一:高可用 Azure Cac ...
随机推荐
- 基于javaPoet的缓存key优化实践
一. 背景 在一次系统opsreview中,发现了一些服务配置了@Cacheable注解.@cacheable 来源于spring cache框架中,作用是使用aop的方式将数据库中的热数据缓存在re ...
- 【团队效率提升】Python-PyWebIO介绍
作者:京东零售 关键 Q&A快速了解PyWebIO Q:首先,什么是PyWebIO? A:PyWebIO提供了一系列命令式的交互函数,能够让咱们用只用Python就可以编写 Web 应用, 不 ...
- 我在京东做研发 | 揭秘支撑京东万人规模技术人员协作的行云DevOps平台
随着业务变化的速度越来越快各类IT系统的建设也越来越复杂大规模研发团队的管理问题日益突出如何提升研发效能成为时下各类技术团队面临的重要挑战 京东云DevOps专家将带您深入研发一线揭秘支撑京东集团万人 ...
- Qt中qreal的坑
今天在写Qt的时候遇到了一个bug:同样一个方程在PC机上算的结果是11,但在arm-Linux设备上算出来的结果是12,我自己用计算器按出来的结果也是12. 该段程序是这样的: maxnumbar ...
- linux虚拟机固定ip
1.查看宿主机IP信息 在windows宿主机上,键盘输入win+r,输出cmd,打开终端命令行: 输入ipconfig /all,查看宿主机IP信息: 2.修改Linux虚拟机的配置文件 Linux ...
- 提高Unity编译dll的速度
前言 我们有一个Unity纯C#开发的mmo项目(使用ILRuntime热更,开发阶段跑纯C#),在开发到后期之后,每次修改C#代码编译时间在25秒左右,这部分的等待时间是很长的, 我在想有没有办法可 ...
- Linux-CentOS7 SSH免登陆
配置三台服务器,如下: 生成密钥 在三台机器(node1\node2\node3)执行以下命令,生成公钥与私钥. ssh-keygen -t rsa 执行该命令之后,按下三个回车即可,然后敲(三个回车 ...
- 应用--WebApplication
应用--Program中的WebApplication 在6.0,微软团队对于NetCore做了很大的改变,其中有一个改变就是推出了新的托管模型--最小托管模型,使用该模型可以创建最小的web应用.( ...
- Vulkan学习苦旅03:零号显卡,启动!(选择物理设备VkPhysicalDevcie)
随着近几年AI的迅速发展,GPU变得越来越抢手.然而,GPU的全称为Graphics Processing Unit, 从名字中就可以看出,GPU是为了处理图形而诞生的,后来才被应用到科学计算等领域中 ...
- .NET Core开发实战(第25课:路由与终结点:如何规划好你的Web API)--学习笔记(下)
25 | 路由与终结点:如何规划好你的Web API 自定义约束实现了路由约束接口,它只有一个 Match 方法,这个方法传入了 Http 当前的 httpContext,route,routeKey ...