연재 시리즈

테라폼 시리즈 6편. AWS EC2 Instance 생성 예제

악분 2022. 10. 19. 22:07
반응형

안녕하세요. 이 글은 테라폼스터디 1주차 내용을 정리했습니다.

 

1.  코드 작성

테라폼으로 aws에 EC2 instance를 배포해보겠습니다.

aws 인프라를 사용하므로 aws provider를 설정했습니다. 그리고 aws_instance BLOCK LABEL을 사용하여 EC2 instance를 설정했습니다.

cat <<EOT > main.tf
provider "aws" {
  region = "ap-northeast-2"
}

resource "aws_instance" "example" {
  ami           = "ami-0c76973fbe0ee100c" # Ubuntu 22.04 LTS
  instance_type = "t2.micro"
}
EOT

 

2. 테라폼 실행 준비 - terraform init

테라폼을 실행을 위한 플러그인 설치가 필요합니다. 테라폼은 수많은 proivder와 리소스를 지원하기 때문에 ,관련기능이 내장되어 있지 않고 플러그인 방식으로 동작합니다. 그러므로 플러그인이 설치되어 있지 않으면 테라폼 실행을 실패합니다.

 

terrafrom init명령어로 정말 쉽게 플러그인을 다운로드 할 수 있습니다. 다운로드 기준은 tf파일에 정의한 BLOCK TYPE과 BLOCK LALBEL을 분석한 후, 필요한 플러그인을 다운로드 받습니다.

terraform init

 

3.  인프라 반영 예상결과 확인 - terraform plan

코드를 바로 인프라로 반영하기 전에 terraform plan이라는 명령어로 예상결과를 확인할 수 있습니다. 실수로 설정하면 안되는 것들을 미리 확인하여 수정할 수 있습니다. 새로 추가되는 aws리소스는 “+”로 표시해줍니다.

terraform plan

 

또한, lint기능을 지원하여 테라폼 문법을 잘못 입력했거나 지원하지 않는 문법을 설정을 미리 확인할 수 있습니다. 아래 예제는 일부로 오타를 입력하고 terraform plan을 실행한 결과입니다. 오타를 인식하고 어디서 틀렸는지 확인시켜주네요.

 

4. 반영 - terraform apply

terraform plan으로 반영할 코드를 확인했다면, 이제 정말로 테라폼 코드를 인프라로 적용해봅시다.

 

terrafrom apply로 코드를 인프라로 바로 반영할 수 있습니다. plan에서 나왔던 반영내용을 보여주고 사용자 동의화면이 나옵니다. yes를 입력하면 코드가 인프라로 반영되기 시작합니다. Completed메세지가 출력되면 정상적으로 aws에 테라폼 코드가 반영되었습니다.

terraform apply

 

aws 콘솔에 접속하여 EC2 Instance목록을 확인하면 테라폼이 반영한 Instance가 보입니다.

 

5. 적용 삭제

코드에 있는 인프라를 삭제하고 싶다면 terraform destroy를 실행하면 됩니다. 삭제할 리소스에 “-”가 표시됩니다.

terraform destroy

 

사용자 동의화면에 yes를 입력하면 코드에 설정된 인프라가 삭제됩니다.

반응형