본문 바로가기
Terrform

Terraform 정의

by aws-evan 2021. 7. 28.
반응형

 

Terraform 

 Hashicorp에서 오픈소스로 개발중인 Infrastructure as Code(IaC) 관리 도구 입니다.

 AWS,GCP,Azure Cloud 서비스에 대해 인프라 자동화 툴 중 하나이며, 이는 단순 구문을 사용하여 여러 클라우드 및 온프레미스

 데이터센터에서 인프라를 프로비져닝하고 구성 변경에 대한 대응으로 인프라를 안전하고 효율적으로 다시 프로비져닝 할 수 있습니다.

 

Terraform 기본 명령어 및 프로세스

youtube(DevOpsArt님 자료)

 

 

Terraform 기본 문법

 

- Document  : https://registry.terraform.io/providers/hashicorp/aws/latest/docs

- provider : 테라폼과 외부 서비스(AWS,GCP,Azure) 연결해주는 기능을 하는 모듈

     > Provider 적용 서비스 : AWS, GCP, Azure, Github, Deatdog, Mysql, Docker 등

      > 적용 서비스 : https://registry.terraform.io/search/providers?namespace=hashicorp)

provider "aws" {
  region = "ap-northeast-2"
}

- resource : 특정 Provider가 제공해주는 조작 가능한 대상

    > AWS Provider는 "aws_instance"를 통하여 ec2 리소스 제어 가능(EC2 instance, Security-Group, vpc, key-pair)

resource "aws_instance" "web-2a" {
  ami           = "ami-0a0de518b1fc4524c"
  instance_type = "t2.micro"
  key_name = "tf-key-pair"
}

- data : "Provider"에서 제공하는 리소스 정보를 가져와서 terraform에서 사용할 수 잇는 형식으로 변환하여 사용

data "aws_ami" "amzn2" {
  most_recent = true
}

- output,  value

   > output :  terraform을 통해 생성된 리소스르를 변수 형태로 저장

   > value :  값들에 대한 결과를 사용자에게 출력

output "vpc_id"{
  value = data.aws_vpc.foo.id
}

 

Terraform 작동 방식

 

 

 

반응형

'Terrform' 카테고리의 다른 글

Terraform VPC 생성  (0) 2021.08.03
Terraform Application Load Balancer(ALB)생성  (0) 2021.08.02
Terraform EC2 생성  (0) 2021.08.02