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

:Terraform Explorer の概要

最終更新日:Jan 17, 2025

概要

Terraform Explorer は、Alibaba Cloud が提供するツールで、オープンソースの Terraform に基づいて Terraform 構成ファイルをオンラインでデバッグできます。 Terraform Explorer は、開発者が Terraform 構成ファイルの作成と Terraform の操作のプロセスを簡素化し、Terraform を使用する際の障壁を低くするために設計されています。 Terraform Explorer を使用すると、開発者はフォームを作成して Terraform 構成ファイルを自動的に生成および変換し、シンプルなボタンベースのインターフェイスを使用して Terraform をオンラインで実行できます。

機能

Terraform 構成ファイル

Terraform 構成ファイルは、コードを使用してインフラストラクチャリソースを定義します。 Terraform 構成ファイルを作成することは、コードとしてのインフラストラクチャ (IaC) ワークフローの最初のステップです。 Elastic Compute Service (ECS) インスタンスや ApsaraDB RDS インスタンスなどの必要な Alibaba Cloud リソースと、構成ファイル内のリソース間の依存関係を定義すると、Terraform は構成ファイルに基づいて定義されたリソースを自動的に作成および構成します。 これにより、自動化されたデプロイと O&M が実装されます。 Terraform Explorer は構成ファイルを自動的に生成し、開発者は構成ファイルをオンラインで編集できます。

機能カテゴリ

機能

説明

構成ファイルの作成

構成ファイルを自動的に生成する

OpenAPI Explorer の Terraform Explorer ページでクラウドサービスとリソースタイプを選択した後、[デバッグの開始] をクリックします。 Terraform Explorer は、選択したリソースタイプの構成ファイルを自動的に生成します。 その後、Terraform Explorer ページの左側のフォームで一部またはすべてのパラメーターを構成して、構成ファイルを継続的に改善できます。

構成ファイルをオンラインで編集する

Terraform Explorer は、リソースタイプごとに 1 つ以上のサンプルテンプレートを提供します。 多数のパラメーターを構成したくない場合、または一度に複数のリソースを作成する場合は、リソースタイプとサンプルテンプレートを選択します。 サンプルテンプレートの詳細が表示されます。 その後、[デバッグの開始] をクリックします。

サンプルテンプレートが要件を満たしていない場合は、テンプレートの右上隅にある [編集] をオンにして、テンプレートにコンテンツを追加するか、テンプレートをオンラインで変更します。 テンプレートを保存した後、デバッグを続行できます。

Terraform をオンラインで実行する

Terraform ワークフローでは、構成ファイルを作成した後、Terraform の作業ディレクトリを初期化し、実行計画をプレビューして実行する必要があります。 OpenAPI Explorer の Terraform Explorer ページでは、デバッグタスクを実行することで Terraform ワークフローを実装できます。 デバッグタスクを実行するたびに、初期化、プレビュー、および実行の手順を順番に実行する必要があります。

機能カテゴリ

機能

説明

構成ファイルを実行する

Terraform の作業ディレクトリをオンラインで初期化する

Terraform Explorer で実行計画をプレビューおよび実行する前に、Terraform の作業ディレクトリを初期化する必要があります。

実行計画をオンラインでプレビューする

[計画] をクリックすると、Terraform Explorer はデバッグタスクを作成するか、既存のデバッグタスクで terraform init コマンドと terraform plan コマンドを順番に実行します。 その後、Terraform 実行計画が生成され、実行計画の詳細は [適用詳細] タブに表示されます。 実行計画をプレビューしてから、実行計画を実行するか、実行計画の実行を中止できます。

実行計画をオンラインで実行する

実行計画が期待どおりである場合は、[適用] をクリックして実行計画を実行します。 その後、Terraform Explorer は terraform apply コマンドを実行して、実行計画で定義されたリソースを作成または変更します。

[計画と適用] をクリックすると、Terraform Explorer は手動確認なしで生成された実行計画を自動的に実行します。 つまり、Terraform Explorer は terraform init コマンド、terraform plan コマンド、および terraform apply コマンドを順番に実行します。

リソースを破棄する

デバッグの完了後にリソースを破棄する場合は、[リソースの破棄] をクリックします。 その後、Terraform Explorer は terraform plan コマンドを実行して、リソースを破棄するための実行計画を生成します。 リソースを破棄することを確認した後、Terraform Explorer は terraform apply コマンドを実行して実行計画を実行します。 これにより、実行計画で定義されたリソースが解放されます。

利点

Terraform Explorer は、オープンソース Terraform のコア機能を管理するためのオンラインプラットフォームを提供します。 インストール、コーディング、または手動でのステータス管理は不要です。

インストール不要

Terraform Explorer は、マネージドオンライン Terraform クライアントを提供します。 Terraform コマンドが実行されると、Terraform Explorer は Alibaba Cloud Terraform プロバイダーのダウンロードを高速化します。 Terraform のインストールと構成、プロバイダーのダウンロードの遅延などの環境問題について心配する必要はありません。

コーディング不要

Terraform Explorer は、ユーザーが提供するパラメーターに基づいて構成ファイルを自動的に生成することで、単一リソースのデプロイを簡素化し、Terraform コードを作成する複雑さを排除します。 また、Terraform Explorer は、リソースタイプごとに 1 つ以上のサンプルテンプレートを提供します。 サンプルテンプレートを選択して、数回クリックするだけで実行計画を実行できます。

さらに、Terraform Explorer は、各 Terraform 実行で使用されるテンプレートとパラメーターを自動的に保存します。 新しいデバッグタスクを開始するときは、以前に使用したテンプレートとパラメーターを選択できます。

手動ステータス管理不要

Terraform は、ローカルとリモートの両方のステータス管理をサポートしています。 Terraform Explorer では、ローカルとリモートのステータスも管理できます。 デフォルトでは、Terraform Explorer はローカルステータス管理を使用します。 ただし、Terraform Explorer は各 Terraform 実行のステータスの履歴を保存します。 これにより、Terraform のネイティブステータス管理メカニズムを維持しながら、同じ構成ファイルの繰り返し適用されるステータスのセキュリティが確保されます。

用語

用語

説明

バージョン

Alibaba Cloud Terraform プロバイダーのバージョン。 サポートされている最小バージョンは 1.202.0 です。

サービス

各プロバイダーバージョンでサポートされているクラウドサービス。 キーワードによるあいまい検索がサポートされています。

リソースタイプ

各プロバイダーバージョンで選択されたクラウドサービスでサポートされているリソースタイプ。 キーワードによるあいまい検索がサポートされています。

テンプレート

HashiCorp Configuration Language (HCL) 形式の Terraform 構成ファイル。 ファイルは UTF-8 でエンコードされています。 パラメーターを構成してテンプレートを自動的に生成するか、リソースタイプに提供されているサンプルテンプレートを参照できます。

テンプレートバージョン

テンプレートのバージョン。 デバッグタスクが実行されるたびに、使用済みテンプレートの新しいバージョンが保存されます。 各テンプレートバージョンの詳細を表示できます。

タスク

デバッグタスク。 [デバッグの開始] をクリックしてデバッグを開始すると、Terraform Explorer はデバッグタスクを作成します。 各デバッグタスクは一意のステータスファイルに対応しています。 したがって、一度にプレビューまたは実行できる実行計画は 1 つだけです。

デバッグレコード

デバッグレコード。 [計画] または [計画と適用] をクリックしてデバッグタスクが実行されるたびに、デバッグレコードが生成されます。 新しいデバッグレコードごとに、前のデバッグレコードに基づいて実行計画が生成および実行されます。

デバッグ履歴

デバッグ履歴。 各リソースタイプのすべてのデバッグタスクは、デバッグ履歴に記録されます。 履歴タスクを選択し、最新のデバッグレコードに基づいてデバッグを続行できます。

アクセスの制御

Terraform Explorer にアクセスして一部の機能を使用するには、必要な権限を付与する必要があります。 このような機能には、デバッグタスクの作成、実行計画のプレビュー、実行計画のプレビューと実行、リソースの破棄、デバッグ履歴の表示、リソース詳細の表示などがあります。 次の表に、Terraform Explorer で承認が必要な API 操作を示します。

操作

説明

関連する機能

CreateExplorerModule

テンプレートを保存します。

実行計画をプレビューし、実行計画をプレビューして実行します。

GetExplorerModule

テンプレートの詳細をクエリします。

テンプレートを表示します。

CreateExplorerModuleVersion

デバッグを続行するたびに、テンプレートコンテンツを新しいバージョンとして保存します。

実行計画をプレビューし、実行計画をプレビューして実行し、デバッグを続行します。

CreateExplorerTask

デバッグタスクを作成します。

実行計画をプレビューし、実行計画をプレビューして実行します。

GetExplorerTask

デバッグタスクの詳細をクエリします。

デバッグ結果を表示します。

UpdateExplorerTaskAttribute

デバッグタスクを更新します。

リソースを破棄します。

CreateJob

デバッグタスクを作成して実行します。

実行計画をプレビューし、実行計画をプレビューして実行し、リソースを破棄します。

GetJob

デバッグタスクの実行詳細をクエリします。

デバッグ結果を表示します。

OperateJob

デバッグタスクを操作します。 実行計画をプレビューした後、デバッグタスクを実行します。

実行計画をプレビューして実行し、実行計画を実行し、リソースを破棄します。

ListJobs

デバッグタスクの実行レコードをクエリします。

デバッグレコードを表示します。

CreateExplorerHistory

すべてのデバッグタスクを記録します。

デバッグ履歴を表示します。

ListExplorerHistory

デバッグ履歴と履歴パラメーターをクエリします。

デバッグ履歴を表示し、履歴パラメーターを使用します。

ListResources

作成されたリソースと作成されたリソースの詳細をクエリします。

リソース詳細を表示します。

Terraform Explorer を使用する前に、上記の API 操作を使用してきめ細かいアクセス制御を実装できます。 また、次のポリシーを使用して必要な権限を付与することもできます。

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "iacservice:CreateExplorerModuleVersion",
        "iacservice:GetExplorerModule",
        "iacservice:CreateExplorerModule"
      ],
      "Resource": "acs:iacservice:*:*:explorermodule/*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "iacservice:CreateExplorerTask",
        "iacservice:UpdateExplorerTaskAttribute",
        "iacservice:GetExplorerTask"
      ],
      "Resource": "acs:iacservice:*:*:explorertask/*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "iacservice:CreateJob",
        "iacservice:GetJob",
        "iacservice:listJobs",
        "iacservice:OperateJob"
      ],
      "Resource": "acs:iacservice:*:*:task/*/job/*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "iacservice:ListResources",
        "iacservice:ListExplorerHistories",
        "iacservice:CreateExplorerHistory"
      ],
      "Resource": "*"
    }
  ]
}