Terraform
Hashicorp에서 오픈소스로 개발중인 Infrastructure as Code(IaC) 관리 도구 입니다.
AWS,GCP,Azure Cloud 서비스에 대해 인프라 자동화 툴 중 하나이며, 이는 단순 구문을 사용하여 여러 클라우드 및 온프레미스
데이터센터에서 인프라를 프로비져닝하고 구성 변경에 대한 대응으로 인프라를 안전하고 효율적으로 다시 프로비져닝 할 수 있습니다.
Terraform 기본 명령어 및 프로세스
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] terraform module( VPC) 사용 (0) | 2024.11.13 |
---|---|
AWS Terraform tfstate 파일 원격 관리(S3, DynamoDB) (0) | 2024.11.11 |
Terraform VPC 생성 (0) | 2021.08.03 |
Terraform Application Load Balancer(ALB)생성 (0) | 2021.08.02 |
Terraform EC2 생성 (0) | 2021.08.02 |
댓글