
Terraform은 코드로 인프라를 정의하고 배포할 수 있는 도구다. 수동 클릭 없이, 반복 가능하고 일관성 있게 AWS 리소스를 만들 수 있다. 이 글에서는 Terraform을 설치하고, AWS에서 EC2 인스턴스를 하나 띄워보는 과정을 실습한다.
Terraform은 HashiCorp에서 만든 CLI 기반 도구다. 공식 다운로드 페이지에서 운영체제에 맞는 바이너리를 설치한다.
설치 후 버전 확인:
terraform -version
Terraform은 AWS API를 호출해야 하므로, 로컬에 AWS CLI가 설치되어 있어야 한다. 그리고 IAM 사용자 인증을 위한 프로파일 설정도 필요하다.
aws configure --profile youngyin
입력 예시:
AWS Access Key ID: AKIA...
AWS Secret Access Key: xxxxx
Default region name: ap-northeast-2
Default output format: json
작업 디렉터리를 생성하고, .tf 파일들을 생성한다.
mkdir terraform-aws-start
cd terraform-aws-start
touch main.tf variables.tf outputs.tf
provider "aws" {
region = "ap-northeast-2"
profile = "youngyin"
}
data "aws_ami" "amazon_linux2" {
most_recent = true
owners = ["137112412989"] # Amazon 공식 계정
filter {
name = "name"
values = ["amzn2-ami-hvm-*-x86_64-ebs"]
}
}
resource "aws_key_pair" "deployer" {
key_name = "deployer-key"
public_key = file("~/.ssh/id_rsa.pub")
}
resource "aws_instance" "example" {
ami = data.aws_ami.amazon_linux2.id
instance_type = "t3.micro"
key_name = aws_key_pair.deployer.key_name
tags = {
Name = "MyFirstInstance"
}
}
terraform init # 모듈 초기화
terraform plan # 실행 계획 확인
terraform apply # 실제 리소스 생성
생성이 완료되면 AWS 콘솔에서 EC2가 잘 떠 있는지 확인할 수 있다.