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

Terraform:Terraform を使用したリソースの迅速な作成

最終更新日:Feb 26, 2026

Terraform は、オープンソースのコードとしてのインフラストラクチャ (IaC) ツールであり、宣言型の構成ファイルを用いて Alibaba Cloud リソースのフルライフサイクルを管理できます。本トピックでは、視覚的インターフェイスまたはコマンドラインのいずれかを活用して、初めての Alibaba Cloud リソースを作成するまでの Terraform のクイックスタート方法について説明します。

実行方法の選択

Terraform では、視覚的およびコマンドラインの 2 種類の実行方法が提供されています。ご要件に合った方法をお選びください。

実行方法

シナリオ

メリット

制限事項

Terraform Explorer

初めて利用する場合、パラメーターに不慣れな場合、迅速なデバッグが必要な場合

グラフィカルなフォームを使用してリソースを構成できます。コーディングは不要です。

単一リソース操作のみをサポートします。

Terraform CLI

迅速な評価、本番環境、複雑なオーケストレーションが必要な場合

マルチリソースオーケストレーションおよびステート管理をサポートします。

CLI 環境が必要です。

CLI 方法を選択する場合は、Cloud Shell または ローカルインストール のいずれかを使用して環境を準備してください。

Terraform Explorer の使用

Terraform Explorer は、Alibaba Cloud が提供する Terraform 搭載のオンラインデバッグツールです。フォームから Terraform 構成ファイルを自動生成し、オンラインで実行します。詳細については、「Explorer の概要」をご参照ください。

本セクションでは、仮想プライベートクラウド (VPC) の作成を例として、Terraform Explorer の 2 つの利用方法(カスタムパラメーターによる作成およびサンプルテンプレートによる作成)について説明します。

カスタムパラメーターによるリソースの作成

ご要件に応じてパラメーターを設定するには、以下の手順を実行します:

  1. Terraform Explorer にログインします。プロダクト および リソースタイプ を選択します。リソースドキュメント を参照しながらパラメーターを入力し、デバッグ開始 をクリックします。

    VPC 作成の主なパラメーターを以下に示します。その他のパラメーターの詳細については、「alicloud_vpc」をご参照ください。

    パラメーター名

    説明

    vpc_name

    VPC 名

    tf-test-vpc

    cidr_block

    VPC のプライベート CIDR ブロック

    192.168.0.0/16

    description

    VPC の説明

    Terraform を使用して作成された VPC です。

    image

  2. テンプレートの詳細 タブで、パラメーターが正しく設定されていることを確認します。プレビュー をクリックして実行計画を表示します。

    image

  3. プレビューの詳細 タブで、作成されるリソースを確認します。実行 をクリックします。

    image

  4. 実行の詳細 タブで結果を確認します。正常終了時は「Apply complete! Resources: 1 added, 0 changed, 0 destroyed.」と表示されます。失敗した場合は、パラメーターを調整して再度デバッグを行ってください。

    image

  5. リソースの詳細 タブで、作成されたリソースの情報を表示します。

    image

  6. (任意)リソースの変更:パラメーターを調整し、プレビューと実行 をクリックします。手順 2~4 を繰り返します。正常に更新された場合は、「Apply complete! Resources: 0 added, 1 changed, 0 destroyed.」と表示されます。

    image

  7. (任意)リソースのリリース:実行の詳細 タブで リソースの破棄 をクリックします。その後、プレビューの詳細 タブで 実行 をクリックします。

    image

サンプルテンプレートによるリソースの作成

リソースのパラメーターに不慣れな場合や、すぐに始めたい場合は、Terraform Explorer のサンプルテンプレートをご利用ください。

  1. Terraform Explorer にログインします。プロダクトリソースタイプ、および サンプルテンプレート を選択し、デバッグ開始 をクリックします。右側の サンプルテンプレート タブでテンプレートの詳細を表示します。

    image

  2. テンプレートの詳細 タブで、プレビューと実行 をクリックします。

    image

  3. 実行の詳細 タブで実行結果を確認します。

    image

  4. (任意)作成したリソースをリリースするには、実行の詳細 タブで リソースの破棄 をクリックします。その後、プレビューの詳細 タブで 実行 をクリックします。

    image

説明

デバッグの継続リソースの破棄 などの操作は、呼び出し履歴 からも実行できます。

Terraform CLI の使用

コマンドラインから Terraform を使用するには、CLI 環境を準備し、構成ファイルを作成してコマンドを実行することでリソースを作成します。以下のいずれかの方法で Terraform CLI 環境をセットアップしてください:

  • Cloud Shell(推奨):インストール不要。迅速な評価および学習に最適です。

  • ローカルインストール:本番環境、継続的インテグレーション、長期運用に最適です。

Cloud Shell

Alibaba Cloud Cloud Shell は無料の運用・保守ツールであり、Terraform がプリインストール済みで、認証情報も事前に設定されています。Terraform コマンドを直接実行できます。

Cloud Shell へのログイン

ブラウザを開き、Cloud Shell にアクセスします。詳細については、「Cloud Shell の使用」をご参照ください。

説明

RAM ユーザーとしてログインしてください。Alibaba Cloud アカウントのセキュリティを確保するため、必要でない限り、Alibaba Cloud アカウントを使用してクラウドリソースにアクセスしないでください。

Terraform のバージョン切り替え

Cloud Shell のデフォルト Terraform バージョンは古くなっている可能性があります。すべての機能が正しく動作するよう、バージョン 1.2 以降に切り替えてください。

  1. 現在の Terraform バージョンを確認します:

    terraform version

    image

  2. Cloud Shell で利用可能な Terraform バージョンを一覧表示します:

    tfenv list

    image

  3. 特定のバージョン(例:1.9.5)に切り替えます:

    tfenv use 1.9.5

    image

ローカルインストール

本番環境および複雑なオーケストレーションに最適です。まず Terraform をインストールし、認証情報を設定してください。

パッケージマネージャーによるインストール(推奨)

macOS

Homebrew を使用してインストールします:

# HashiCorp の tap を追加して、Homebrew におけるパッケージの場所を定義
brew tap hashicorp/tap
# Terraform をインストール
brew install hashicorp/tap/terraform

最新バージョンへ更新します:

# Homebrew を更新
brew update
# Terraform をアップグレード
brew upgrade hashicorp/tap/terraform

Windows

Chocolatey を使用してインストールします:

choco install terraform

Linux

たとえば、yum パッケージマネージャーを使用する場合:

yum install -y dnf-plugin-releasever-adapter
yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
yum install terraform

手動インストール

パッケージマネージャーが利用できない場合は、手動でインストールしてください。

プリコンパイル済みバイナリの使用

  1. Terraform ウェブサイト から、ご利用のオペレーティングシステムに対応する ZIP ファイルをダウンロードし、アーカイブを展開します。

  2. terraform バイナリファイルを、システムの PATH に含まれるディレクトリに移動します:

    • macOS または Linux

      mv ~/Downloads/terraform /usr/local/bin/
    • Windows

      1. コントロールパネル → システム → システムの設定 → 環境変数を開きます。

      2. システム変数で PATH を見つけ、[編集] をクリックします。

      3. Terraform ディレクトリへのパスを追加します。他のエントリとはセミコロンで区切ります(例: c:\path;c:\path2)。

      4. 変更を有効にするには、新しいコマンドラインウィンドウを開きます。

ソースからのコンパイル

まず、Go 開発環境 をインストールする必要があります。

  1. Terraform のソースリポジトリをクローンします:

    git clone https://github.com/hashicorp/terraform.git
  2. ディレクトリに移動し、ソフトウェアをコンパイルしてインストールします。

    cd terraform
    go install

    コンパイル後、バイナリは $GOPATH/bin/ ディレクトリに配置されます。

  3. $GOPATH/bin をシステムの PATH に追加してください。手順は、「プリコンパイル済みバイナリの使用」の手順 2 と同じです。

インストールの確認

以下のコマンドを実行して、Terraform が正しくインストールされたことを確認します:

terraform version

コマンドが正常に実行され、バージョン番号が表示された場合、インストールは完了しています。

例:ECS インスタンスの作成

この例では、ECS インスタンスの作成を通じて、Terraform の完全なオーケストレーションワークフロー(VPC の作成 → vSwitch の作成 → セキュリティグループの作成 → ECS インスタンスの作成)を紹介します。

  1. 作業ディレクトリを作成し、Terraform 構成ファイル main.tf を作成します:

    mkdir tf-demo && cd tf-demo
    vim main.tf

    以下のコードを main.tf にコピーします:

    provider "alicloud" {
      region = var.region
    }
    
    # リソース作成のリージョン
    variable "region" {
      default = "cn-beijing"
    }
    
    # ECS インスタンス名
    variable "instance_name" {
      default = "tf-cloudshell-test"
    }
    
    # ECS インスタンスタイプ
    variable "instance_type" {
      default = "ecs.n2.small"
    }
    
    # 外向きパブリック帯域幅(値 0 はパブリックネットワークへのアクセス不可を意味します)
    variable "internet_bandwidth" {
      default = 10
    }
    
    # ECS OS イメージ
    variable "image_id" {
      default = "ubuntu_18_04_64_20G_alibase_20190624.vhd"
    }
    
    # ECS システムディスクタイプ
    variable "disk_category" {
      default = "cloud_efficiency"
    }
    # ECS インスタンスのログインパスワード
    variable "password" {
      default = "TF-test@1234"
    }
    
    # VPC の作成
    resource "alicloud_vpc" "vpc" {
      vpc_name   = "tf_test_foo"
      cidr_block = "172.16.0.0/12"
    }
    
    # インスタンスタイプおよびディスクカテゴリに基づいて利用可能なゾーンを照会
    data "alicloud_zones" "default" {
      available_disk_category     = var.disk_category
      available_resource_creation = "VSwitch"
      available_instance_type     = var.instance_type
    }
    
    # vSwitch の作成
    resource "alicloud_vswitch" "vsw" {
      vpc_id     = alicloud_vpc.vpc.id
      cidr_block = "172.16.0.0/21"
      zone_id    = data.alicloud_zones.default.zones.0.id
    }
    
    # セキュリティグループの作成
    resource "alicloud_security_group" "default" {
      security_group_name   = "default"
      vpc_id = alicloud_vpc.vpc.id
    }
    
    # セキュリティグループへのインバウンドルールの作成
    resource "alicloud_security_group_rule" "allow_all_tcp" {
      type              = "ingress"
      ip_protocol       = "tcp"
      nic_type          = "intranet"
      policy            = "accept"
      port_range        = "1/65535"
      priority          = 1
      security_group_id = alicloud_security_group.default.id
      cidr_ip           = "0.0.0.0/0"
    }
    
    resource "alicloud_instance" "instance" {
      # セキュリティグループのアタッチ
      security_groups = alicloud_security_group.default.*.id
      instance_type = var.instance_type
      system_disk_category = var.disk_category
      image_id = var.image_id
      instance_name = var.instance_name
      # vSwitch
      vswitch_id = alicloud_vswitch.vsw.id
      internet_max_bandwidth_out = var.internet_bandwidth
      password  = var.password
    }
    重要

    この例のセキュリティグループルールでは、すべての TCP ポート(1~65535)が開放され、任意の IP アドレス(0.0.0.0/0)からのトラフィックが許可されています。これはテスト環境でのみ使用してください。本番環境では、必要なポートおよび送信元 IP アドレスを適切に制限してください。

  2. Terraform 作業ディレクトリを初期化します:

    terraform init
  3. どのリソースが作成されるかを確認するため、実行計画をプレビューします:

    terraform plan

    image

  4. リソースを作成します。「Apply complete!」という出力が表示された場合、成功です:

    terraform apply

    image.png

  5. これらのリソースをリリースするには、以下のコマンドを実行します:

    terraform destroy

参考文献