AWS Control Tower Account Factory for Terraform(AFT) 배포 - AWS Control Tower

AWS Control Tower Account Factory for Terraform(AFT) 배포

이 섹션은 기존 환경에서 Account Factory for Terraform(AFT)을 설정하려는 AWS Control Tower 환경의 관리자를 위한 것입니다. 여기에서는 새로운 전용 AFT 관리 계정을 사용하여 Account Factory for Terraform(AFT) 환경을 설정하는 방법을 설명합니다.

참고

Terraform 모듈은 AFT를 배포합니다. 이 모듈은 GitHub의 AFT 리포지토리에서 사용할 수 있으며 전체 AFT 리포지토리가 모듈로 간주됩니다.

AFT 리포지토리를 복제하는 대신 GitHub의 AFT 모듈을 참조하는 것이 좋습니다. 이렇게 하면 사용 가능한 대로 모듈에 대한 업데이트를 제어하고 사용할 수 있습니다.

AWS Control Tower Account Factory for Terraform(AFT) 기능의 최신 릴리스에 대한 자세한 내용은 이 GitHub 리포지토리릴리스 파일을 참조하세요.

배포 사전 조건

AFT 환경을 구성하고 시작하기 전에 다음이 있어야 합니다.

AWS Control Tower Account Factory for Terraform 구성 및 시작

다음 단계는 사용자가 Terraform 워크플로를 잘 알고 있다고 가정합니다. 또한 AWS Web Workshop Studio 웹 사이트의 Introduction to AFT 랩을 따라 AFT 배포에 대해 자세히 알아볼 수 있습니다.

1단계: AWS Control Tower 랜딩 존 시작

AWS Control Tower 시작하기의 단계를 완료합니다. 여기에서 AWS Control Tower 관리 계정을 생성하고 AWS Control Tower 랜딩 존을 설정합니다.

참고

AdministratorAccess 자격 증명이 있는 AWS Control Tower 관리 계정에 대한 역할을 생성해야 합니다. 자세한 내용은 다음 자료를 참조하세요.

2단계: AFT에 대한 새 조직 단위 생성(권장)

AWS Organizations에서 별도의 OU를 만드는 것이 좋습니다. 여기에서 AFT 관리 계정을 배포합니다. AWS Control Tower 관리 계정으로 새 OU를 생성합니다. 자세한 내용은 새 OU 생성을 참조하세요.

3단계: AFT 관리 계정 프로비저닝

AFT를 사용하려면 AFT 관리 작업 전용 AWS 계정을 프로비저닝해야 합니다. AWS Control Tower 랜딩 존과 연결된 AWS Control Tower 관리 계정은 AFT 관리 계정을 제공합니다. 자세한 내용은 AWS Service Catalog Account Factory로 계정 프로비저닝을 참조하세요.

참고

AFT용 OU를 별도로 생성한 경우 AFT 관리 계정을 생성할 때 이 OU를 선택해야 합니다.

AFT 관리 계정을 완전히 프로비저닝하는 데 최대 30분이 걸릴 수 있습니다.

4단계: Terraform 환경을 배포할 수 있는지 확인

이 단계는 사용자가 Terraform에 대한 경험이 있고 Terraform을 실행하기 위한 절차가 마련되어 있다고 가정합니다. 자세한 내용은 HashiCorp 개발자 웹 사이트에서 Command: init를 참조하세요.

참고

AFT는 Terraform 버전 1.6.0 이상을 지원합니다.

5단계: Account Factory for Terraform 모듈을 직접 호출하여 AFT 배포

AdministratorAccess 자격 증명이 있는 AWS Control Tower 관리 계정에 대해 생성한 역할로 AFT 모듈을 직접 호출합니다. AWS Control Tower는 AWS Control Tower Account Factory 요청을 오케스트레이션하는 데 필요한 모든 인프라를 설정하는 AWS Control Tower 관리 계정을 통해 Terraform 모듈을 프로비저닝합니다.

GitHub의 AFT 리포지토리에서 AFT 모듈을 볼 수 있습니다. 전체 GitHub 리포지토리가 AFT 모듈로 간주됩니다. AFT 모듈을 실행하고 AFT를 배포하는 데 필요한 입력에 대한 자세한 내용은 README 파일을 참조하세요. 또는 Terraform 레지스트리 에서 AFT 모듈을 볼 수 있습니다.

AFT 모듈에는 AWS Control Tower가 중앙 AFT 관리 계정의 가상 프라이빗 클라우드(VPC) 내에서 계정 리소스를 프로비저닝할지 여부를 지정하는 aft_enable_vpc 파라미터가 포함되어 있습니다. 기본적으로 이 파라미터는 true로 설정됩니다. 이 파라미터를 false로 설정하는 경우 AWS Control Tower는 VPC 및 NAT 게이트웨이 또는 VPC 엔드포인트와 같은 프라이빗 네트워킹 리소스를 사용하지 않고 AFT를 배포합니다. aft_enable_vpc를 비활성화하면 일부 사용 패턴에 대한 AFT 운영 비용을 줄이는 데 도움이 될 수 있습니다.

참고

aft_enable_vpc 파라미터를 다시 활성화(값을 false에서 true로 전환)하려면 terraform apply 명령을 연속으로 두 번 실행해야 할 수 있습니다.

환경에 Terraform 관리를 위해 설정된 파이프라인이 있는 경우 AFT 모듈을 기존 워크플로에 통합할 수 있습니다. 그렇지 않으면 필요한 자격 증명으로 인증된 모든 환경에서 AFT 모듈을 실행합니다.

제한 시간을 초과하면 배포가 실패합니다. AWS Security Token Service(STS) 자격 증명을 사용하여 전체 배포에 충분한 제한 시간이 있는지 확인하는 것이 좋습니다. AWS STS 자격 증명의 최소 제한 시간은 60분입니다. 자세한 내용은 AWS Identity and Access Management 사용 설명서IAM의 임시 보안 자격 증명을 참조하세요.

참고

AFT가 Terraform 모듈을 통해 배포를 완료할 때까지 최대 30분까지 기다릴 수 있습니다.

6단계: Terraform 상태 파일 관리

AFT를 배포할 때 Terraform 상태 파일이 생성됩니다. 이 아티팩트는 Terraform이 생성한 리소스의 상태를 설명합니다. AFT 버전을 업데이트하려는 경우 Terraform 상태 파일을 미리 설치하거나 Amazon S3 및 DynamoDB를 사용하여 Terraform 백엔드를 설정해야 합니다. AFT 모듈은 백엔드 Terraform 상태를 관리하지 않습니다.

참고

Terraform 상태 파일을 보호할 책임은 사용자에게 있습니다. 일부 입력 변수에는 프라이빗 ssh 키 또는 Terraform 토큰과 같은 민감한 값이 포함될 수 있습니다. 배포 방법에 따라 이러한 값은 Terraform 상태 파일에서 일반 텍스트로 볼 수 있습니다. 자세한 내용은 HashiCorp 웹 사이트에서 Sensitive data in State를 참조하세요.