Azure DNS、Storage、Monitor 落地
平台名字不同,运维需求一致:域名接入、对象存储备份、日志监控告警。Azure 对应的是 Azure DNS、Storage Account、Azure Monitor。
Azure 组件图
graph TD
A[用户请求] --> B[Azure DNS]
B --> C[Azure VM Nginx]
C --> D[应用进程]
D --> E[Storage Account 备份]
D --> F[Azure Monitor + Log Analytics]
F --> G[告警规则 Alert Rule]
Azure 与 AWS / GCP 服务对照
| 运维任务 | AWS | GCP | Azure |
|---|---|---|---|
| DNS 解析 | Route 53 | Cloud DNS | Azure DNS |
| 对象存储 | S3 | Cloud Storage | Storage Account (Blob) |
| 指标监控 | CloudWatch Metrics | Cloud Monitoring | Azure Monitor Metrics |
| 日志查询 | CloudWatch Logs | Cloud Logging | Log Analytics Workspace |
| 告警通知 | SNS | Alerting Policy | Action Group |
关键配置命令
# 创建 Azure DNS 托管区
az network dns zone create \
--resource-group myapp-rg \
--name myapp.com
# 获取 Azure 分配的 NS 记录(需更新到域名注册商)
az network dns zone show \
--resource-group myapp-rg \
--name myapp.com \
--query nameServers
# 添加 A 记录
az network dns record-set a add-record \
--resource-group myapp-rg \
--zone-name myapp.com \
--record-set-name "@" \
--ipv4-address 40.xxx.xxx.xxx
# 创建 Storage Account 并上传备份
az storage account create \
--name myappbackup \
--resource-group myapp-rg \
--location eastasia \
--sku Standard_LRS
az storage blob upload \
--account-name myappbackup \
--container-name daily \
--name "myapp_$(date +%Y%m%d).tar.gz" \
--file /var/backups/myapp_$(date +%Y%m%d).tar.gz
# 在 VM 上安装 Azure Monitor Agent(收集内存、磁盘指标)
az vm extension set \
--resource-group myapp-rg \
--vm-name myapp-vm \
--name AzureMonitorLinuxAgent \
--publisher Microsoft.Azure.Monitor
常见误区
- Storage Account 和 S3 Bucket 命名规则不同:Storage Account 名称长度 3–24 字符,只能用小写字母和数字,全球唯一
- Azure Monitor 默认不采集内存指标:与 AWS/GCP 一样,内存和磁盘使用率需要安装 Azure Monitor Agent 才有数据
- 告警规则创建了但通知没有触达:需要先创建 Action Group(绑定邮件/短信/Webhook),再在告警规则中引用;单独建告警不会自动通知
本节执行清单
- [ ] 创建 Azure DNS 托管区,更新域名 NS 指向 Azure
- [ ] 创建 Storage Account,把备份脚本改为上传到 Blob Storage
- [ ] 安装 Azure Monitor Agent,确认 Log Analytics Workspace 收到数据
- [ ] 创建告警规则(CPU > 80%),绑定邮件 Action Group 做测试
下一节:Ubuntu 应用在 Azure 上的部署与排错——完成三家云平台的统一映射。