Skip to content

使用 .NET SDK 自动化管理 Azure MySQL 灵活服务器

通过集成 Azure Resource Manager SDK for .NET,开发者可以摆脱手动操作门户,实现 MySQL 灵活服务器(Flexible Server)的全生命周期自动化运维,包括资源调度、防火墙配置及高可用性管理。

为什么需要这个技能

在现代云原生架构中,手动在 Azure Portal 中创建和配置数据库不仅低效且容易出错。特别是当需要频繁部署开发/测试环境、执行计划内扩容或实施定时备份恢复时,代码化管理(Infrastructure as Code)是唯一可靠的方案。

由于 Azure 已弃用单服务器(Single Server)模式,全面转向灵活服务器(Flexible Server),掌握该特定 SDK 能够确保你的基础设施符合最新的云标准,并能通过 .NET 代码精确控制存储自动增长、可用区冗余(Zone Redundant)等关键生产特性。

适用场景

  • 自动化环境搭建:在 CI/CD 流水线中自动创建与销毁数据库实例。
  • 动态资源调度:根据业务高峰期通过代码自动升级 SKU 规格或增加存储容量。
  • 安全策略管控:自动化更新防火墙白名单,允许特定的内部 IP 或 Azure 服务访问。
  • 成本优化:编写脚本在非工作时间自动停止开发环境服务器,并在需要时启动。

核心工作流

1. 环境初始化与身份验证

安装必要包并使用 DefaultAzureCredential 实现无密钥认证:

bash
dotnet add package Azure.ResourceManager.MySql
dotnet add package Azure.Identity
csharp
ArmClient client = new ArmClient(new DefaultAzureCredential());

2. 服务器生命周期管理

  • 创建与配置:定义 MySqlFlexibleServerData,指定 SKU(如 Standard_D2ds_v4)、存储大小及高可用模式。
  • 数据库操作:通过 MySqlFlexibleServerDatabaseCollection 在服务器实例下创建具体的逻辑数据库。
  • 状态控制:调用 StopAsync()StartAsync()RestartAsync() 实现服务器的启停。

3. 运维与安全配置

  • 防火墙规则:通过 MySqlFlexibleServerFirewallRuleCollection 定义 IP 范围或开启 Azure 内部服务访问权限。
  • 参数调优:通过 MySqlFlexibleServerConfigurationCollection 修改 max_connections 等服务器参数。
  • 权限管理:配置 Entra ID(原 Azure AD)管理员,提升数据库访问安全性。

4. 数据保护与恢复

  • 备份查看:遍历 MySqlFlexibleServerBackupResource 获取备份快照。
  • 点对点恢复:设置 CreateMode = MySqlFlexibleServerCreateMode.PointInTimeRestore 快速克隆历史状态服务器。

下载和安装

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

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

你可能还需要

暂无推荐