

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Terraform プロジェクトを定義する
<a name="tutorial-deploy-terraform-define"></a>

このチュートリアルでは、Terraform プロジェクトを定義します。

1. `my-pcluster-api` という名前のディレクトリを作成します。

   作成するすべてのファイルは、このディレクトリに入ります。

1. ファイルを作成して`provider.tf`、 AWS プロバイダーを設定します。

   ```
   provider "aws" {
     region  = var.region
     profile = var.profile
   }
   ```

1. ParallelCluster モジュールを使用してリソースを定義するファイル `main.tf` を作成します。

   ```
   module "parallelcluster_pcluster_api" {
     source = "aws-tf/parallelcluster/aws//modules/pcluster_api"
     version = "1.1.0"
   
     region                = var.region
     api_stack_name        = var.api_stack_name
     api_version           = var.api_version
   
     parameters = {
       EnableIamAdminAccess = "true"
     }
   }
   ```

1. このプロジェクトに挿入できる変数を定義するファイル `variables.tf` を作成します。

   ```
   variable "region" {
     description = "The region the ParallelCluster API is deployed in."
     type        = string
     default     = "us-east-1"
   }
   
   variable "profile" {
     type        = string
     description = "The AWS profile used to deploy the clusters."
     default     = null
   }
   
   variable "api_stack_name" {
     type        = string
     description = "The name of the CloudFormation stack used to deploy the ParallelCluster API."
     default     = "ParallelCluster"
   }
   
   variable "api_version" {
     type        = string
     description = "The version of the ParallelCluster API."
   }
   ```

1. 変数の任意の値を設定するファイル `terraform.tfvars` を作成します。

   以下のファイルは、スタック名 `us-east-1`を使用して ParallelCluster API 3.11.1 を にデプロイします`MyParallelClusterAPI-3111`。この ParallelCluster API デプロイは、スタック名を使用して参照できます。
**注記**  
次のコード`api_version`の割り当ては、サポートされている任意の AWS ParallelCluster バージョンに置き換えることができます。

   ```
   region = "us-east-1"
   api_stack_name = "MyParallelClusterAPI-3111"
   api_version = "3.11.1"
   ```

1. このプロジェクトで返す出力を定義するファイル `outputs.tf` を作成します。

   ```
   output "pcluster_api_stack_outputs" {
     value = module.parallelcluster_pcluster_api.stack_outputs
   }
   ```

   プロジェクトディレクトリ:

   ```
   my-pcluster-api
   ├── main.tf - Terraform entrypoint to define the resources using the ParallelCluster module.
   ├── outputs.tf - Defines the outputs returned by Terraform.
   ├── providers.tf - Configures the AWS provider.
   ├── terraform.tfvars - Set the arbitrary values for the variables, i.e. region, PCAPI version, PCAPI stack name
   └── variables.tf - Defines the variables, e.g. region, PCAPI version, PCAPI stack name.
   ```