Azure Deployment Stacks 正式发布
Azure Deployment Stacks 是一种新的资源类型,用于将一组 Azure 资源作为一个单元进行管理。该功能现已正式发布(GA),支持更快的更新和删除操作,同时防止对这些资源进行不必要的更改。
背景与迁移
Deployment Stacks 的正式发布是继去年的公开预览之后,被视为 Azure Blueprints 的后续产品。Azure Blueprints 将于 2026 年 7 月停用,并且从未达到正式发布状态。微软建议客户将其蓝图定义和分配迁移到 Template Specs 和 Deployment Stacks。
主要功能
Deployment Stacks 提供以下主要功能:
- ActionOnUnmanage:指定当受管资源变为非受管状态时采取的操作,可以是删除或分离资源。
- DeleteResources:删除非受管资源,分离资源组和管理组。
其他设置包括:
- DeleteAll:删除所有资源。
- DetachAll:分离所有资源。
- DenySettingsMode:拒绝设置模式,包括 DenyDelete、DenyWriteAndDelete 和 None。
创建 Deployment Stacks
Deployment Stacks 可以在不同范围内创建,如资源组、订阅和管理组。创建 Deployment Stacks 需要以下信息:
- 主模板(main.bicep 或 azuredeploy.json),定义要由 Deployment Stacks 创建的“managedResources”。
- 选择 ActionOnUnmanage 设置。
- 设置 DenySettingsMode。
- 指定 Deployment Stacks 的范围及其部署的目标范围。
Azure CLI 示例
以下是创建订阅范围内 Deployment Stacks 的 Azure CLI 命令示例:
az deployment stack create --name <stack-name> --location <location> --template-file main.bicep --action-on-unmanage DeleteResources --deny-settings-mode DenyDelete --scope /subscriptions/<subscription-id>在门户中查看
用户可以通过导航到指定范围 > 设置 > Deployment Stacks 来查看 Deployment Stacks 及其内容。
与其他云平台的比较
Google Cloud Platform (GCP) 和 Amazon Web Services (AWS) 提供类似的功能:
- GCP:使用 Google Cloud Deployment Manager 和 Terraform。
- AWS:使用 AWS CloudFormation、AWS CDK 和 Terraform。
- Azure:Terraform 也是一个选项,因其具有云平台无关性。
技术专家的观点
微软高级云解决方案架构师 Itamar Hirosh 在技术博客中总结道:
通过利用 Azure Deployment Stacks,我们可以有效管理和保护 Terraform 后端状态存储账户,避免陷入无限状态文件循环的陷阱。这种方法不仅集中管理后端组件,还通过拒绝分配增加了一层安全性,防止未经授权的访问和修改。
更多资源
除了官方文档,更多关于 Deployment Stacks 的详细信息可以在 GitHub 上找到:Azure Deployment Stacks GitHub。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。