Terraform は Infrastructure as Code (IaC) ツールです。宣言的設定言語である HashiCorp Configuration Language を使用してクラウドリソースを定義し、Terraform コマンドを実行することでインフラストラクチャの作成と管理を自動化します。Terraform の自動化機能を統合することで、OpenAPI MCP Server では Terraform コードを MCP システム内のツールとして設定できます。このアプローチにより、AI エージェントの自律性と Terraform の決定論的なオーケストレーションが融合されます。

Terraform ツールの作成
-
Alibaba Cloud OpenAPI MCP サービスのページに移動し、MCP サービスを作成して、[Add Terraform Tools] をクリックします。
-
[Add Terraform Tool] ページで、ツールの情報を入力します。
パラメーター
説明
Terraform ツール名
ツールの名前です。
Terraform ツールの説明
ツールの機能と特記事項を説明します。
Terraform ツール
Terraform コードを記述するフィールドです。提供されている Terraform AI アシスタントを使用してコードを生成するか、要件に基づいて手動で記述することができます。
非同期実行
-
No:AI エージェントはタスクが完了するのを待ってから、実行結果を返します。
-
Yes:OpenAPI MCP Server は、
QueryTerraformTaskStatusシステムツールを自動的に追加します。AI エージェントが Terraform ツールを呼び出すと、サーバーはすぐにTaskIdを返します。このTaskIdを使用してシステムツールを呼び出し、タスクの実行ステータスを照会します。
説明Terraform コードが複雑であるか、実行に時間がかかる場合は、[Yes] を選択して大規模言語モデル (LLM) の呼び出しタイムアウトを回避することを推奨します。
削除ポリシー
-
Never:タスクの成功または失敗にかかわらず、作成されたリソースは解放されません。
-
Always:タスクの成功または失敗にかかわらず、作成されたすべてのリソースは直ちに解放されます。
-
Delete on Failure:タスクが失敗した場合にのみ、作成されたリソースが解放されます。
説明他のオプションでは、リソースが作成された後に Terraform ツールを使用してリソースを削除することはできません。Terraform ツールを再度実行すると、リソースが再作成されます。
このドキュメントでは、Dify をデプロイするための Terraform サンプルコードを提供します。その他の Terraform の例については、「チュートリアル」をご参照ください。
[Add Terraform Tool] パネルで、[Terraform Tool Name] に
deploydifyを設定し、[Terraform Tool Description] に「CentOS Elastic Compute Service (ECS) インスタンスに Dify をデプロイ」と設定します。前の Terraform コードをコードエディターに貼り付けます。[Asynchronous Execution] では [Yes] を選択します。[Deletion Policy] では [Delete on Failure] を選択します。 -
クライアントでの Terraform ツールのテスト
このセクションでは、Tongyi Lingma で Terraform ツールをテストする方法について説明します。
-
Tongyi LingmaでMCPを設定するの手順に従って OpenAPI MCP Server をセットアップします。設定後、MCP に含まれるツールが表示されます。
[terraform-dify] サービスが有効になります。ツールリストには、[Ecs-20140526-DescribeInstances] (ECS インスタンスの照会)、[terraform/deploydify] (CentOS ECS インスタンスへの Dify のデプロイ)、[system-QueryTerraformTaskStatus] (Terraform タスクステータスの照会) の 3 つのツールが含まれます。
-
自然言語コマンドを入力して MCP を実行します。例:「中国 (香港) に Dify をデプロイしてください。」
入力ボックスの左下隅にある [AI agent] タブをクリックしてエージェントモードに切り替え、自然言語コマンドを入力して送信します。
-
非同期実行を選択したため、AI エージェントは
TaskIdを返します。このTaskIdを使用してシステムツール (QueryTerraformTaskStatus) を繰り返し呼び出し、タスクの実行ステータスを確認できます。AI エージェントはまず
terraform-dify/terraform/deploydifyツールを実行してデプロイタスクを開始します。TaskIdを受け取った後、QueryTerraformTaskStatusを繰り返し呼び出してステータスをポーリングします。処理中のステータスはApplyingです。デプロイが成功すると、デプロイ情報が返されます。リージョンは中国 (香港) (cn-hongkong)、アベイラビリティーゾーンは cn-hongkong-b、インスタンス名は dify-deployment-instance、インスタンスタイプは ecs.c9i.xlarge (4 vCPU、8 GB メモリ) で、パブリック IP アドレスが割り当てられています。 -
ブラウザーに
http://<パブリック IP アドレス>と入力することで、Dify が正常にデプロイされたことを確認できます。デプロイが成功すると、次のページが表示され、Terraform ツールが正常に実行されたことを示します。ページには、Dify Community Edition の [Set up your Admin account] インターフェイスが表示されます。これには、[Email]、[Username]、[Password] のフィールドが含まれます。パスワードは 8 文字以上で、文字と数字を含む必要があります。情報を入力した後、[Set] をクリックしてセットアップを完了します。