1. Terraformer 이란 ?
링크 : https://github.com/GoogleCloudPlatform/terraformer
Terraformer는 클라우드 인프라(AWS, GCP, Azure 등)에 구성된 리소스를 Terraform 코드로 변환해주는 도구입니다.
- 즉, 이미 수동으로 구성된 클라우드 리소스를 Terraform으로 관리하기 위한 초기 코드를 자동으로 생성해줍니다.
Terraformer의 주요 기능 및 특징:
- 코드 자동 생성: 기존 클라우드 환경을 분석하여 Terraform HCL(HashiCorp Configuration Language) 코드를 자동으로 생성합니다.
- 다양한 클라우드 지원: AWS, GCP, Azure 등 주요 클라우드 서비스 제공 업체를 지원합니다.
- 리소스 필터링: 특정 리소스 유형이나 태그를 기반으로 코드를 생성하여 필요한 부분만 가져올 수 있습니다.
- 상태 파일 생성: 생성된 코드를 기반으로 Terraform 상태 파일을 자동으로 생성하여 기존 리소스를 Terraform으로 관리할 수 있도록 합니다.
Terraformer의 장점:
- 시간 절약: 수동으로 Terraform 코드를 작성하는 데 드는 시간을 크게 줄여줍니다.
- 오류 감소: 자동 코드 생성을 통해 수동 작업으로 인한 오류 발생 가능성을 줄입니다.
- 기존 환경 관리 용이: 이미 구성된 클라우드 환경을 Terraform으로 관리하기 위한 진입 장벽을 낮춥니다.
Terraformer의 활용:
- 기존 환경 Terraform으로 전환: 수동으로 구성된 클라우드 환경을 Terraform으로 관리하기 위한 초기 코드 생성에 활용합니다.
- 클라우드 환경 문서화: Terraform 코드를 통해 클라우드 환경을 문서화하고 관리할 수 있습니다.
- 재해 복구: Terraform 코드를 통해 클라우드 환경을 빠르게 재구축할 수 있습니다.
주의사항:
- Terraformer가 생성하는 코드는 초기 단계이며, 완벽하지 않을 수 있습니다. 생성된 코드를 검토하고 필요에 따라 수정해야 합니다.
- Terraformer는 모든 클라우드 리소스를 지원하지 않을 수 있습니다. 지원되는 리소스 유형을 확인해야 합니다.
- Terraform 상태 파일 관리: Terraformer를 통해 생성된 상태 파일을 안전하게 관리해야 합니다.
Terraformer는 기존 클라우드 환경을 Terraform으로 관리하기 위한 효율적인 도구이지만, 사용 시 주의사항을 숙지하고 적절히 활용해야 합니다.
2. Terraformer 설치
사전 준비사항
1. Terraform CLI 설치
2. AWS CLI 설치
2. Terraformer 설정
sudo mv ./terraformer-aws-linux-amd64 /usr/local/bin/terraformer
sudo chmod +x /usr/local/bin/terraformer
terraformer version
3. Terraformer Provider 설치
Terraformer 사용하려면 클라우드에 맞는 Provider 설치해줘야합니다.
AWS Provider 설치 하기
1. AWS Provider 다운로드
2. AWS Provider 설정
unzip terraform-provider-aws_5.93.0_linux_amd64.zip
mkdir -p ~/.terraform.d/plugins/linux_amd64
mv terraform-provider-aws_v5.93.0_x5 ~/.terraform.d/plugins/linux_amd64
3. AWS Provider 설치 확인
~/.terraform.d/plugins/linux_amd64/terraform-provider-aws_v5.93.0_x5
4. Terraformer 사용하기
1. vpc terraform code 추출하기
terraformer import aws --resources=vpc --path-pattern="{output}/" --connect=true --regions=ap-northeast-2 --profile=xxxxx
'IaC 배포 > Terraform' 카테고리의 다른 글
[ Terraform ] Terraform Cloud 이란? (0) | 2023.06.29 |
---|---|
[ terraform ] 이란? (0) | 2022.05.03 |