第一章:MCP AZ-104 考试模拟题及解析
虚拟机规模集自动扩展配置
在 Azure 中,虚拟机规模集(VM Scale Sets)支持基于性能指标的自动扩展。以下是一个常见的考试场景:根据 CPU 使用率动态增加实例数量。
{
"metricTrigger": {
"metricName": "Percentage CPU",
"metricNamespace": "",
"timeGrain": "PT1M",
"statistic": "Average",
"timeWindow": "PT5M",
"timeAggregation": "Average",
"operator": "GreaterThan",
"threshold": 75
},
"scaleAction": {
"direction": "Increase",
"type": "ChangeCount",
"value": "1",
"cooldown": "PT10M"
}
}
上述 JSON 配置定义了当 CPU 平均使用率超过 75% 持续 5 分钟时,系统将增加一个实例,且至少等待 10 分钟后才能再次触发扩展操作。
常见考试知识点归纳
- 理解资源组生命周期与资源继承关系
- 掌握 Azure AD 角色与 RBAC 权限分配差异
- 熟悉网络安全组(NSG)规则优先级处理逻辑
- 能够配置 Application Gateway 与 Load Balancer 的适用场景
典型多选题示例与解析
| 问题描述 | 正确选项 | 解析 |
|---|
| 您需要为 Web 应用启用 SSL 终止,应选择哪种服务? | Application Gateway | Azure Application Gateway 支持 HTTPS 终结和基于路径的路由,而负载均衡器不处理第 7 层流量。 |
graph LR A[用户请求] --> B{是否HTTPS?} B -- 是 --> C[Application Gateway解密] B -- 否 --> D[直接转发至后端池] C --> E[路由到对应Web App]
第二章:Azure虚拟网络实战模拟与核心概念解析
2.1 虚拟网络规划与子网设计的考试场景分析
在云计算认证考试中,虚拟网络规划常作为核心考点,重点考察对IP地址划分、子网掩码计算及VPC架构的理解。考生需掌握如何根据业务需求合理划分子网,确保网络隔离与资源高效利用。
子网划分实战示例
# 创建两个子网,分别用于Web层和数据库层
gcloud compute networks subnets create web-subnet \
--network=vpc-prod \
--range=10.0.1.0/24 \
--region=us-central1
gcloud compute networks subnets create db-subnet \
--network=vpc-prod \
--range=10.0.2.0/24 \
--region=us-central1
上述命令创建了两个独立子网,
--range=10.0.1.0/24 表示Web子网可容纳约254个主机,实现逻辑隔离,提升安全性。
常见考试考察点
- CIDR地址块的正确划分与无重叠设计
- 公有子网与私有子网的角色区分
- 路由表与防火墙规则的协同配置
2.2 网络安全组与路由表在模拟题中的应用
在云计算环境的模拟题中,网络安全组(Security Group)和路由表(Route Table)是评估网络架构设计能力的核心考点。它们共同决定了实例间的通信权限与数据流向。
网络安全组的作用与配置
网络安全组是一种虚拟防火墙,用于控制进出ECS实例的流量。规则按协议、端口和源IP进行过滤,且默认拒绝所有未明确允许的流量。
[
{
"Protocol": "tcp",
"PortRange": "80/80",
"SourceCidrIp": "0.0.0.0/0",
"Policy": "Allow"
}
]
该规则允许外部访问实例的HTTP服务。参数
PortRange指定端口范围,
SourceCidrIp定义访问来源。
路由表的转发逻辑
路由表决定数据包的下一跳路径。每条路由规则包含目标网段、下一跳类型和优先级。
| 目标网段 | 下一跳 | 类型 |
|---|
| 192.168.1.0/24 | local | 系统路由 |
| 0.0.0.0/0 | ipsec_vpn | 自定义路由 |
此表表明本地子网内流量直接投递,而外部流量通过VPN出口转发,常用于混合云场景。
2.3 虚拟网络对等互连与DNS配置典型题目解析
在云环境中,虚拟网络对等互连(VNet Peering)是实现跨网络资源通信的关键技术。配置时需确保两个虚拟网络位于兼容区域且地址空间无重叠。
DNS解析配置要点
当对等连接建立后,DNS需正确解析对方网络内资源名称。建议部署自定义DNS服务器并配置条件转发规则。
# Azure CLI 创建双向对等连接示例
az network vnet peering create \
--name HubToSpoke \
--resource-group MyRG \
--vnet-name HubVNet \
--remote-vnet SpokeVNet \
--allow-vnet-access
上述命令创建从Hub到Spoke的对等连接,
--allow-vnet-access 参数启用网络流量互通。需在反向也创建对应连接以实现双向通信。
常见问题排查列表
- 检查网络安全组(NSG)是否阻止DNS端口(53)
- 确认对等状态显示为“已连接”
- 验证DNS服务器是否能响应跨网段查询
2.4 公共IP与负载均衡器配置实战演练
在云环境中,为应用提供稳定可访问的入口是关键。公共IP用于暴露服务至公网,而负载均衡器则负责将流量分发到多个后端实例,提升可用性与性能。
分配公共IP并绑定负载均衡器
以Azure为例,首先创建静态公共IP资源:
az network public-ip create \
--name myPublicIP \
--resource-group myResourceGroup \
--allocation-method Static \
--sku Standard
其中
--allocation-method Static 确保IP地址不变,
--sku Standard 支持高可用性场景。
配置负载均衡规则
创建负载均衡器并设置前端IP配置:
az network lb create \
--name myLB \
--public-ip-address myPublicIP \
--frontend-ip-name myFrontend \
--backend-pool-name myBackendPool \
--resource-group myResourceGroup
该命令将公共IP与负载均衡器前端绑定,后续可通过规则将80端口流量转发至后端池中的虚拟机。
2.5 站点到站点VPN和ExpressRoute故障排查策略
常见连接问题识别
站点到站点VPN与ExpressRoute故障常表现为网络延迟、数据包丢失或BGP会话中断。首先应确认本地网关与Azure虚拟网关的共享密钥、子网配置及ASN设置是否一致。
诊断命令示例
使用PowerShell检查ExpressRoute连接状态:
Get-AzExpressRouteCircuitConnectionConfig -CircuitName "MyCircuit" -ResourceGroupName "MyRG"
该命令输出对等连接配置详情,包括私有IP、VLAN ID和带宽,用于验证跨区域连接一致性。
排查流程对比
- VPN连接:检查IPsec/IKE策略匹配性、防火墙端口(UDP 500/4500)开放情况
- ExpressRoute:验证服务提供者链路状态、BGP路由宣告是否正常传播
第三章:Azure存储服务深度解析与考题应对
3.1 存储账户类型选择与数据冗余机制考点精讲
在Azure中,存储账户类型的选择直接影响应用性能与成本。常见的账户类型包括通用V2、Blob存储账户等,其中通用V2支持多层级存储(热、冷、归档)并具备最高扩展性。
存储账户类型对比
- 通用V2:适用于大多数场景,支持Blob、File、Queue、Table和Disk存储
- Blob存储账户:仅支持Block Blob和Append Blob,功能受限但专一
- 通用V1:旧版,不推荐新项目使用
数据冗余机制
Azure提供多种冗余策略以保障数据持久性:
| 冗余类型 | 跨区域复制 | 数据持久性(年) |
|---|
| LRS | 单区域 | 99.9999999% |
| GRS | 跨区域异步 | 99.999999999% (双区域) |
{
"sku": {
"name": "Standard_GRS"
},
"kind": "StorageV2",
"location": "eastus",
"properties": {}
}
上述ARM模板片段中,
sku.name设为
Standard_GRS表示启用异地冗余(GRS),而
kind: StorageV2确保使用最新通用账户类型,适合高可用场景。
3.2 Blob存储访问策略与SAS令牌实战应用
共享访问签名(SAS)类型与权限控制
Azure Blob存储支持两种SAS:服务SAS和账户SAS。服务SAS针对特定资源(如容器或Blob),而账户SAS可访问多个服务资源。通过精细的权限设置,可限制读、写、删除等操作。
- Read (r):允许下载Blob内容
- Write (w):允许上传或修改Blob
- Delete (d):允许删除Blob
- List (l):允许列出容器中的Blob
SAS令牌生成示例
SharedAccessBlobPolicy policy = new SharedAccessBlobPolicy()
{
Permissions = SharedAccessBlobPermissions.Read | SharedAccessBlobPermissions.Write,
SharedAccessExpiryTime = DateTime.UtcNow.AddHours(1)
};
string sasToken = blob.GetSharedAccessSignature(policy);
上述代码为指定Blob生成一个有效期为1小时的读写SAS令牌。SharedAccessExpiryTime确保链接安全过期,Permissions字段定义最小必要权限,遵循安全最佳实践。
3.3 文件共享与AzCopy数据迁移模拟题解析
文件共享场景分析
在企业级云存储架构中,Azure 文件共享常用于跨区域、跨实例的数据协同。使用 AzCopy 工具可高效实现大规模非结构化数据的迁移与同步。
AzCopy 命令示例
azcopy copy "https://sourceaccount.blob.core.windows.net/fileshare?SAS" \
"https://destaccount.blob.core.windows.net/fileshare?SAS" \
--recursive --preserve-smb-permissions
该命令通过 SAS 令牌认证源和目标存储账户,
--recursive 参数确保递归复制所有子目录,
--preserve-smb-permissions 保留 NTFS 权限信息,适用于生产环境的数据迁移。
性能优化建议
- 启用 AzCopy 的并行传输机制以提升吞吐量
- 使用
--cap-mbps 控制带宽占用,避免影响线上业务 - 结合 Azure CLI 脚本实现自动化调度
第四章:Azure身份与访问管理(IAM)高阶挑战解析
4.1 基于角色的访问控制(RBAC)权限分配实战
在企业级系统中,基于角色的访问控制(RBAC)是管理用户权限的核心机制。通过将权限绑定到角色而非直接赋予用户,可大幅提升系统的可维护性与安全性。
核心模型设计
RBAC 模型通常包含三个关键实体:用户、角色、权限。用户通过分配角色间接获得权限。
| 角色 | 权限 | 适用用户 |
|---|
| admin | 读写所有资源 | 系统管理员 |
| editor | 编辑内容 | 内容运营 |
| viewer | 只读访问 | 审计人员 |
代码实现示例
type Role struct {
Name string
Permissions map[string]bool // 权限名 -> 是否允许
}
func (r *Role) HasPermission(perm string) bool {
return r.Permissions[perm]
}
上述 Go 代码定义了角色结构体及其权限校验方法。Permissions 使用映射存储,实现 O(1) 时间复杂度的权限查询,适用于高频鉴权场景。
4.2 Azure AD用户、组与条件访问策略配置演练
用户与组的创建与管理
在Azure门户中,进入“Azure Active Directory”后可创建用户并分配至特定组。例如,为开发团队创建“DevTeam”组,便于后续策略集中管理。
- 导航至“Users”创建新用户
- 在“Groups”中新建安全组并添加成员
条件访问策略配置
通过条件访问(Conditional Access)实现基于风险的访问控制。以下策略要求多因素认证(MFA):
{
"displayName": "Require MFA for DevTeam",
"state": "enabled",
"conditions": {
"users": {
"includeGroups": ["DevTeam-Object-ID"]
},
"clientAppTypes": ["all"]
},
"grantControls": {
"operator": "OR",
"builtInControls": ["mfa"]
}
}
该策略逻辑为:当DevTeam组成员访问任意应用时,强制执行MFA验证,提升账户安全性。参数
includeGroups指定目标组对象ID,
mfa控制项启用多因素认证。
4.3 多重身份验证(MFA)与自助密码重置考题剖析
在现代身份安全体系中,多重身份验证(MFA)已成为防御账户滥用的核心机制。通过结合“你知道的”(密码)、“你拥有的”(设备)和“你是谁”(生物特征),显著提升认证安全性。
常见MFA实现方式
- 基于时间的一次性密码(TOTP),如Google Authenticator
- 短信或语音验证码,依赖手机号可信性
- FIDO2安全密钥,提供无密码高安全方案
自助密码重置流程设计
// 示例:Azure AD 自助密码重置注册检查
const mfaRegistrationStatus = user.authMethods.includes('phone', 'email', 'fidoKey');
if (mfaRegistrationStatus.length >= 2) {
enableSelfServicePasswordReset(); // 至少两种验证方式注册后启用
}
上述逻辑确保用户在启用自助密码重置前已完成至少两种身份验证方法的注册,满足最小化安全基线要求。参数
authMethods包含用户已配置的认证通道,系统据此动态控制功能访问权限。
4.4 托管标识与系统分配身份在资源访问中的应用
在Azure环境中,托管标识(Managed Identity)简化了应用程序对云资源的安全访问。系统分配身份是托管标识的一种类型,由平台为特定资源(如虚拟机、函数应用)自动创建和管理。
核心优势
- 无需手动管理凭据,降低密钥泄露风险
- 与Azure Active Directory深度集成,实现基于角色的访问控制
- 自动轮换身份密钥,符合安全合规要求
典型应用场景
当Azure VM需要访问存储账户时,可启用系统分配身份并授予其“存储 Blob 读取者”角色。应用代码通过Azure SDK获取访问令牌,直接调用存储服务API。
az vm identity assign -g MyResourceGroup -n MyVm
该命令为虚拟机分配系统托管标识,Azure会自动在AD中注册服务主体,并在VM内部注入访问令牌端点。
身份验证流程:应用 → IMDS元数据服务 → 获取AAD令牌 → 访问目标资源
第五章:MCP AZ-104 考试模拟题及解析
虚拟机规模集自动扩展配置
在 Azure 中配置虚拟机规模集(VMSS)的自动扩展时,需结合 Azure Monitor 和扩展策略规则。以下为关键 ARM 模板片段示例:
{
"apiVersion": "2022-08-01",
"type": "Microsoft.Insights/autoscaleSettings",
"name": "autoscale-host",
"location": "[resourceGroup().location]",
"properties": {
"profiles": [
{
"name": "Auto created scale condition",
"capacity": { "minimum": "2", "maximum": "10", "default": "2" },
"rules": [
{
"metricTrigger": {
"metricName": "Percentage CPU",
"timeGrain": "PT1M",
"statistic": "Average",
"timeWindow": "PT5M",
"timeAggregation": "Average",
"operator": "GreaterThan",
"threshold": 75
},
"scaleAction": {
"direction": "Increase",
"type": "ChangeCount",
"value": "1",
"cooldown": "PT1M"
}
}
]
}
],
"targetResourceUri": "[resourceId('Microsoft.Compute/virtualMachineScaleSets', 'vmss-example')]"
}
}
常见故障排查场景
当 VMSS 实例未按预期扩展时,应检查以下项目:
- 监控数据是否已启用并正常上报
- 自动扩展策略是否正确绑定到目标资源
- 订阅配额是否达到上限
- 规模集启动模板中指定的镜像或 SKU 是否仍可用
网络安全性组规则优先级应用
Azure NSG 规则按优先级顺序处理,以下表格展示典型入站规则配置:
| 优先级 | 源 | 端口 | 协议 | 操作 |
|---|
| 100 | 10.0.0.0/24 | 3389 | TCP | 允许 |
| 200 | * | 80 | TCP | 允许 |
| 4096 | * | * | * | 拒绝 |