Microsoft AZ-900: 存储与数据库 — 学习指南
属于 Microsoft Azure AZ-900 — 学习指南. 使用经过验证的答案练习: Microsoft 考试中心, 或参加限时模拟考试: ExamRoll.io.
Azure 为在全球范围内存储非结构化和结构化数据提供了一个广泛的基础,并集成了持久性、安全性和成本控制功能。理解并选择正确的存储原语、冗余模型、访问层和数据库服务,是构建可靠、高性能应用程序的关键,这些应用程序涵盖了从虚拟机到全球分布式 Web 和移动平台的各种场景。
Azure 存储服务和托管磁盘
Azure Blob Storage 是非结构化数据的基石。块 Blob 用于处理大型对象,支持高效的流式传输和并行上传,以及快照、版本控制和分层。页 Blob 针对以 512 字节页为单位的随机读/写 I/O 进行了优化,并为虚拟硬盘提供支持;它们是磁盘和要求一致性低延迟 IOPS 场景的底层基础。附加 Blob 专为写入密集型的附加场景(如应用程序日志)而设计,在这种场景下,新的数据块被高效地添加到末尾。Azure Files 提供完全托管的文件共享,可通过 SMB 或 NFS 协议访问,支持 NTFS ACL、目录集成选项,以及使用 Azure File Sync 在 Windows Server 上缓存热数据。Queue Storage 提供轻量级、持久的应用程序消息传递,以解耦组件,并提供至少一次的交付语义。Table Storage 为海量的分区数据集提供了一个无模式的键/属性存储,您可以通过控制分区键和行键来实现规模和成本效益。托管磁盘为 Azure 虚拟机提供持久的块存储,用户无需直接管理存储帐户或页 Blob。您可以选择 Standard HDD 用于成本优化的吞吐量工作负载,Standard SSD 用于均衡性能,Premium SSD 和 Premium SSD v2 用于低延迟高 IOPS 场景,以及 Ultra Disk 用于要求最苛刻的事务性工作负载,并可配置 IOPS 和吞吐量。托管磁盘支持快照、增量备份、磁盘加密以及多种可用性选项,以匹配您的虚拟机 SLA。
- Blob – 块 Blob
- 数据模型或 IO 模式:大型对象,顺序 IO
- 关键功能:分层、快照、版本控制、生命周期策略
- 典型用例:图片、视频、备份、大数据登陆区
- 限制/说明:单个 Blob 最大约 190 TiB;未针对随机 IO 优化
- Blob – 页 Blob
- 数据模型或 IO 模式:以 512 字节页为单位的随机 IO
- 关键功能:低延迟读/写,VHD 支持
- 典型用例:磁盘和需要随机访问场景的底层存储
- 限制/说明:页 Blob 大小最大 8 TiB;托管磁盘对此进行了抽象
- Blob – 附加 Blob
- 数据模型或 IO 模式:仅附加写入
- 关键功能:高效的日志附加,不可变性选项
- 典型用例:遥测和应用程序日志
- 限制/说明:不支持就地更新;受块数量限制
- Azure Files
- 数据模型或 IO 模式:POSIX/SMB/NFS 文件语义
- 关键功能:SMB/NFS 访问,NTFS ACL,AD DS/Azure AD DS 集成,File Sync
- 典型用例:直接迁移(Lift-and-shift)文件共享,应用配置,用户主目录
- 限制/说明:标准和高级层;大型文件共享最大 100 TiB
- Queue Storage
- 数据模型或 IO 模式:消息队列
- 关键功能:至少一次交付,可见性超时,毒信处理
- 典型用例:后台处理,解耦的微服务
- 限制/说明:消息大小最大 64 KB(对于更大/更高级的模式,请使用 Service Bus)
- Table Storage
- 数据模型或 IO 模式:键/属性 NoSQL
- 关键功能:大规模,按 PartitionKey 分区,低成本
- 典型用例:遥测、目录、用户配置文件
- 限制/说明:无联接或二级索引;对于全球需求,使用 Cosmos DB Table API
- 托管磁盘
- 数据模型或 IO 模式:用于 VM 的块存储
- 关键功能:Standard/Premium/Ultra SKU,快照,扩展,磁盘加密
- 典型用例:VM 的操作系统/数据磁盘,数据库,业务线应用
- 限制/说明:每磁盘最大 32 TiB;部分 SKU 提供 ZRS
安全、加密和访问控制
静态加密通过存储服务加密 (SSE) 默认启用。默认情况下,Microsoft 托管密钥会以透明方式保护数据。为了实现更严格的控制和职责分离,可以使用 Azure Key Vault 或 Managed HSM 中的密钥,为每个存储帐户配置客户管理的密钥 (CMK),以支持密钥轮换和吊销工作流。对于敏感工作负载,双重加密和机密计算选项可进一步降低数据暴露风险。在传输过程中,对所有数据平面操作强制使用带 TLS 的 HTTPS。访问控制涵盖了基于身份的授权和范围限定的令牌。Azure RBAC 与 Microsoft Entra ID 集成,可向用户、组和托管标识授予最小权限的数据平面访问权限,例如存储 Blob 数据读取者/参与者角色。RBAC 消除了共享机密,并支持条件访问、Privileged Identity Management 和审核。共享访问签名 (SAS) 可将有时间限制、有权限范围的访问权限委托给可能没有身份的客户端;SAS 可以使用帐户密钥签名,也可以使用 Microsoft Entra 凭据进行用户委托签名,以避免暴露帐户密钥。将用于服务到服务和管理访问的 RBAC 与用于临时客户端访问流程的 SAS 结合起来。保护帐户密钥并定期轮换;尽可能首选用户委托 SAS。通过专用终结点或服务终结点实现网络隔离,加上防火墙规则和不可变存储策略,共同构成了存储帐户的深度防御态势。
- Azure RBAC (Microsoft Entra ID)
- 范围:存储数据平面和管理平面上基于身份的角色
- 最适用于:具有托管标识的管理员、服务和应用
- 关键属性:最小权限、条件访问、可审核性、无共享机密
- 风险考量:需要身份集成;通过角色变更来撤销
- 共享访问签名 (SAS)
- 范围:特定资源上具有时间限制和权限范围的令牌
- 最适用于:向客户端/合作伙伴委托有限的访问权限
- 关键属性:精细的权限、IP/时间限制;用户委托 SAS 可避免使用帐户密钥
- 风险考量:令牌泄露会在到期前授予访问权限;保护分发并设置较短的生命周期
关系型 PaaS 和全球分布式 NoSQL
Azure SQL Database 提供了一个托管的关系型引擎,具有自动修补、内置高可用性、备份和扩展功能。可以部署单一数据库或弹性池来整合可变的工作负载。该服务在区域内维护多个副本并支持区域冗余;透明数据加密 (TDE) 默认开启。自动备份可实现时间点还原,通常为 7-35 天,并可选择在 Azure 存储中进行长达数年的长期保留。对于多区域弹性和低延迟读取,可使用活动异地复制(最多四个可读辅助副本)或自动故障转移组,以实现大规模的协调式灾难恢复。Azure SQL Managed Instance 提供接近 100% 的 SQL Server 引擎兼容性,支持 SQL Agent、跨数据库查询、Service Broker 和 CLR 等实例级功能,从而能够直接从本地环境进行现代化改造而无需重构。它共享相同的托管高可用性架构、在线修补、自动备份、默认开启 TDE,并支持跨区域的自动故障转移组。通过专用终结点实现网络隔离,以及按数据库或按实例的计算/存储扩展,提供了可预测的性能范围。Azure Cosmos DB 提供了一个完全托管的多模型 NoSQL 数据库,具有一站式全球分发和多区域写入功能。它保证在区域内实现第 99 百分位的个位数毫秒级延迟,并提供五个可调的一致性级别,以在各区域间平衡性能和正确性。可以按 RU/s 预配吞吐量或使用自动缩放,在不中断服务的情况下添加或删除区域,并配置自动故障转移。API 包括 Core (SQL)、MongoDB、Cassandra、Gremlin 和 Table,简化了在不同应用程序堆栈中的迁移和集成。
- Azure SQL Database
- 模型:关系型 PaaS (单一数据库/弹性池)
- 兼容性:最新的 SQL 功能;应用级兼容性
- HA/DR:内置副本、区域冗余;活动异地复制;自动故障转移组
- 备份/TDE:7-35 天的自动 PITR;长达数年的 LTR;默认开启 TDE
- 地理选项:跨区域的可读辅助副本;协调的故障转移组
- 最适用于:SaaS/多租户应用、新的云原生关系型工作负载
- Azure SQL Managed Instance
- 模型:关系型 PaaS (实例)
- 兼容性:高度的 SQL Server 功能对等性,包括 SQL Agent、跨数据库查询
- HA/DR:内置 HA;区域冗余;自动故障转移组
- 备份/TDE:7-35 天的自动 PITR;LTR;默认开启 TDE;原生还原支持
- 地理选项:具有故障转移组和可读辅助副本的多区域部署
- 最适用于:以最小的改动从本地环境直接迁移 SQL
- Azure Cosmos DB
- 模型:NoSQL,多模型 (Core、MongoDB、Cassandra、Gremlin、Table)
- 兼容性:与流行的 NoSQL 技术栈的 API 级兼容性
- HA/DR:多区域、多主写入;99.99% 的 SLA
- 备份/TDE:自动和连续备份选项;静态加密
- 地理选项:实时添加/删除区域;可调的一致性;自动故障转移
- 最适用于:全球性的低延迟应用、物联网、目录、个性化
实际问题:Tailwind Traders:通过安全、成本优化的数据分层实现双海岸弹性
场景: Tailwind Traders 运营电子商务业务,其主工作负载位于 East US,并在 West US 设有灾难恢复站点。产品图片和日志存储在对象存储中,而订单和库存则运行在托管关系型数据库上。在发生区域性故障期间,业务要求能够从次要区域读取产品媒体的访问权限,以保持目录的可浏览性。数据治理要求使用客户管理的密钥进行加密,并对审计日志进行基于时间的保留。
挑战: 设计存储和数据库服务,为媒体提供跨区域读取访问,为日志提供自动化的生命周期和保留策略,提供强大的加密和最小权限访问,以及一个具有内置高可用性和灾难恢复能力的托管关系型后端。
推荐方法:
- 在 East US 创建一个通用 v2 (general-purpose v2) 存储帐户,为产品媒体容器配置 RA-GRS(如果还需要区域弹性,则配置 RA-GZRS)。
- 启用仅 HTTPS 访问,为该存储帐户配置一个指向 VNet 的专用终结点,并集成来自 Azure Key Vault 的客户管理密钥。
- 定义生命周期策略:将 30 天未访问的媒体移动到 Cool 层,180 天后移动到 Archive 层;5 年后删除已存档的媒体。
- 对于仅追加的应用程序日志,使用一个带有不可变(基于时间)保留策略的追加 Blob (append-blob) 容器,并使用单独的生命周期规则将较旧的日志转换到 Archive 层。
- 使用 Azure RBAC (Storage Blob Data Contributor) 向托管标识授予应用程序访问权限;为合作伙伴上传到暂存容器颁发短期的用户委托 SAS。
- 为订单和库存预配 Azure SQL Database(Business Critical 或具有区域冗余的 General Purpose);配置自动故障转移组 (Auto-failover groups) 以复制到 West US。
- 验证自动备份(PITR 7-35 天),并根据需要为合规性数据库启用长期保留。
- 实施透明数据加密 (Transparent Data Encryption)(默认启用),如果需要,可为 SQL 服务器资源自带密钥。
- 更新电子商务应用程序,在主区域性能下降时通过次要 RA 终结点读取产品媒体;在故障转移前继续向主 SQL 进行事务性写入。
- 对存储(帐户故障转移)和 SQL(自动故障转移组)进行故障转移演练,并根据业务目标记录 RTO/RPO。
Azure 原理: RA-GRS 在主区域提供三个同步副本,外加到配对区域的异步复制,并公开一个只读的次要终结点,满足了在区域性中断期间提供目录读取服务的要求。生命周期策略通过将不常访问的媒体分层到 Cool 和 Archive 层,使存储成本与访问模式保持一致,并对具有不可变性的日志强制执行基于时间的保留策略。客户管理的密钥和专用终结点加强了安全性和合规性,而 Azure RBAC 和用户委托 SAS 则强制执行最小权限和安全委托。Azure SQL Database 提供内置的 HA、TDE 和自动备份;自动故障转移组 (Auto-failover groups) 为事务性工作负载提供受控、经过测试的跨区域故障转移,以保持服务连续性。
练习这些题目 → · 在 ExamRoll.io 上限时练习 →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
通过考试 →