我正在寻找一个工具或某种方式来管理Azure NSG配置。目前,核供应国集团的规则是临时手动更改的。我希望以更多脚本化的方式实现此NSG配置更改,以便我也可以跟踪更改历史。
我正在寻找基于Git的NSG存储库,其中所有带有不同参数文件的NSG ARM模板都通过Azure powershell或作为Azure Devops CI/CD管道的一部分运行。
我不确定Ansible是否可以帮助管理nsg或Terraform。
我喜欢想到Ansible。有谁知道这个要求,如何管理NSG吗?
谢谢
您可以通过ARM模板,Teffaform和Ansible管理Azure NSG配置。
<<ul>手臂模板/gh>1、您可以查看以下示例来创建ARM模板来管理Azure NSG。
创建网络安全组。
如何使用模板创建nsg
更多示例请查看官方文档
2、在ARM模板被创建并推送到你的git仓库之后。您可以创建azure管道来自动化部署。
3、然后你需要创建一个azure资源管理器服务连接,将你的azure订阅连接到azure devops。请看这个线程的例子。
4、在你的azure开发管道。可以使用ARM模板部署任务部署ARM模板。
steps:
- task: AzureResourceManagerTemplateDeployment@3
displayName: 'ARM Template deployment: Resource Group scope'
inputs:
azureResourceManagerConnection: 'azure Resource Manager service connection'
subscriptionId: '...'
resourceGroupName: '...'
location: 'East US'
csmFile: azuredeploy.json
csmParametersFile: azuredeploy.parameters.json
- Teffaform
1、创建Teffaform配置文件。
查看terra -azurerm-network-security-group模块获取更多信息。
2、上传Teffaform配置文件到git repo。创建Azure开发管道
3、使用ARM模板创建azure Resource Manager服务连接4、在azure devops管道中使用terrform任务
steps:
- task: ms-devlabs.custom-terraform-tasks.custom-terraform-installer-task.TerraformInstaller@0
displayName: 'Install Terraform 0.12.3'
- task: ms-devlabs.custom-terraform-tasks.custom-terraform-release-task.TerraformTaskV1@0
displayName: 'Terraform : azurerm'
inputs:
command: apply
environmentServiceNameAzureRM: 'azure Resource Manager service connection'
- Ansible
1、使用插件azure.azcollection.azure_rm_securitygroup创建Ansible playbook
请查看此处的示例。
2、上传可行的剧本到git repo。创建Azure开发管道。在你的管道中使用Ansible任务
有关如何在azure devops管道中运行ansible playbook的更多信息,请查看此详细教程。
- Azure powershell/Azure CLI命令
您可以使用azure powershell或azure cli命令来管理azure nsg。并在Azure powershell任务或Azure cli任务中运行命令。
更多信息请查看本文档。