

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Terraform 및 AFT 버전
<a name="version-supported"></a>

Account Factory for Terraform(AFT)은 Terraform 버전 `1.6.0` 이상을 지원합니다. 다음 예제와 같이, AFT 배포 프로세스를 위해 Terraform 버전을 입력 파라미터로 제공해야 합니다.

```
terraform_version = "1.6.0"
```

## Terraform 배포
<a name="terraform-distributions"></a>

AFT는 다음의 세 가지 Terraform 배포를 지원합니다.
+ Terraform Community Edition
+ Terraform Cloud
+ Terraform Enterprise

이러한 배포는 이후 섹션에서 설명합니다. AFT 부트스트랩 프로세스 중에 선택한 Terraform 배포를 입력 파라미터로 제공합니다. AFT 배포 및 입력 파라미터에 대한 자세한 내용은 [AWS Control Tower Account Factory for Terraform(AFT) 배포](aft-getting-started.md) 섹션을 참조하세요.

Terraform Cloud 또는 Terraform Enterprise 배포를 선택하는 경우 `terraform_token `에 지정한 [API 토큰](https://www.terraform.io/cloud-docs/users-teams-organizations/api-tokens)은 사용자 또는 팀 API 토큰이어야 합니다. 필요한 모든 API에 대해 조직 토큰이 지원되는 것은 아닙니다. 보안상의 이유로 다음 예제와 같이 [테라폼 변수](https://www.terraform.io/cloud-docs/workspaces/variables/managing-variables)를 할당하여 이 토큰의 값이 버전 관리 시스템(VCS)에 체크인되지 않도록 해야 합니다.

```
 # Sensitive variable managed in Terraform Cloud:
 terraform_token = var.terraform_cloud_token
```

### Terraform Community Edition
<a name="terraform-oss"></a>

배포로 Terraform Community Edition을 선택하면 AFT가 AFT 관리 계정에서 Terraform 백엔드를 대신 관리합니다. AFT는 지정된 Terraform 버전의 `terraform-cli`를 다운로드하여 AFT 배포 및 AFT 파이프라인 단계 동안 실행합니다. 그 결과로 생성된 Terraform 상태 구성은 다음과 같은 형식으로 명명된 Amazon S3 버킷에 저장됩니다.

```
aft-backend-[account_id]-primary-region
```

또한 AFT는 재해 복구를 위해 다른 AWS 리전에서 Terraform 상태 구성을 복제하는, 다음과 같은 형식으로 명명된 Amazon S3 버킷을 생성합니다.

```
aft-backend-[account_id]-secondary-region
```

이러한 Terraform 상태 Amazon S3 버킷에서 삭제 함수에 대해 다중 인증(MFA)을 활성화하는 것이 좋습니다. Terraform Community Edition에 대한 자세한 내용은 [Terraform 설명서](https://www.terraform.io/docs/cli/index.html)를 참조하세요.

배포로 Terraform OSS를 선택하려면 다음 입력 파라미터를 제공합니다.

```
terraform_distribution = "oss"
```

### Terraform Cloud
<a name="terraform-cloud"></a>

 배포로 Terraform Cloud를 선택하면 AFT는 Terraform Cloud 조직에 다음 구성 요소에 대한 워크스페이스를 생성하여 API 기반 워크플로를 시작합니다.
+  계정 요청 
+  AFT가 프로비저닝하는 계정에 대한 AFT 사용자 지정 
+  AFT가 프로비저닝하는 계정에 대한 계정 사용자 지정 
+  AFT가 프로비저닝하는 계정에 대한 글로벌 사용자 지정 

 Terraform Cloud는 그 결과로 생성된 Terraform 상태 구성을 관리합니다.

 배포로 Terraform Cloud를 선택하는 경우 다음 입력 파라미터를 제공합니다.
+  `terraform_distribution = "tfc"` 
+  `terraform_token` – 이 파라미터에는 Terraform Cloud 토큰의 값이 포함됩니다. AFT는 이 값을 민감한 것으로 표시하고 AFT 관리 계정의 SSM Parameter Store에 보안 문자열로 저장합니다. 회사의 보안 정책 및 규정 준수 지침에 따라 Terraform 토큰의 값을 주기적으로 교체하는 것이 좋습니다. Terraform 토큰은 사용자 또는 팀 수준 API 토큰이어야 합니다. 조직 토큰은 지원되지 않습니다.
+  `terraform_org_name` - 이 파라미터에는 Terraform Cloud 조직의 이름이 포함됩니다.

**참고**  
 단일 Terraform Cloud 조직에서 여러 AFT 배포는 지원되지 않습니다.

 Terraform Cloud를 설정하는 방법에 대한 자세한 내용은 [Terraform 설명서](https://www.terraform.io/docs/cloud/index.html)를 참조하세요.

### Terraform Enterprise
<a name="terraform-enterprise"></a>

Terraform Enterprise를 배포로 선택하면 AFT는 Terraform Enterprise 조직에서 다음 구성 요소에 대한 워크스페이스를 생성하고, 그 결과 테라폼 실행을 위해 API 기반 워크플로를 트리거합니다.
+ 계정 요청
+ AFT에서 프로비저닝한 계정에 대한 AFT 계정 프로비저닝 사용자 지정
+ AFT에서 프로비저닝한 계정에 대한 계정 사용자 지정
+ AFT에서 프로비저닝한 계정에 대한 글로벌 사용자 지정

그 결과로 생성된 Terraform 상태 구성은 Terraform Enterprise 설정에서 관리됩니다.

배포로 Terraform Enterprise를 선택하려면 다음 입력 파라미터를 제공합니다.
+  `terraform_distribution = "tfe"` 
+ `terraform_token` - 이 파라미터에는 Terraform Enterprise 토큰의 값이 포함됩니다. AFT는 이 값을 민감한 것으로 표시하고 AFT 관리 계정의 SSM Parameter Store에 보안 문자열로 저장합니다. 회사의 보안 정책 및 규정 준수 지침에 따라 Terraform 토큰의 값을 주기적으로 교체하는 것이 좋습니다.
+ `terraform_org_name` - 이 파라미터에는 Terraform Enterprise 조직의 이름이 포함됩니다.
+ `terraform_api_endpoint` - 이 파라미터에는 Terraform Enterprise 환경의 URL이 포함되어 있습니다. 이 파라미터 값은 다음 형식이어야 합니다.

  ```
  https://{fqdn}/api/v2/
  ```

Terraform Enterprise를 설정하는 방법에 대한 자세한 내용은 [Terraform 설명서](https://www.terraform.io/docs/enterprise/index.html)를 참조하세요.