DevOps 환경에서 인프라를 코드로 관리하는 것은 효율성과 자동화를 극대화하는 중요한 방법입니다. Terraform은 이러한 인프라를 쉽게 구축하고 관리할 수 있도록 도와주는 도구로, 특히 AWS와의 통합이 강력합니다. 이번 글에서는 Terraform을 사용하여 AWS 인프라를 단계별로 구축하는 방법을 살펴보겠습니다.
Terraform 설치하기
Terraform을 사용하기 위해 먼저 설치를 진행해야 합니다. Terraform은 다양한 운영체제에서 사용할 수 있으며, Terraform 공식 웹사이트에서 설치 파일을 다운로드할 수 있습니다. 설치 후, 커맨드라인에서 다음 명령어로 설치를 확인합니다.
terraform -version
AWS 자격 증명 설정하기
Terraform이 AWS에 접근할 수 있도록 AWS 자격 증명을 설정해야 합니다. AWS CLI를 설치하고, 다음 명령어를 사용하여 자격증명을 설정합니다.
aws configure
여기서 AWS Access Key ID, Secret Access Key, Region, Output format을 입력합니다. 예를 들어, 아래와 같이 입력할 수 있습니다.
AWS Access Key ID [None]: YOUR_ACCESS_KEY
AWS Secret Access Key [None]: YOUR_SECRET_KEY
Default region name [None]: us-west-2
Default output format [None]: json
Terraform 구성 파일 생성하기
이제 Terraform 설정을 위한 파일을 생성합니다. 프로젝트 디렉터리를 만들고, 그 안에 main.tf라는 파일을 생성하여 아래 내용을 입력합니다.
provider "aws" {
region = "us-west-2"
}
resource "aws_instance" "my_instance" {
ami = "ami-0c55b159cbfafe1f0" # Amazon Linux 2 AMI
instance_type = "t2.micro"
tags = {
Name = "MyInstance"
}
}
이 파일은 AWS 리전을 설정하고, 기본적인 EC2 인스턴스를 생성하는 내용을 포함하고 있습니다. ami는 사용할 Amazon Machine Image의 ID를 의미하며, 이를 통해 어떤 운영체제를 사용할지를 지정할 수 있습니다.
Terraform 초기화하기
Terraform 파일을 생성한 다음, 해당 디렉터리에서 Terraform 초기화를 진행합니다. 초기화는 프로바이더를 다운로드하고, 필요한 설정 파일을 준비하는 과정입니다.
terraform init
Terraform 계획 보기
이제 terraform을 사용하여 실제로 어떤 리소스가 생성될지 미리 확인할 수 있습니다. 다음 명령어를 사용하여 계획을 확인합니다.
terraform plan
이 명령어를 실행하면 Terraform이 생성할 리소스 목록이 출력됩니다. 모든 것이 정상이라면 다음 단계로 넘어갑니다.
Terraform 적용하기
계획이 완료되었으면, 실제로 리소스를 생성하기 위해 다음 명령어를 입력합니다.
terraform apply
명령어를 실행하면 Terraform이 리소스를 생성하기 전에 확인을 요청합니다. yes라고 입력하면 AWS 인프라가 생성됩니다.
Terraform 상태 확인하기
리소스가 생성된 후, 상태를 확인하기 위해 다음 명령어를 사용할 수 있습니다.
terraform show
이 명령어는 현재 Terraform 상태와 AWS에서 관리하는 리소스의 상세 정보를 보여줍니다.
리소스 삭제하기
작업이 끝난 후에는 생성한 리소스를 삭제해야 할 필요가 있습니다. 이를 위해 다음 명령어를 사용합니다.
terraform destroy
이 명령어를 실행하면 Terraform이 삭제할 리소스에 대한 확인을 요청합니다. yes라고 입력하면 모든 리소스가 삭제됩니다.
마무리
이제 Terraform을 사용하여 AWS 인프라를 쉽게 구축하고 관리하는 방법을 익혔습니다. 인프라를 코드로 관리하면 버전 제어가 가능해지고, 반복적인 작업을 자동화할 수 있어 DevOps 프로세스에 큰 도움이 됩니다. 다양한 리소스와 옵션을 활용하여 더욱 복잡한 인프라도 Terraform을 통해 관리해보세요. Terraform의 매력을 느끼고, 실무에서 활용해보기를 권장합니다.