provider생성
# provider.tf
provider "aws" {
region = "ap-northeast-2"
}
provider.tf를 생성 후,init시 다운로드 받는다.
$ terraform init
s3.tf의resoruce생성
#s3.tf
resource "aws_s3_bucket" "test" {
bucket = "terraform101-inflearn"
}
만들어질 인프라를 보여준다
bucket은 필수 요소입니다.
$ terraform plan
terraform plan 명령어는 여러번 입력해도 실제 인프라에 영향이 가지 않는다.
실제로 인프라를 배포하기 위한 명령어
.tfstate파일이 생성됩니다.std input이 나옵니다.
AWS인프라에 배포된 리소스를terraform state로 옮겨주는 작업
resource를 import 해보겠습니다.terraform import {aws_s3_bucket}.{bucket} {bucket이름}resource를 확인$ terraform import aws_s3_bucket.test terraform101-inflearn
만약 기존 인프라를
AWS에 배포한 상태에서Terraform을 적용하고 싶으면, 모든 리소스를terraform import로 옮겨야한다.
처음부터 다시 작업할 수 있지만, 실제 서비스가 되는 인프라를 내리는 건 위험하다.
생성한 리스트 확인
$ terraform state list