Azure 存储账户基础 #

什么是 Azure 存储? #

Azure 存储是微软提供的云存储解决方案,提供高度可扩展、安全、持久的存储服务。

text
┌─────────────────────────────────────────────────────────────┐
│                    Azure 存储概览                            │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  存储服务                                                    │
│  ├── Blob Storage: 对象存储                                 │
│  ├── Queue Storage: 消息队列                                │
│  ├── Table Storage: NoSQL 键值存储                          │
│  ├── File Storage: 文件共享                                 │
│  └── Disk Storage: 托管磁盘                                 │
│                                                             │
│  核心特点                                                    │
│  ├── 高可用性:99.9% SLA                                    │
│  ├── 安全性:加密、访问控制                                 │
│  ├── 可扩展性:PB 级存储                                    │
│  └── 持久性:多副本冗余                                     │
│                                                             │
└─────────────────────────────────────────────────────────────┘

存储账户类型 #

账户类型对比 #

text
┌─────────────────────────────────────────────────────────────┐
│                    存储账户类型                              │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  通用 v2 (General Purpose v2)                                │
│  ├── 最新标准账户类型                                       │
│  ├── 支持 Blob、File、Queue、Table                          │
│  ├── 支持所有访问层                                         │
│  └── 推荐                                                    │
│                                                             │
│  通用 v1 (General Purpose v1)                                │
│  ├── 旧版账户类型                                           │
│  ├── 不支持访问层                                           │
│  └── 适合某些特定场景                                       │
│                                                             │
│  BlobStorage                                                 │
│  ├── 仅支持 Blob 存储                                       │
│  ├── 支持访问层                                             │
│  └── 旧版,不推荐                                           │
│                                                             │
│  BlockBlobStorage                                            │
│  ├── 高性能 Blob 存储                                       │
│  ├── 支持 ZRS                                               │
│  └── 适合高性能场景                                         │
│                                                             │
│  FileStorage                                                 │
│  ├── 高性能文件存储                                         │
│  ├── 支持 SMB                                               │
│  └── 适合企业文件共享                                       │
│                                                             │
└─────────────────────────────────────────────────────────────┘

类型选择建议 #

场景 推荐类型
通用存储需求 通用 v2
仅 Blob 存储 通用 v2
高性能 Blob BlockBlobStorage
企业文件共享 FileStorage

冗余选项 #

冗余级别 #

text
┌─────────────────────────────────────────────────────────────┐
│                    冗余选项                                  │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  LRS (本地冗余存储)                                          │
│  ├── 同一数据中心 3 份副本                                  │
│  ├── 成本最低                                               │
│  ├── 持久性: 11 个 9                                        │
│  └── 适合: 可重建数据                                       │
│                                                             │
│  ZRS (区域冗余存储)                                          │
│  ├── 同一区域 3 个可用区                                    │
│  ├── 中等成本                                               │
│  ├── 持久性: 12 个 9                                        │
│  └── 适合: 高可用要求                                       │
│                                                             │
│  GRS (异地冗余存储)                                          │
│  ├── 主区域 LRS + 配对区域 LRS                              │
│  ├── 高成本                                                 │
│  ├── 持久性: 16 个 9                                        │
│  └── 适合: 灾难恢复                                         │
│                                                             │
│  GZRS (异地区域冗余存储)                                     │
│  ├── 主区域 ZRS + 配对区域 LRS                              │
│  ├── 最高成本                                               │
│  ├── 持久性: 16 个 9                                        │
│  └── 适合: 最高可用性要求                                   │
│                                                             │
└─────────────────────────────────────────────────────────────┘

冗余对比 #

冗余类型 副本数 跨区域 跨可用区 成本
LRS 3
ZRS 3
GRS 6
GZRS 6 最高

访问层 #

Blob 访问层 #

text
┌─────────────────────────────────────────────────────────────┐
│                    Blob 访问层                               │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  热层 (Hot)                                                  │
│  ├── 存储成本高,访问成本低                                 │
│  ├── 适合频繁访问的数据                                     │
│  └── 示例: 活跃网站内容                                     │
│                                                             │
│  冷层 (Cool)                                                 │
│  ├── 存储成本低,访问成本高                                 │
│  ├── 最少存储 30 天                                         │
│  └── 示例: 短期备份                                         │
│                                                             │
│  冷层 (Cold)                                                 │
│  ├── 存储成本更低                                           │
│  ├── 最少存储 90 天                                         │
│  └── 示例: 长期备份                                         │
│                                                             │
│  归档层 (Archive)                                            │
│  ├── 存储成本最低                                           │
│  ├── 最少存储 180 天                                        │
│  ├── 解冻需要时间                                           │
│  └── 示例: 合规归档                                         │
│                                                             │
└─────────────────────────────────────────────────────────────┘

访问层定价对比 #

访问层 存储成本/GB 操作成本 检索成本
$0.0184
$0.01
冷层 $0.0045
归档 $0.00099 最高 最高

创建存储账户 #

使用 Azure CLI #

bash
# 创建资源组
az group create --name myResourceGroup --location eastus

# 创建存储账户
az storage account create \
  --name mystorageaccount \
  --resource-group myResourceGroup \
  --location eastus \
  --sku Standard_LRS \
  --kind StorageV2 \
  --access-tier Hot

# 查看存储账户
az storage account show \
  --name mystorageaccount \
  --resource-group myResourceGroup

使用 Azure 门户 #

text
┌─────────────────────────────────────────────────────────────┐
│                    创建存储账户步骤                          │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  步骤 1: 基本信息                                            │
│  ├── 订阅选择                                               │
│  ├── 资源组选择/创建                                        │
│  ├── 存储账户名称(全局唯一)                               │
│  ├── 区域选择                                               │
│  ├── 性能:标准/高级                                        │
│  └── 账户类型:StorageV2 等                                 │
│                                                             │
│  步骤 2: 冗余                                                │
│  ├── LRS/ZRS/GRS/GZRS                                       │
│  └── 可选:故障转移                                         │
│                                                             │
│  步骤 3: 高级                                                │
│  ├── 访问层:热/冷                                          │
│  ├── 安全设置                                               │
│  └── 虚拟网络                                               │
│                                                             │
│  步骤 4: 网络                                                │
│  ├── 公网访问                                               │
│  ├── 虚拟网络规则                                           │
│  └── 防火墙规则                                             │
│                                                             │
│  步骤 5: 数据保护                                            │
│  ├── 软删除                                                 │
│  ├── 版本控制                                               │
│  └── 备份                                                   │
│                                                             │
└─────────────────────────────────────────────────────────────┘

存储账户密钥 #

获取访问密钥 #

bash
# 获取存储账户密钥
az storage account keys list \
  --resource-group myResourceGroup \
  --account-name mystorageaccount \
  --output table

# 获取连接字符串
az storage account show-connection-string \
  --resource-group myResourceGroup \
  --name mystorageaccount \
  --output tsv

使用连接字符串 #

bash
# 设置环境变量
export AZURE_STORAGE_CONNECTION_STRING="DefaultEndpointsProtocol=https;AccountName=mystorageaccount;AccountKey=xxx;EndpointSuffix=core.windows.net"

# 使用连接字符串操作
az storage container list

安全配置 #

访问控制 #

text
┌─────────────────────────────────────────────────────────────┐
│                    访问控制选项                              │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  存储账户密钥                                                 │
│  ├── 完全访问权限                                           │
│  ├── 适合内部应用                                           │
│  └── 定期轮换                                               │
│                                                             │
│  共享访问签名 (SAS)                                           │
│  ├── 细粒度权限                                             │
│  ├── 时间限制                                               │
│  └── 适合临时共享                                           │
│                                                             │
│  Azure AD 集成                                               │
│  ├── 基于角色的访问                                         │
│  ├── 细粒度控制                                             │
│  └── 推荐                                                    │
│                                                             │
│  公共访问                                                    │
│  ├── 匿名读取                                               │
│  ├── 仅 Blob                                                │
│  └── 谨慎使用                                               │
│                                                             │
└─────────────────────────────────────────────────────────────┘

启用安全功能 #

bash
# 启用安全传输
az storage account update \
  --name mystorageaccount \
  --resource-group myResourceGroup \
  --https-only true

# 禁用公共访问
az storage account update \
  --name mystorageaccount \
  --resource-group myResourceGroup \
  --allow-blob-public-access false

# 启用软删除
az storage account blob-service-properties update \
  --account-name mystorageaccount \
  --enable-delete-retention true \
  --delete-retention-days 7

性能层级 #

标准与高级对比 #

text
┌─────────────────────────────────────────────────────────────┐
│                    性能层级                                  │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  标准性能                                                    │
│  ├── 使用 HDD/SSD 混合                                      │
│  ├── 成本较低                                               │
│  ├── IOPS: 最多 20000                                       │
│  └── 适合: 大多数工作负载                                   │
│                                                             │
│  高级性能                                                    │
│  ├── 使用 SSD                                               │
│  ├── 更高 IOPS 和吞吐量                                     │
│  ├── IOPS: 最多 100000                                      │
│  └── 适合: 高性能应用                                       │
│                                                             │
└─────────────────────────────────────────────────────────────┘

最佳实践 #

命名规则 #

text
┌─────────────────────────────────────────────────────────────┐
│                    命名规则                                  │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  存储账户名称                                                │
│  ├── 3-24 个字符                                            │
│  ├── 仅小写字母和数字                                       │
│  ├── 全局唯一                                               │
│  └── 示例: mystorageaccount123                              │
│                                                             │
│  容器名称                                                    │
│  ├── 3-63 个字符                                            │
│  ├── 小写字母、数字、连字符                                 │
│  └── 示例: my-container-2024                                │
│                                                             │
│  Blob 名称                                                   │
│  ├── 1-1024 个字符                                          │
│  ├── 大小写敏感                                             │
│  └── 示例: images/2024/photo.jpg                            │
│                                                             │
└─────────────────────────────────────────────────────────────┘

成本优化 #

text
┌─────────────────────────────────────────────────────────────┐
│                    成本优化建议                              │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  1. 选择正确的访问层                                         │
│     └── 根据访问频率选择                                    │
│                                                             │
│  2. 使用生命周期策略                                         │
│     └── 自动迁移到低成本层                                  │
│                                                             │
│  3. 选择合适的冗余                                           │
│     └── 平衡成本和可用性                                    │
│                                                             │
│  4. 监控存储使用                                             │
│     └── 清理未使用数据                                      │
│                                                             │
│  5. 使用预留容量                                             │
│     └── 长期存储折扣                                        │
│                                                             │
└─────────────────────────────────────────────────────────────┘

下一步 #

现在你已经了解了存储账户的基础,接下来学习 Blob 存储 掌握对象存储的使用!

最后更新:2026-03-29