Azure 存储帐户
创建并配置存储帐户,了解冗余选项(LRS、GRS、ZRS、GZRS),并为您的工作负载选择合适的性能层级。
Azure 存储帐户 是 CoddyKit 上的免费 Azure Fundamentals 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Azure Fundamentals 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Azure Fundamentals 课程共包含 4 节课。
什么是 Azure Storage Account
Azure Storage Account 是一种基础资源,为您提供 Azure 核心存储服务的访问权限:Blob Storage(对象存储)、Azure Files(托管文件共享)、Queue Storage(消息队列)、Table Storage(NoSQL 键值存储)以及 Azure Data Lake Storage Gen2(用于分析的分层命名空间)。单个存储帐户可以同时托管所有这些服务,并在 Azure 中提供一个唯一命名空间 — 帐户名称会成为其中每个对象 URL 的一部分。
# Create a general-purpose v2 storage account
az storage account create \
--name mystorageacct12345 \
--resource-group myRG \
--location eastus \
--sku Standard_LRS \
--kind StorageV2Storage Account 类型
Azure 提供多种存储帐户类型:Standard 通用 v2(GPv2) — 大多数场景推荐使用的类型,在标准性能下支持所有存储服务和冗余选项。Premium block blobs — 由 SSD 支持,适用于要求 Blob Storage 操作具有极低延迟的场景。Premium file shares — 由 SSD 支持的 Azure Files 共享,适用于数据库或主目录等高 IOPS 工作负载。Premium page blobs — 用于 Azure VM OS 和数据磁盘的 SSD 存储(Managed Disks 在底层使用此存储)。对于大多数使用场景,建议从 Standard GPv2 帐户开始。
冗余选项说明
Azure Storage 会自动复制您的 Data,以防止硬件故障。四种冗余选项如下:LRS(本地冗余 Storage) — 在单个数据中心内保存三个同步副本。ZRS(区域冗余 Storage) — 在一个区域内的三个可用性区域之间保存三个同步副本。GRS(异地冗余 Storage) — 主区域使用 LRS,并异步复制到次要区域(LRS)。GZRS(异地-区域冗余 Storage) — 主区域使用 ZRS,并异步复制到次要区域。冗余程度越高,持久性和成本也越高。
选择冗余层
请根据您的RTO、RPO 和预算要求选择冗余层:LRS — 成本最低,持久性达到 11 个 9,但无法防护数据中心故障。适用于开发/测试或可以重新创建的 Data。ZRS — 可防护数据中心故障,适合单一区域中的生产 Data。GRS/GZRS — 可防护整个 Azure 区域离线;Data 会异步复制到配对区域。对于必须在区域性灾难中幸存的关键业务 Data,尽管成本更高,GRS 或 GZRS 仍是合适的选择。
Storage Account 性能层
Azure Storage 提供两个性能层:Standard — 由硬盘驱动器(HDD)支持,以较低的每 GB 成本适用于大多数工作负载。Premium — 由固态硬盘(SSD)支持,专为要求个位数毫秒 I/O 延迟的场景而设计。Standard Storage 按存储的每 GB 计费;Premium 每 GB 成本更高,但能提供一致且可预测的性能。对于 Web 资源、备份、日志和存档,Standard 很合适。对于运行 I/O 密集型数据库的 VMs,或由桌面用户访问的文件共享,Premium 是更好的选择。
Storage Account 命名规则
Storage Account 名称必须在整个 Azure 中全局唯一(因为它们会构成公共 DNS 名称的一部分,例如 mystorageacct.blob.core.windows.net)。名称长度必须为 3-24 个字符,且只能包含小写字母和数字 — 不能包含连字符、下划线或大写字母。由于名称必须全局唯一,常见词语和品牌名称通常已经被占用。一个好方法是组合公司前缀、环境(prod/dev)和用途(store/media),并在需要时追加随机后缀,例如:contosoprodmedia7x2。
Storage Account 访问密钥
每个 Storage Account 都有两个512 位访问密钥,可授予对帐户中所有内容的完整管理访问权限。这些密钥应像密码一样处理 — 存储在 Azure Key Vault 中,而不是存放在代码或配置文件中。Azure 生成两个密钥,以便您能够在不中断服务的情况下执行密钥轮换:更新应用以使用 Key 2,然后重新生成 Key 1;接着切换应用以使用 Key 1,再重新生成 Key 2。若要实现更细粒度的访问控制,请使用 Shared Access Signatures(SAS) 或 Azure RBAC,而不是共享主密钥。
# List storage account keys
az storage account keys list \
--resource-group myRG \
--account-name mystorageacct12345使用 RBAC 保护 Storage
Azure RBAC(基于角色的访问控制)是无需共享密钥即可授权访问存储 Data 的推荐方式。分配 Storage Blob Data Reader 角色即可允许对 Blob Storage 的只读访问,分配 Storage Blob Data Contributor 则可允许读写访问。这些角色会分配给 Entra ID 用户、组或托管身份,因此访问权限绑定到经过身份验证的身份,而不是共享密钥。Storage 的 RBAC 授权适用于 Blob、Queue 和 Table 服务(不适用于 File — File 使用 SMB/NFS 协议,并具有自己的访问控制)。
# Grant Blob Data Reader to a user
az role assignment create \
--assignee user@company.com \
--role 'Storage Blob Data Reader' \
--scope /subscriptions/SUB_ID/resourceGroups/myRG/providers/Microsoft.Storage/storageAccounts/mystorageacctStorage 防火墙和专用终结点
默认情况下,Storage Account 接受来自任何网络的连接。为了保障生产环境的安全,请使用 Storage Account Firewall 限制访问:仅允许特定的公共 IP 范围或虚拟网络子网。为了实现最高级别的安全性,请完全禁用公共互联网访问,并使用专用终结点 — 这是 VNet 中的一个专用 IP 地址,可通过 Azure 的专用骨干网络将流量路由到 Storage Account,而不会将其暴露在公共互联网上。对于包含敏感或受监管 Data 的 Storage Account,专用终结点是推荐的方案。
软删除和版本控制
Azure Storage 提供内置的 Data 保护功能,以防止意外删除:Blob 软删除 — 被删除的 Blob 和版本会在可配置的期限(1-365 天)内保留,无需从备份恢复即可找回。Blob 版本控制 — 每次覆盖都会创建新版本,因此您可以恢复 Blob 的任何先前版本。容器软删除 — 可以恢复意外删除的容器。这些功能默认处于禁用状态,对于存储重要且未在其他位置备份的 Data 的生产 Storage Account,应启用这些功能。
监视 Storage Account 使用情况
Azure Monitor 会自动收集每个 Storage Account 的指标:已使用的总容量、事务数、入口和出口字节数,以及端到端延迟。您可以在 Azure 门户 Storage Account 的洞察页中查看这些指标,其中提供容量、可用性和性能的预置图表。若要进行详细的访问审核,请启用 Storage Diagnostic Logs,将每次读取、写入和删除操作记录到日志目标中 — 这对于安全调查和合规性报告非常有用。
快速检查
测试您对本课 Microsoft Azure 基础知识(AZ-900)概念的理解。
课程回顾
在本课中,您学到了:Storage Account 是所有 Azure 存储服务的根资源,并通过全局唯一的名称进行标识;冗余选项 — LRS、ZRS、GRS、GZRS — 以不断增加的成本提供不断提高的持久性级别;以及应通过 RBAC 和专用终结点控制访问,而不是共享主访问密钥。接下来,我们将深入学习 Blob Storage — Azure 用于非结构化 Data 的对象存储。
常见问题解答
「Azure 存储帐户」课时是免费的吗?
是的 — 「Azure 存储帐户」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Azure Fundamentals 课程的其余内容,请升级到 CoddyKit PRO。 Azure Fundamentals 课程共包含 4 节课。
「Azure 存储帐户」这节课中我会学到什么?
创建并配置存储帐户,了解冗余选项(LRS、GRS、ZRS、GZRS),并为您的工作负载选择合适的性能层级。 你通过在浏览器中直接运行的动手代码来练习 Azure Fundamentals,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Azure Fundamentals 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Azure Fundamentals 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「Azure 存储帐户」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Azure Fundamentals 课中编写并运行代码吗?
能。每节 Azure Fundamentals 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- Azure 存储帐户
- Blob 存储:云对象存储
- Azure 文件和队列存储
- 磁盘存储和存储安全