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

Terraform:プロバイダーの使用

最終更新日:Oct 22, 2025

Terraform の基本的な概念とワークフローを学習した後、それを使用してインフラストラクチャリソースを作成、更新、および破棄できます。

Terraform ワークフロー

Terraform ワークフローは、次の 4 つのステップで構成されます。

  1. インフラストラクチャテンプレートファイルの作成

    テンプレートファイルでコードとしてのインフラストラクチャ (IaC) を定義します。これらのファイルは、構成するリソースを記述します。

  2. 実行計画の生成

    terraform plan コマンドを実行して、望ましい状態の実行計画を生成します。

  3. 実行計画の適用

    terraform apply コマンドを実行して計画を適用し、テンプレートに記述されているインフラストラクチャを構築します。

  4. 構成の変更と変更の増分適用

    テンプレートが変更されると、Terraform は変更内容を判断し、増分実行計画を作成して変更を適用します。

Terraform のインストール

Terraform は Alibaba Cloud Shell にプリインストール済みです。ローカルマシンにバイナリパッケージからインストールしたり、オペレーティングシステムのパッケージマネージャを使用してインストールしたりすることもできます。

たとえば、Windows マシンに Terraform を手動でインストールするには、Terraform ダウンロードページから適切なパッケージをダウンロードして解凍します。Terraform パッケージには、terraform という名前の単一のバイナリファイルが含まれています。Terraform バイナリへのパスを PATH 環境変数に追加します。その後、新しいターミナルを開き、terraform -help コマンドを実行してインストールを確認できます。

詳細については、「プロバイダーのインストール」をご参照ください。

Terraform の身分認証

Terraform の ID 認証は、Alibaba Cloud Terraform Provider を認証するプロセスです。認証後、Terraform は Alibaba Cloud API と通信してリソースを作成および管理できます。

Alibaba Cloud Terraform Provider は、複数の認証方式をサポートしています。選択する方法は、ユースケースと Terraform をインストールして実行する環境によって異なります。このセクションでは、環境変数を使用して資格情報を設定する方法について説明します。詳細については、「Terraform の ID 認証」をご参照ください。

  • ローカルマシンで Terraform を実行する場合、AccessKey を持つ Alibaba Cloud RAM ユーザーが必要です。Alibaba Cloud RAM コンソールの [ユーザー] ページにログインします。既存のユーザーを選択するか、新しいユーザーを作成し、そのユーザーの AccessKey を作成します。AccessKey ID と AccessKey シークレットを取得したら、ALICLOUD_ACCESS_KEY および ALICLOUD_SECRET_KEY 環境変数を設定します。Terraform はこれらの資格情報を使用して認証を行います。

export ALICLOUD_ACCESS_KEY="<AccessKey ID>"
export ALICLOUD_SECRET_KEY="<AccessKey secret>"
  • Cloud Shell で Terraform を実行する場合

    Cloud Shell で実行すると、Terraform はプリ認証されます。Cloud Shell は、自動 ID 資格情報を提供するコンピュートエンジン仮想マシンです。Cloud Shell にログインすると、ログイン ID に基づいて ALICLOUD_ACCESS_KEY および ALICLOUD_SECRET_KEY 環境変数が自動的に設定されます。手動で設定する必要はありません。

  • Alibaba Cloud ECS インスタンスで Terraform を実行する場合

    Alibaba Cloud ECS インスタンスで Terraform を実行する場合、ALICLOUD_ACCESS_KEY および ALICLOUD_SECRET_KEY 環境変数を手動で設定できます。Terraform はこれらの資格情報を使用して認証を行います。ただし、セキュリティ上の理由から、Alibaba Cloud ECS インスタンスで Terraform を実行する場合は、ECS サーバロール認証方式を使用することをお勧めします。

  • Alibaba Cloud ACK コンテナーで Terraform を実行する場合

    Alibaba Cloud ACK コンテナーで Terraform を実行する場合、Dockerfile で ALICLOUD_ACCESS_KEY および ALICLOUD_SECRET_KEY 環境変数を設定できます。新しいコンテナーが作成されると、Terraform はこれらの資格情報を使用して認証を行います。ただし、セキュリティ上の理由から、Alibaba Cloud ACK コンテナーで Terraform を実行する場合は、OIDC ロール仮定 (AssumeRoleWithOIDC) 認証方式を使用することをお勧めします。

  • Alibaba Cloud の外部のマシンで Terraform を実行する場合

    Alibaba Cloud の外部のマシンで Terraform を実行する場合、マシン上で ALICLOUD_ACCESS_KEY および ALICLOUD_SECRET_KEY 環境変数を手動で設定できます。Terraform はこれらの資格情報を使用して認証を行います。

この例では、Terraform ワークフローをよりよく理解するために、単純な VPC ネットワークを作成する方法を示します。

まず、拡張子が .tf の構成ファイルを作成します。ファイルで、Alibaba Cloud をプロバイダーとして定義し、HCL コードを追加して Alibaba Cloud VPC インスタンスを作成します。コードを保存したら、ファイルが保存されているディレクトリに切り替えます。terraform init を実行して Alibaba Cloud プロバイダーを初期化します。terraform plan および terraform apply コマンドを実行して、実行計画を生成および適用します。terraform apply を実行すると、the-first-vpc という名前の VPC ネットワークが Alibaba Cloud 上に作成されます。