すべてのプロダクト
Search
ドキュメントセンター

Cloud Firewall:Terraform を使用して Cloud Firewall を有効にする

最終更新日:Apr 25, 2025

このトピックでは、Terraform を使用して Cloud Firewall を有効にする方法について説明します。

説明

このトピックのサンプルコードは、数回クリックするだけで実行できます。 詳細については、[Terraform Explorer] にアクセスしてください。

始める前に

  • Alibaba Cloud アカウントは、アカウント内のリソースに対するすべての権限を持っています。 Alibaba Cloud アカウントが漏洩した場合、リソースは大きなリスクにさらされます。Resource Access Management (RAM) ユーザーを使用し、RAM ユーザーの AccessKey ペアを作成することをお勧めします。 詳細については、「RAM ユーザーを作成する」および「AccessKey ペアを作成する」をご参照ください。

  • 次のサンプルコードは、AliyunBSSFullAccess ポリシーをアタッチし、Cloud Firewall に必要な権限を RAM ユーザーに付与する方法を示しています。 AliyunBSSFullAccess ポリシーは、Alibaba Cloud Transactions and Bills Management OpenAPI (BSS OpenAPI) に対するすべての権限を付与します。 詳細については、「RAM ユーザーに権限を付与する」をご参照ください。

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "yundun-cloudfirewall:CreateFirewall",
                    "yundun-cloudfirewall:DescribeFirewalls",
                    "yundun-cloudfirewall:DeleteFirewall"
                ],
                "Resource": "*"
            },
            {
                "Effect": "Allow",
                "Action": [
                    "bssapi:*",
                    "bss:*"
                ],
                "Resource": "*"
            }
        ]
    }
  • Terraform 環境を準備します。 Terraform を使用するには、次のいずれかの方法を使用できます。

    Terraform Explorer で Terraform を使用する: Alibaba Cloud は、Terraform のオンラインランタイム環境である Terraform Explorer を提供しています。 Terraform Explorer にログインすれば、Terraform をインストールすることなく Terraform を使用できます。 詳細については、「Terraform Explorer で Terraform を使用する」をご参照ください。 この方法は、追加費用なしで Terraform を迅速かつ便利に使用およびデバッグしたい場合に適しています。

    Cloud Shell で Terraform を使用する: Terraform は Cloud Shell にプリインストールされており、ID 資格情報は構成済みです。 Cloud Shell で Terraform コマンドを直接実行できます。 詳細については、「Cloud Shell で Terraform を使用する」をご参照ください。 この方法は、低コストで Terraform を迅速かつ便利に使用およびデバッグしたい場合に適しています。

    オンプレミスマシンに Terraform をインストールして構成する: この方法は、ネットワークの状態が悪い場合や、カスタム開発環境を使用する場合に適しています。 詳細については、「ローカル PC に Terraform をインストールして構成する」をご参照ください。

    重要

    Terraform 0.12.28 以降をインストールする必要があります。 terraform --version コマンドを実行して、Terraform のバージョンをクエリできます。

説明

この例では、特定のリソースに対して料金が発生します。 不要になったリソースはサブスクライブ解除してください。

リソース

alicloud_cloud_firewall_instance: Cloud Firewall を有効にします。

手順

このセクションでは、Cloud Firewall を有効にする方法について説明します。

  1. 作業ディレクトリと、そのディレクトリに main.tf という名前の構成ファイルを作成します。 main.tf: このファイルは Terraform のメインファイルであり、デプロイするリソースを定義します。

    resource "alicloud_cloud_firewall_instance" "example" {
      # Cloud Firewall の課金方法。有効な値: Subscription および PayAsYouGo。
      payment_type    = "Subscription"
      # Cloud Firewall のエディション。有効な値: premium_version、enterprise_version、および ultimate_version。
      spec            = "premium_version"
      # 保護できるパブリック IP アドレスの数。有効な値: 20 ~ 4000。
      ip_number       = 20
      # 保護できるピークインターネットトラフィック。有効な値: 10 ~ 15000。単位: Mbit/s。
      band_width      = 10
      # 監査ログ機能を有効にするかどうかを指定します。有効な値: true および false。
      cfw_log         = false
      # ログストレージ容量。 cfw_log が false に設定されている場合、このパラメーターは無視されます。
      cfw_log_storage = 1000
      # cfw_service パラメーターはサポートされなくなり、v1.209.1 から削除されました。
      # cfw_service     = false
      # サブスクリプション期間。有効な値: 1、3、6、12、24、および 36。
      period          = 1
    }
  2. 次のコマンドを実行して、Terraform を初期化します。

    terraform init

    次の情報が返された場合、Terraform は初期化されています。

    Initializing the backend...
    
    Initializing provider plugins...
    - Checking for available provider plugins...
    - Downloading plugin for provider "alicloud" (hashicorp/alicloud) 1.203.0...
    
    
    Warning: registry.terraform.io: For users on Terraform 0.13 or greater, this provider has moved to aliyun/alicloud. Please update your source in required_providers.
    
    
    Terraform has been successfully initialized!
    
    You may now begin working with Terraform. Try running "terraform plan" to see
    any changes that are required for your infrastructure. All Terraform commands
    should now work.
    
    If you ever set or change modules or backend configuration for Terraform,
    rerun this command to reinitialize your working directory. If you forget, other
    commands will detect it and remind you to do so if necessary.
  3. 実行計画を作成し、変更をプレビューします。

    terraform plan
  4. 次のコマンドを実行して、Cloud Firewall を有効にします。

    terraform apply

    実行中に、プロンプトが表示されたら yes と入力し、[Enter] キーを押します。コマンドが正常に実行されるまで待ちます。次の情報が表示された場合、操作は成功です。

    An execution plan has been generated and is shown below.
    Resource actions are indicated with the following symbols:
      + create
    
    Terraform will perform the following actions:
    
      # alicloud_cloud_firewall_instance.example will be created
      + resource "alicloud_cloud_firewall_instance" "example" {
          + band_width            = 10
          + cfw_log               = false
          + cfw_log_storage       = 1000
          + cfw_service           = false
          + create_time           = (known after apply)
          + end_time              = (known after apply)
          + id                    = (known after apply)
          + ip_number             = 20
          + payment_type          = "Subscription"
          + period                = 6
          + release_time          = (known after apply)
          + renewal_duration_unit = (known after apply)
          + renewal_status        = (known after apply)
          + spec                  = "premium_version"
          + status                = (known after apply)
        }
    
    Plan: 1 to add, 0 to change, 0 to destroy.
    
    Do you want to perform these actions?
      Terraform will perform the actions described above.
      Only 'yes' will be accepted to approve.
    
      Enter a value: yes
    
    alicloud_cloud_firewall_instance.example: Creating...
    alicloud_cloud_firewall_instance.example: Creation complete after 4s [id=vipcloudfw-cn-x0r36mo****]
    
    Apply complete!  Resources: 1 added, 0 changed, 0 destroyed.
  5. 結果を確認します。

    terraform show コマンドを実行する

    次のコマンドを実行して、Terraform によって作成されたリソースをクエリできます。

    terraform show

    image

    Cloud Firewall コンソールにログインする

    [Cloud Firewall コンソール] にログインします。 [概要] ページで、[アップグレード] をクリックして Cloud Firewall の現在の構成を表示します。

リソースを解放する

重要

サブスクリプション課金方法を使用する Cloud Firewall は、Terraform を使用してサブスクライブ解除することはできません。 terraform destroy コマンドを実行した後、リソースはステータスファイルから削除されます。 その後、Cloud Firewall コンソールにログインして、Cloud Firewall を時間内にサブスクライブ解除してください。

完全なサンプルコード

説明

このサンプルコードは、数回クリックするだけで実行できます。 詳細については、[Terraform Explorer] にアクセスしてください。

サンプルコード

resource "alicloud_cloud_firewall_instance" "example" {
  # Cloud Firewall の課金方法。有効な値: Subscription および PayAsYouGo。
  payment_type    = "Subscription"
  # Cloud Firewall のエディション。有効な値: premium_version、enterprise_version、および ultimate_version。
  spec            = "premium_version"
  # 保護できるパブリック IP アドレスの数。有効な値: 20 ~ 4000。
  ip_number       = 20
  # 保護できるピークインターネットトラフィック。有効な値: 10 ~ 15000。単位: Mbit/s。
  band_width      = 10
  # 監査ログ機能を有効にするかどうかを指定します。有効な値: true および false。
  cfw_log         = false
  # ログストレージ容量。 cfw_log が false に設定されている場合、このパラメーターは無視されます。
  cfw_log_storage = 1000
  # cfw_service パラメーターはサポートされなくなり、v1.209.1 から削除されました。
  # cfw_service     = false
  # サブスクリプション期間。有効な値: 1、3、6、12、24、および 36。
  period          = 1
}