참고
https://developer.hashicorp.com/terraform/install#linux
Terraform은 HashiCorp에서 개발한 오픈소스 Infrastructure as Code (IaC) 도구로, 코드로 인프라를 정의하고 배포할 수 있도록 도와줍니다. AWS, Azure, GCP 등 다양한 클라우드 환경에서 인프라를 자동화할 수 있으며, 선언형 구문을 사용해 인프라의 상태를 관리합니다.
AWS 콘솔에서 클릭하며 설정을 진행하다 보면, 나중에는 어떤 작업을 했는지 기억이 흐려지고 기록이 남지 않는 경우가 많다. 하지만 Terraform을 사용하면 여러 인프라 구성 요소를 한 번에 프로비저닝할 수 있을 뿐만 아니라, 코드 자체가 문서 역할을 하므로 관리가 훨씬 체계적이고 명확해진다. 인프라 관리자로서 이 점이 매우 매력적이지 않을 수 없다.
📌 설치 환경 : Rocky9.5
📌 설치 과정
1. terraform 설치
# yum install -y yum-utils
# HashiCorp 공식 저장소 추가
# yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
# yum -y install terraform
# cat /etc/redhat-release
Rocky Linux release 9.5 (Blue Onyx)
[root@Terraform ECS]# terraform -version
Terraform v1.10.2
on linux_amd64
+ provider registry.terraform.io/hashicorp/aws v5.89.0
2. AWS CLI 설치
# yum install -y awscli
# aws --version
aws-cli/2.15.31 Python/3.9.21 Linux/5.14.0-503.16.1.el9_5.x86_64 source/x86_64.rocky.9 prompt/off
[root@Terraform ECS]# aws configure
AWS Access Key ID [****************WFUP]: dfadfadf
AWS Secret Access Key [****************UyRw]: dfadfadf
Default region name [ap-northeast-2]: ap-northeast-2
Default output format [json]: json
3. AWS IAM 계정 생성 및 자격 증명 설정
terraform 이 AWS에 접근하려면 IAM 계정을 생성하고, 해당 계정의 Access Key와 Secret Key를 설정해야 한다.
AWS 자격 증명 설정
# aws configure
AWS Access Key ID [None]: <발급 한 IAM 계정의 Access key>
AWS Secret Access Key [None]: <발급 한 IAM 계정의 Secret Access key>
Default region name [None]: ap-northeast-2
Default output format [None]: json
[root@Terraform terraform]# aws sts get-caller-identity
{
"UserId": "AIDAYDWHAJDFIAJSLDKFJADKFJ",
"Account": "12345678910",
"Arn": "arn:aws:iam::557690617323:user/terraform-admin"
}
[root@Terraform terraform]# cat ~/.aws/credentials
[default]
aws_access_key_id = <발급 한 IAM 계정의 Access key>
aws_secret_access_key = <발급 한 IAM 계정의 Secret Access key>
📌 Terraform 을 사용할 준비는 되었으니 이후에는 간단하게 사용해보자.