通过Terraform创建云防火墙实例

更新时间:
复制为 MD 格式

本文介绍如何使用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:创建云防火墙实例。

创建防火墙实例

本示例将创建云防火墙实例。

  1. 创建一个工作目录,并且在工作目录中创建以下名为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
    }
  2. 执行以下命令,初始化Terraform运行环境。

    terraform init

    若返回Terraform has been successfully initialized!信息,则表示Terraform初始化成功。

  3. 创建执行计划,并预览变更。

    terraform plan
  4. 执行以下命令,创建云防火墙实例。

    terraform apply

    在执行过程中,根据提示输入yes并按下Enter键,等待命令执行完成,若出现以下信息,则表示创建云防火墙实例成功。

  5. 验证结果

    执行terraform show命令

    可以使用以下命令查询Terraform已创建资源的详细信息。

    terraform show

    登录云防火墙控制台

    登录云防火墙控制台,在总览页面查看云防火墙实例的当前配置。

清理资源

重要

目前无法通过 Terraform 退订包年包月的防火墙实例,执行 terraform destroy 后会将资源从状态文件中移除,请及时到控制台上进行退订。

完整示例

示例代码

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"
  # 购买时长,当payment_type选择为Subscription时需填写。
  # period          = 1
}