Skip to content

使用 .NET SDK 自动化管理 Azure Cache for Redis 资源

解决云资源手动配置低效问题:通过 Azure Resource Manager (ARM) SDK for .NET,将 Redis 缓存的创建、扩容、防火墙策略和密钥管理转化为可版本化的代码。

为什么需要这个技能

在企业级开发中,Redis 的管理分为管理平面(Management Plane)数据平面(Data Plane)

大多数开发者习惯使用 StackExchange.Redis 进行数据的读写(数据平面),但在自动化部署、CI/CD 流水线或多租户环境下,我们需要通过代码来创建 Redis 实例、修改 SKU 规格、配置 VNet 注入或更新防火墙规则。如果依赖 Azure 门户手动操作,会导致配置不一致且无法快速复现。本技能教你如何使用 Azure.ResourceManager.Redis 实现这些管理操作的自动化。

适用场景

  • 基础设施即代码 (IaC):在 .NET 应用启动时自动检查并部署所需的 Redis 缓存实例。
  • 动态环境扩缩容:根据业务需求,通过代码自动升级 Redis SKU 规格(如从 Standard 升级到 Premium)。
  • 安全加固自动化:自动配置防火墙白名单、强制开启 TLS 1.2 或定期轮换访问密钥。
  • 自动化备份与恢复:针对 Premium 级别实例,通过代码触发 RDB 文件的导入或导出。

核心工作流

1. 环境准备与身份认证

安装必要的 NuGet 包并配置 Azure 凭据。建议始终使用 DefaultAzureCredential 以支持多种环境(本地、托管标识等)。

bash
dotnet add package Azure.ResourceManager.Redis
dotnet add package Azure.Identity
csharp
using Azure.Identity;
using Azure.ResourceManager;

var credential = new DefaultAzureCredential();
var armClient = new ArmClient(credential);

2. 资源生命周期管理

通过 ArmClient 建立层级调用关系:Subscription ResourceGroup RedisResource

  • 创建实例:定义 RedisCreateOrUpdateContent,指定 SKU(Basic/Standard/Premium)和地理位置。
  • 更新配置:使用 RedisPatch 快速修改现有实例的容量或内存策略。
  • 密钥管理:调用 GetKeysAsync 获取访问密钥,或使用 RegenerateKeyAsync 实现密钥轮转。

3. 进阶网络与维护

  • 防火墙配置:通过 GetRedisFirewallRules() 管理 IP 过滤规则,确保仅允许特定内网访问。
  • 补丁计划:针对 Premium 实例,定义 RedisPatchScheduleData 设定维护时间窗。

下载和安装

下载 azure-resource-manager-redis-dotnet 中文版 Skill ZIP

解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md

你可能还需要

暂无推荐