JINIers
220830_Terraform Fundamentals 본문
220830_Terraform Fundamentals
[개요]
- terraform 시작
- 설치 바이너리에서 terraform을 설치
- terraform을 사용하여 vm 인스턴스 인프라를 구축
[테라폼이란?]
- 인프라를 안전하고 효율적으로 구축,변경 및 버전을 관리하기 위한 도구
- 기존의 인기있는 서비스 제공업체와 맞춤형 사내 솔루션을 관리할 수 있음
- 구성파일 : 단일 애플리에키션 or 전체 데이터 센터를 실행하는데 필요한 구성요소
- 원하는 상태에 도달하기 위해 수행할 작업을 설명하는 실행 계획을 생성한 다음 이를 실행ㅎ여 설명된 인프라 구축
- terraform이 관리할 수 있는 인프라
- 컴퓨팅 인스턴스, 스토리지 및 네트워킹과 같은 하위 수준 구성 요소
- DNS 항목 및 SaaS 기능과 같은 상위 수준 구성요소
[테라폼의 주요 특징]
1. 코드로서의 인프라
인프라는 높은 수준의 구성 구문을 사용하여 설명됩니다. 이를 통해 데이터 센터의 청사진을 다른 코드와 마찬가지로 버전 관리하고 처리할 수 있습니다. 또한 인프라를 공유하고 재사용할 수 있습니다.
2. 실행 계획
Terraform에는 실행 계획을 생성하는 계획 단계가 있습니다. 실행 계획은 명령을 실행할 때 Terraform이 수행할 작업을 보여줍니다 apply. 이를 통해 Terraform이 인프라를 조작할 때 놀라움을 피할 수 있습니다.
3. 리소스 그래프
Terraform은 모든 리소스의 그래프를 작성하고 모든 비종속 리소스의 생성 및 수정을 병렬화합니다. 이 때문에 Terraform은 인프라를 최대한 효율적으로 구축하고 운영자는 인프라의 종속성에 대한 통찰력을 얻습니다.
4. 변경 자동화
최소한의 인간 상호 작용으로 복잡한 변경 집합을 인프라에 적용할 수 있습니다. 앞서 언급한 실행 계획과 리소스 그래프를 통해 Terraform이 어떤 순서로 변경될지 정확히 알 수 있으므로 많은 인적 오류를 방지하는 데 도움이 됩니다.
작업 1. terraform 설치 확인
terraform
작업 2. 인프라 구축
빈파일 만들기
touch instance.tf
instance.tf 내용
resource "google_compute_instance" "terraform" {
project = "<프로젝트 ID>"
name = "terraform"
machine_type = "n1-standard-1"
zone = "us-west1-c"
boot_disk {
initialize_params {
image = "debian-cloud/debian-11"
}
}
network_interface {
network = "default"
access_config {
}
}
}
[초기화]
공급자 바이너리 다운로드 하여 설치
terraform init
실행계획 생성
terraform plan
변경 승인
terraform apply
yes
테라폼 현재상태 검사
terraform show
'GCP > Qwiklabs' 카테고리의 다른 글
220901_Interact with Terraform Modules (0) | 2022.09.01 |
---|---|
220831_Infrastructure as Code with Terraform (0) | 2022.08.31 |
220704_Kubernetes Engine: Qwik Start (0) | 2022.07.04 |
220630_Introduction to Docker (0) | 2022.07.01 |
220608_Loading Taxi Data into Google Cloud SQL 2.5 (0) | 2022.06.09 |
Comments