안녕하세요.
블로그 포스팅 내용 기반으로 테라폼 실습을 하면 좋을거같아서 작성해봤습니다.
AWS EC2 Instance 작성
AWS를 사용하기에 aws provider를 설정했습니다.
'aws_instance' BLOCK LABEL을 사용하여 EC2 instance를 생성합니다.
# main.tf
provider "aws" {
region = "ap-northeast-2"
}
resource "aws_instance" "example" {
# Ubuntu Image
ami = "ami-0c9c942bd7bf113a2"
instance_type = "t2.micro"
}
테라폼 실행 준비
실행을 위해서는 플러그인 설치가 필요합니다. 방법은 'terraform init' 명령어로 쉽게 플러그인을 설치 할 수 있습니다.
다운로드 시 tf파일에 정의된 BLOCK TYPE과 BLOCK LABEL을 분석해서 필요한 플러그인을 설치합니다.
<BLOCK TYPE> "<BLOCK LABEL>" "<BLOCK LABEL>" {
# Block body
<IDENTIFIER> = <EXPRESSION> # Argument
}
테라폼 예상 내용 확인
인프라로 반영하기 전에 'terraform plan' 명령어로 미리 확인할 수 있습니다.
문법에 대해서도 확인 가능하고, 변경하면 안되는 내용이나 삭제하면 안되는 내용이 있는지?
마치 rsync의 dry-run처럼 미리 체크할 수 있습니다. 새로 추가는 '+', 삭제는 '-'로 직관적으로 확인할 수 있습니다.
리소스 적용
'terraform apply' 명령어로 코드 내용을 인프라에 반영합니다.
AWS Console로 확인해보면 Instance가 올라간것을 확인할 수 있습니다.
리소스 삭제
'terraform destroy' 명령어로 리소스들을 간편하게 삭제할 수 있습니다.
간편하게 삭제가 되는 만큼 신중하게 사용하지 않으면 다른 리소스까지 삭제를 하는 경우가 발생할 수 있습니다. (큰일납니다. 주의!)
마무리
Terraform으로 간략하게 EC2 생성과 삭제하는 방법에 대해서 다뤄봤습니다.
모든 경우에 부합되지는 않겠지만 보통 생성보다 삭제할 때 시간이 더 소요된 것으로 경험했습니다.
다음에도 실습 내용으로 가져오겠습니다. 감사합니다.

'IaC' 카테고리의 다른 글
Terraform - (4) (0) | 2023.09.01 |
---|---|
Terraform - (3) (0) | 2023.08.31 |
Terraform - (2) (0) | 2023.08.31 |