【AZ-104考试通关秘籍】:掌握微软Azure管理员核心考点与高频题型解析

第一章:MCP AZ-104 考试模拟题及解析

虚拟机规模集自动扩展配置

在 Azure 中,虚拟机规模集(VM Scale Sets)支持基于性能指标的自动扩展。以下是一个典型的自动扩展规则配置场景,用于根据 CPU 使用率动态增加实例数量。
{
  "name": "AutoScaleRule",
  "enabled": true,
  "targetResourceUri": "/subscriptions/{sub-id}/resourceGroups/{rg}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}",
  "profiles": [
    {
      "name": "defaultProfile",
      "capacity": {
        "minimum": "2",
        "maximum": "10",
        "default": "2"
      },
      "rules": [
        {
          "metricTrigger": {
            "metricName": "Percentage CPU",
            "metricResourceUri": "{targetResourceUri}",
            "timeGrain": "PT1M",
            "statistic": "Average",
            "timeWindow": "PT5M",
            "timeAggregation": "Average",
            "operator": "GreaterThan",
            "threshold": 75
          },
          "scaleAction": {
            "direction": "Increase",
            "type": "ChangeCount",
            "value": "2",
            "cooldown": "PT5M"
          }
        }
      ]
    }
  ]
}
上述 JSON 定义了当平均 CPU 使用率超过 75% 持续 5 分钟时,每次增加 2 个实例,最小保留 2 个实例,最多扩展至 10 个。

常见考试题型与解析策略

AZ-104 考试常考察资源管理、网络配置、身份权限与备份恢复等核心技能。以下是典型题型应对建议:
  • 情景判断题:仔细阅读部署环境和合规要求,优先选择符合最小权限原则的方案
  • 顺序操作题:熟悉 Azure CLI 命令执行流程,例如使用 az vm create 创建虚拟机时需指定资源组、镜像和网络配置
  • 多选题:注意“选择所有适用项”类题目,避免遗漏正确选项
知识点权重占比推荐复习材料
管理 Azure 身份与访问20-25%Azure AD 角色分配文档
部署与管理虚拟机25-30%VM 扩展集模板示例

第二章:Azure计算资源管理高频考题解析

2.1 虚拟机部署与配置的典型试题剖析

在虚拟化技术考察中,虚拟机部署与配置是高频考点,重点检验考生对资源分配、网络模式及自动化配置的理解。
常见部署流程
典型的试题场景要求使用命令行工具完成虚拟机创建。例如,在基于 KVM 的环境中,可通过 `virt-install` 实现:

virt-install \
  --name=web-server \
  --vcpus=2 \
  --memory=2048 \
  --disk size=20 \
  --os-variant=ubuntu20.04 \
  --network bridge=virbr0
上述命令创建一台具有 2 核 CPU、2GB 内存、20GB 磁盘的虚拟机,接入默认桥接网络。其中 `--os-variant` 可优化资源配置,提升安装效率。
关键配置要点
  • 网络模式选择:NAT 适用于内网访问,桥接支持外部直接通信
  • 磁盘类型:qcow2 支持快照,适合实验环境
  • 自动化应答:配合 kickstart 或 cloud-init 实现无人值守安装

2.2 可用性集与可用性区域的应用场景模拟题

在设计高可用架构时,理解可用性集(Availability Set)与可用性区域(Availability Zone)的差异至关重要。可用性集通过将虚拟机分布在不同的容错域和更新域中,降低单点故障风险;而可用性区域则利用地理上隔离的数据中心实现跨区域冗余。
典型应用场景对比
  • 可用性集适用于单区域内部的容错部署
  • 可用性区域适合对灾难恢复有高要求的业务
创建可用性集的Azure CLI示例

az vm availability-set create \
  --name myAvSet \
  --resource-group myResourceGroup \
  --location eastus \
  --platform-fault-domain-count 2 \
  --platform-update-domain-count 2
该命令创建一个包含两个容错域和两个更新域的可用性集,确保虚拟机在物理硬件层面隔离,提升服务连续性。参数--platform-fault-domain-count控制硬件故障影响范围,--platform-update-domain-count管理维护期间的停机窗口。

2.3 Azure虚拟机规模集(VMSS)的弹性扩展策略实战题

在高并发场景下,Azure虚拟机规模集(VMSS)通过自动扩展策略动态调整实例数量,保障服务稳定性。
基于CPU使用率的自动扩展规则配置
{
  "metricTrigger": {
    "metricName": "Percentage CPU",
    "resourceUri": "/subscriptions/{sub-id}/resourceGroups/{rg}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}",
    "timeGrain": "PT1M",
    "statistic": "Average",
    "timeWindow": "PT5M",
    "timeAggregation": "Average",
    "operator": "GreaterThan",
    "threshold": 75
  },
  "scaleAction": {
    "direction": "Increase",
    "type": "ChangeCount",
    "value": "2",
    "cooldown": "PT5M"
  }
}
该规则每分钟采集一次CPU使用率,若连续5分钟平均值超过75%,则增加2个实例,冷却期为5分钟,防止频繁伸缩。
扩展策略类型对比
策略类型特点适用场景
基于指标响应实时负载变化Web服务器弹性伸缩
定时扩展预设时间触发周期性业务高峰

2.4 容器化工作负载在Azure Kubernetes服务中的运维考题

在Azure Kubernetes服务(AKS)中管理容器化工作负载时,稳定性与可观测性成为核心挑战。需重点关注节点健康、Pod调度策略及资源配额控制。
资源配置与限制
为避免资源争用,应在Pod定义中明确设置requests和limits:
resources:
  requests:
    memory: "512Mi"
    cpu: "250m"
  limits:
    memory: "1Gi"
    cpu: "500m"
该配置确保Kubernetes调度器根据实际需求分配节点资源,防止“资源饥饿”或“噪声邻居”问题。
健康检查机制
合理配置liveness和readiness探针是保障服务自愈能力的关键:
  • livenessProbe:检测应用是否崩溃并触发重启
  • readinessProbe:决定Pod是否接入流量
二者协同工作,提升系统弹性与部署可靠性。

2.5 混合云环境下的Azure Arc集成操作题

在混合云架构中,Azure Arc 提供统一控制平面,实现跨本地、边缘和多云资源的集中管理。
连接Linux服务器到Azure Arc
通过以下脚本将非Azure Linux服务器注册为受管实例:
curl -sL https://aka.ms/InstallAzureArcAgent | sudo bash
sudo systemctl start azure-arc-agent
az connectedmachine machine-extension create \
  --name "CustomLogExtension" \
  --machine-name "my-onprem-server" \
  --resource-group "HybridRG" \
  --location "eastus" \
  --type "CustomScriptExtension" \
  --publisher "Microsoft.Compute"
该命令链首先安装Arc代理,启动服务后通过CLI注册机器并部署扩展。参数--location指定元数据驻留区域,--type定义扩展行为。
资源分组与策略应用
使用标签对混合资源进行逻辑分组,便于后续应用Azure Policy进行合规性审计,确保跨环境配置一致性。

第三章:网络与安全核心考点精讲

3.1 Azure虚拟网络设计与子网划分实战模拟

在Azure环境中,虚拟网络(VNet)是实现资源隔离与通信的基础。合理设计VNet及其子网结构,有助于提升安全性与可管理性。
虚拟网络规划要点
  • 选择合适的地址空间,避免与本地网络冲突
  • 按业务功能划分子网,如Web、App、DB层分离
  • 预留足够IP地址,支持未来扩展
子网配置示例
{
  "addressPrefix": "10.1.0.0/24",
  "subnets": [
    {
      "name": "web-subnet",
      "addressPrefix": "10.1.0.0/26"
    },
    {
      "name": "app-subnet",
      "addressPrefix": "10.1.0.64/26"
    }
  ]
}
上述JSON定义了一个包含两个子网的VNet,/24前缀提供256个IP地址,每个/26子网可容纳62台主机,适用于中小规模部署。
网络分段优势
通过子网划分,可结合网络安全组(NSG)实施精细化访问控制,降低横向移动风险。

3.2 网络安全组与Azure防火墙规则配置典型题

在Azure云环境中,网络安全组(NSG)和Azure防火墙是实现网络分层防护的核心组件。NSG主要用于子网或网络接口级别的流量控制,而Azure防火墙则提供集中式、高级别的出站/入站保护。
网络安全组规则配置示例
{
  "name": "Allow-HTTP-Inbound",
  "properties": {
    "priority": 100,
    "sourceAddressPrefix": "*",
    "destinationAddressPrefix": "10.0.1.0/24",
    "destinationPortRange": "80",
    "protocol": "Tcp",
    "access": "Allow",
    "direction": "Inbound"
  }
}
上述规则允许从任意源地址访问目标子网的80端口。优先级100确保其早于低优先级规则执行。*注意:NSG默认拒绝所有未明确允许的流量。*
Azure防火墙应用规则
  • 支持FQDN过滤,如允许 *.update.microsoft.com
  • 基于网络协议和端口进行L3-L4层控制
  • 可与路由表集成,引导流量经过防火墙

3.3 本地到云端的VPN与ExpressRoute连接故障排查

常见连接问题识别
在混合云环境中,本地数据中心与云平台之间的网络连通性至关重要。常见的故障包括BGP会话中断、路由丢失和MTU不匹配。使用Azure Network Watcher可快速定位链路状态。
诊断命令示例

# 检查IPsec隧道状态
az network vpn-connection show --name myVpnConn --resource-group MyRG --query 'connectionStatus'
该命令返回连接状态(Connected/Disconnected/Unknown),用于判断隧道是否正常建立。参数--query过滤输出仅显示关键状态字段,提升诊断效率。
ExpressRoute故障排查流程
  • 验证MSEE路由器BGP对等体状态
  • 检查私有对等配置中的VLAN和IP子网
  • 确认本地路由器与Azure之间AS号匹配
  • 利用PowerShell获取电路运行状态:Get-AzExpressRouteCircuitStats

第四章:身份、存储与监控综合题型训练

4.1 基于Azure Active Directory的角色权限分配考题

在企业云环境中,精细化的权限管理是安全架构的核心。Azure Active Directory(Azure AD)通过基于角色的访问控制(RBAC)实现资源访问的精准管控。
内置角色与自定义角色
Azure AD 提供多种内置角色,如“全局管理员”、“应用管理员”等,适用于常见管理场景。对于特殊需求,可创建自定义角色,精确分配权限集。
  1. 全局管理员:拥有租户内所有服务的完全控制权
  2. 应用管理员:管理企业应用和应用注册
  3. 用户管理员:管理用户和组生命周期
权限分配实践
通过 PowerShell 可实现角色成员分配:

# 获取角色对象
$role = Get-AzureADDirectoryRole | Where-Object {$_.DisplayName -eq "Application Administrator"}
# 获取用户
$user = Get-AzureADUser -ObjectId "user@contoso.com"
# 分配角色
Add-AzureADDirectoryRoleMember -ObjectId $role.ObjectId -RefObjectId $user.ObjectId
上述命令将指定用户添加到“应用管理员”角色中,$role.ObjectId 表示角色唯一标识,$user.ObjectId 为用户对象ID,实现权限绑定。

4.2 存储账户类型选择与数据冗余策略应用题

在构建高可用云存储架构时,合理选择存储账户类型是关键。Azure 提供通用 v2、Blob 存储等账户类型,其中通用 v2 支持多层级(Hot/Cool/Archive)和多种冗余策略。
数据冗余策略对比
  • LRS(本地冗余):数据复制到同一区域内的多个故障域
  • GRS(地理冗余):主区域 LRS 基础上异步复制到次区域
  • RA-GRS:支持读取次区域副本,提升容灾访问能力
代码配置示例
{
  "sku": {
    "name": "Standard_RAGRS"
  },
  "kind": "StorageV2",
  "location": "eastus",
  "properties": {
    "accessTier": "Hot"
  }
}
该 JSON 配置创建一个具备读取访问权限的地理冗余存储账户,适用于跨区域灾难恢复场景。Standard_RAGRS 确保主区域故障时仍可读取副本数据。

4.3 使用Azure Monitor实现资源健康监控实操题

配置Azure Monitor基础环境
在开始监控前,需确保目标资源已启用诊断设置,并将监控数据流向Log Analytics工作区。可通过Azure门户或ARM模板完成配置。
创建自定义查询与警报规则
使用Kusto查询语言(KQL)从Log Analytics中提取关键指标。例如,查询虚拟机CPU使用率:

Perf
| where ObjectName == "Processor" and CounterName == "% Processor Time"
| summarize avg(CounterValue) by Computer, bin(TimeGenerated, 5m)
| where avg_CounterValue > 80
该查询检索过去一段时间内CPU使用率持续高于80%的虚拟机,summarize avg(CounterValue) 按5分钟时间窗口计算平均值,便于识别性能瓶颈。
  • Computer:标识受影响的主机
  • TimeGenerated:时间分区用于趋势分析
  • 阈值过滤可直接集成至警报规则
将此查询保存并关联到Azure Alert,设定触发条件与通知渠道,即可实现自动化健康告警。

4.4 备份与恢复策略在Azure Recovery Services中的配置

在Azure Recovery Services中,配置备份与恢复策略是保障关键工作负载数据安全的核心环节。通过定义策略规则,可自动化管理虚拟机、数据库等资源的备份周期与保留期限。
策略创建流程
使用PowerShell可高效部署标准化备份策略:

$policy = New-AzRecoveryServicesBackupProtectionPolicy `
  -Name "DailyVMBackup" `
  -WorkloadType "AzureVM" `
  -BackupManagementType "AzureVM" `
  -RetentionPolicy $retention `
  -SchedulePolicy $schedule
上述命令创建每日执行的虚拟机备份策略。参数-WorkloadType指定保护对象类型,-RetentionPolicy-SchedulePolicy需预先定义保留时长与触发时间。
恢复点管理
  • 支持基于时间点的精确恢复
  • 最长可保留365天的恢复点
  • 跨区域复制增强灾难恢复能力

第五章:总结与展望

云原生架构的演进趋势
现代企业正加速向云原生转型,Kubernetes 已成为容器编排的事实标准。以下代码展示了在 Go 中使用 client-go 调用 Kubernetes API 的典型方式:

package main

import (
    "context"
    "fmt"
    metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
    "k8s.io/client-go/kubernetes"
    "k8s.io/client-go/tools/clientcmd"
)

func main() {
    config, _ := clientcmd.BuildConfigFromFlags("", "/path/to/kubeconfig")
    clientset, _ := kubernetes.NewForConfig(config)
    
    pods, _ := clientset.CoreV1().Pods("default").List(
        context.TODO(), 
        metav1.ListOptions{Limit: 10},
    )
    
    for _, pod := range pods.Items {
        fmt.Printf("Pod: %s, Status: %s\n", pod.Name, pod.Status.Phase)
    }
}
可观测性体系构建
完整的可观测性需涵盖日志、指标与追踪三大支柱。下表对比主流开源工具组合:
类别工具适用场景
日志EFK (Elasticsearch + Fluentd + Kibana)大规模日志聚合与分析
指标Prometheus + Grafana实时监控与告警
分布式追踪Jaeger + OpenTelemetry微服务调用链分析
未来技术融合方向
服务网格(如 Istio)与安全左移策略深度集成,推动零信任网络架构落地。通过策略即代码(Policy as Code),可实现自动化合规检查。例如,使用 OPA(Open Policy Agent)定义命名空间配额约束:
  • 定义 Rego 策略限制 Pod 数量
  • 集成 Gatekeeper 实现准入控制
  • 结合 CI/CD 流水线执行预检
  • 动态拦截违规资源配置提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值