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

ENS:Terraform 統合の例

最終更新日:Aug 27, 2026

Terraform は、クラウドインフラストラクチャを安全かつ効率的にプロビジョニングおよび管理するオープンソースツールです。 Terraform を使用して ENS (Edge Node Service) リソースを管理できます。 このチュートリアルでは、Terraform を使用して ENS EIP リソースを作成する方法について説明します。

このサンプルコードは、ワンクリックデプロイに対応しています。Terraform Explorer で実行すると、Terraform をインストールすることなくサンプルコードをオンラインでデプロイできます。

前提条件

サンプルコードを実行する前に、以下の項目を準備してください。選択するランタイム環境によって、認証情報をご自身で設定する必要があるかどうかが決まります。

  • RAM ユーザーとアクセスキーペア: Alibaba Cloud アカウントはすべてのリソースに対する権限を持っており、その認証情報が漏洩すると重大なリスクを引き起こします。 (推奨) Resource Access Management (RAM) ユーザーを使用し、その RAM ユーザーのアクセスキーペアを作成してください。詳細については、RAM ユーザーの作成およびアクセスキーの作成をご参照ください。

  • ENS の権限: RAM ユーザーに AliyunENSFullAccess 権限を付与してください。これにより、RAM ユーザーは ENS リソースを管理できるようになります。詳細については、RAM ユーザーの権限の管理をご参照ください。以下のポリシーは、サンプルコードが必要とする権限を記述しています。

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": "ens:*",
          "Resource": "*"
        }
      ]
    }
  • Terraform ランタイム環境:以下のいずれかの方法で Terraform ランタイム環境を準備してください。

    • (推奨) Terraform Explorer で Terraform を使用する: Alibaba Cloud はオンラインの Terraform ランタイム環境を提供しています。Terraform をインストールする必要はありません。オンラインでログインして Terraform を使用できます。このオプションは、Terraform を無料で迅速に試したりデバッグしたりするシナリオに適しています。このトピックのワンクリックデプロイリンクは、この環境でサンプルコードを開きます。

    • Terraform を使用してリソースを作成する: Alibaba Cloud の Cloud Shell には、Terraform コンポーネントがプリインストールされ、認証情報も事前設定されているため、Cloud Shell で直接 Terraform コマンドを実行できます。このオプションは、Terraform に迅速かつ低コストでアクセスしたいシナリオに適しています。

    • Terraform のインストールと設定:このオプションは、ネットワーク接続が悪い場合や、カスタマイズされた開発環境が必要なシナリオに適しています。

      どのオプションを選択するかにかかわらず、Terraform のバージョンが v0.12.28 以降であることを確認してください。インストールされているバージョンを確認するには、terraform --version コマンドを実行してください。

警告

この例の一部のリソースには料金が発生します。不要になったリソースは、速やかに解放してください。手順については、このトピックの「リソースのクリーンアップ」セクションをご参照ください。

使用するリソース

alicloud_ens_eip: ENS EIP リソースを作成します。

Terraform を使用したリソースの統合

このセクションでは、Terraform の設定ファイルで ENS EIP リソースを定義し、その設定を適用します。

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

    variable "name" {
      default = "terraform-example"
    }
    # ENS EIP リソースを作成します。
    resource "alicloud_ens_eip" "default" {
      # (任意) EIP の説明。
      description   = "EipDescription_autotest"
      # (任意、算出) EIP のピーク帯域幅。デフォルト値:5。有効値:5~10000。
      bandwidth     = "5"
      # (任意、新規リソースを強制) インターネットサービスプロバイダー。
      isp           = "cmcc"
      # (必須、新規リソースを強制) EIP の課金方法。有効値:PayAsYouGo (従量課金)。
      payment_type  = "PayAsYouGo"
      # (必須、新規リソースを強制) ENS エッジゾーンの ID。
      ens_region_id = "cn-chenzhou-telecom_unicom_cmcc"
      # (任意) EIP の名前。
      eip_name      = var.name
      # (必須、新規リソースを強制) 有効値:95BandwidthByMonth。
      internet_charge_type = "95BandwidthByMonth"
    }
  2. 次のコマンドを実行して、Terraform ランタイム環境を初期化してください。

    terraform init
    Initializing the backend...
    
    Initializing provider plugins...
    - Reusing previous version of hashicorp/alicloud from the dependency lock file
    - Using previously-installed hashicorp/alicloud v1.231.0
    
    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. 次のコマンドを実行して、ENS EIP リソースを作成してください。

    terraform apply

    yes と入力して Enter キーを押してください。コマンドが完了するまでお待ちください。次の出力は、ENS EIP リソースが作成されたことを示します。

    Command output that indicates the ENS EIP resource is created

結果の確認

以下のいずれかの方法で、ENS EIP リソースが存在することを確認してください。

terraform show コマンドの実行

次のコマンドを実行して、Terraform が作成したリソースの詳細を照会してください。

terraform show

ENS コンソールへのログイン

リソースが作成されたら、ENS コンソールにログインして、作成した ENS EIP リソースを表示してください。

The created ENS EIP resource in the ENS console

リソースのクリーンアップ

Terraform を使用して作成または管理しているリソースが不要になった場合は、次のコマンドを実行して解放してください。

terraform destroy

terraform destroy の詳細については、「一般的なコマンド」をご参照ください。

完全な例

以下の設定は、ENS EIP リソースを作成するための完全なサンプルコードです。 Terraform Explorer で実行すると、ローカルのランタイム環境を準備することなくデプロイできます。

サンプルコード

variable "name" {
  default = "terraform-example"
}
# ENS EIP リソースを作成します。
resource "alicloud_ens_eip" "default" {
  # (任意) EIP の説明。
  description   = "EipDescription_autotest"
  # (任意、算出) EIP のピーク帯域幅。デフォルト値:5。有効値:5~10000。
  bandwidth     = "5"
  # (任意、新規リソースを強制) インターネットサービスプロバイダー。
  isp           = "cmcc"
  # (必須、新規リソースを強制) EIP の課金方法。有効値:PayAsYouGo (従量課金)。
  payment_type  = "PayAsYouGo"
  # (必須、新規リソースを強制) ENS エッジゾーンの ID。
  ens_region_id = "cn-chenzhou-telecom_unicom_cmcc"
  # (任意) EIP の名前。
  eip_name      = var.name
  # (必須、新規リソースを強制) 有効値:95BandwidthByMonth。
  internet_charge_type = "95BandwidthByMonth"
}

その他の例については、「その他の完全な例」に移動し、対応するサービスのフォルダーを開いてください。