通过Terraform创建云防火墙实例
本文介绍如何使用Terraform创建云防火墙实例。
当前示例代码支持一键运行,您可以直接运行代码。
前提条件
由于阿里云账号(主账号)具有资源的所有权限,一旦发生泄露将面临重大风险。建议您使用RAM用户,并为该RAM用户创建AccessKey,具体操作方式请参见创建RAM用户和创建AccessKey。
使用以下示例为RAM用户授权,需要为该RAM用户授予以下权限:云防火墙CloudFirewall权限和AliyunBSSFullAccess(管理费用中心BSS)权限。具体操作方式请参见为RAM用户授权。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "yundun-cloudfirewall:*" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "bssapi:*", "bss:*" ], "Resource": "*" } ] }准备Terraform运行环境,您可以选择以下任一方式来使用Terraform。
在Explorer中使用Terraform:阿里云提供了Terraform的在线运行环境,您无需安装Terraform,登录后即可在线使用和体验Terraform。适用于零成本、快速、便捷地体验和调试Terraform的场景。
使用Terraform快速创建资源:阿里云Cloud Shell中预装了Terraform的组件,并已配置好身份凭证,您可直接在Cloud Shell中运行Terraform的命令。适用于低成本、快速、便捷地访问和使用Terraform的场景。
在本地安装和配置Terraform:适用于网络连接较差或需要自定义开发环境的场景。
重要请确保Terraform版本不低于v1.269.0。如需检查现有版本,请运行
terraform --version命令。
本教程示例包含的部分资源会产生一定费用,请在不需要时及时进行退订。
使用的资源
alicloud_cloud_firewall_instance_v2:创建云防火墙实例。
创建云防火墙实例
本示例将创建云防火墙实例。
创建一个工作目录,并且在工作目录中创建以下名为
main.tf的配置文件。main.tfTerraform主文件,定义了将要部署的资源。resource "alicloud_cloud_firewall_instance_v2" "default" { # 资源的支付类型。有效值:Subscription(包年包月),PayAsYouGo(按量付费)。 payment_type = "PayAsYouGo" product_code = "cfw" # 产品类型。有效值:cfw_elasticity_public_cn,cfw_elasticity_public_intl,cfw_sub_public_cn,cfw_sub_public_intl。 product_type = "cfw_elasticity_public_cn" #产品版本。有效值:payg_version,premium_version,enterprise_version,ultimate_version。 spec = "payg_version" # 是否使用日志分析。有效值:true,false。 cfw_log = false # 购买时长,当payment_type选择为Subscription时需填写。 # period = 1 }执行以下命令,初始化
Terraform运行环境。terraform init若返回
Terraform has been successfully initialized!信息,则表示Terraform初始化成功。创建执行计划,并预览变更。
terraform plan执行以下命令,创建云防火墙实例。
terraform apply在执行过程中,根据提示输入
yes并按下Enter键,等待命令执行完成,若出现以下信息,则表示创建云防火墙实例成功。验证结果
执行terraform show命令
可以使用以下命令查询Terraform已创建资源的详细信息。
terraform show登录云防火墙控制台
登录云防火墙控制台,在总览页面查看云防火墙实例的当前配置。
清理资源
目前无法通过 Terraform 退订包年包月的防火墙实例,执行 terraform destroy 后会将资源从状态文件中移除,请及时到控制台上进行退订。