테라폼/T101[3기]

테라폼/T101[3기]

T101-6주차

복습) 테라폼 사용팁 정리 좋은 코드의 특징 잘 작동함 관리가 쉬움 읽기 쉬움 변경이 쉬움 모듈화됨 간결함 (명확함) 테스트 가능함 효율적임 보기 좋음 (우아함) IaC 도입의 긍정적인 측면 속도와 효율성 버전 관리 협업 재사용성 기술의 자산화 IaC 도입의 우려되는 측면 코드 문법 학습 파이프라인 통합 대상 인프라에 대한 이해 필요 테라폼 IaC 버전 관리 시맨틱 버전 관리 방식 Major 버전 : 내부 동작의 API가 변경 또는 삭제되거나 하위 호환이 되지 않는 버전 Minor 버전 : 신규 기능이 추가되거나 개선되고 하위 호환이 가능한 버전 Patch 버전 : 버그 및 일부 기능이 개선된 하위 호환이 가능한 버전 샘플코드 링크 https://registry.terraform.io/browse/pro..

테라폼/T101[3기]

T101 - 5주차 / 02

워크플로개인 워크플로 Write : 프로비저닝하려는 목적에 따라 테라폼 코드를 작성 개인 작업이더라도 반복적인 사용성을 고려 복잡하게 작성하여 가독성을 줄이는 행위는 지 Plan : 적용하기 위한 실행 계획을 통해 리뷰 테라폼의 Plan뿐 아니라, terraform fmt를 통해 코드 형태를 포멧팅하고 변경되는 리소스를 리뷰한다. 또한 테라폼과 함께 동작하는 tfsec이나 terrascan 같은 보안 취약성 점검 툴 등을 활용하는 것도 좋은 방안이다. Apply : 코드로 실제 인프라를 프로비저닝 실행 계획상으로는 정상이지만 실제 프로비저닝하는 단계에서 인수 값, 생성 순서, 종속성에 따라 오류가 발생할 수 있다. 성공적인 완료를 위해 Write > Plan > Apply 단계를 반복하고 성공하는 경우 ..

테라폼/T101[3기]

T101 - 5주차 / 01

목표 협업 방법에 대해 알아본다 TFC에 대해 알아다 협업 인프라 규모가 커지고 관리 팀원이 늘어날 수록 구성 코드 관리가 필요 → 서로 작성 코드 점검 및 협업 환경 구성 협업 방법 - VCS(Github), 중앙 저장소 도입 테라폼 코드 형상관리를 위한 중앙 저장소 (git) *.tf file State 백엔드 state file 이원화 관리 권장 실습 p219 ~ 233 깃허브 포크 깃허브는 포크 fork 기능을 제공해 기존 리모트 저장소를 본인 소유의 저장소로 복사할 수 있다 포크를 한다 git 공유 제외 대상 코드 파일 공유 시 깃 관리 대상 제외 → .gitignore 정의 .terraform 디렉터리 : init 실행 시 작성되므로 제외 .tfstate 파일 : 프로비저닝 결과 데이터 소스 ..

테라폼/T101[3기]

T101 - 4주차

State의 목적과 의미 Serial을 기준으로 State backup 관리하는 것을 확인 vpc.tf provider "aws" { region = "ap-northeast-2" } resource "aws_vpc" "myvpc" { cidr_block = "10.10.0.0/16" tags = { Name = "t101-study" } } terraform init && terraform plan && terraform apply -auto-approve 배포 이후 terraform.tfstate 파일이 생성 된 것을 확인 할 수 있다. 태그 수정 후 상태 파일을 확인해 보자! 백업 파일이 생성 되었고, terraform.tfstate, terraform.tfstate.backup 현재 tfstate..

테라폼/T101[3기]

T101 - 3주차

목표 기본 문법인 조건문, 함수, 프로비저너, null_resource, moved 블록, 환경변수에 대해서 알아본다. 프로바이더에 대해 알아본다. 조건문 조건식은 ? 기호를 기준으로 왼쪽은 조건이며, 오른쪽은 : 기호를 기준으로 왼쪽이 조건에 대해 true가 반환되는 경우이고 오른쪽이 false가 반환되는 경우다. 다음의 예에서 var.a가 빈 문자열이 아니라면 var.a를 나타내지만, 비어 있을 때는 “default-a”를 반환한다 # ? : var.a != "" ? var.a : "default-a" 명시적인 형태 작성을 권장 # 조건식 형태 권장 사항 var.example ? 12 : "hello" # 비권장 var.example ? "12" : "hello" # 권장 var.example ? t..

테라폼/T101[3기]

T101 - 2주차

목표 테라폼 기본 사용법에 대해 알아본다. 데이터소스, 변수, 로컬, 출력, 반복문에 대해서 알아 본다. 데이터 소스 데이터 소스는 테라폼으로 정의되지 않은 외부 리소스 또는 저장된 정보를 테라폼 내에서 참조할 때 사용한다 식별자는 동일한 유형에서 중복될 수 없다. 이름 뒤에는 데이터 소스 유형에 대한 구성 인수들은 { } 안에 선언한다. 인수가 필요하지 않은 유형도 있지만, 그때에도 { } 는 입력한다 데이터 소스를 정의할 때 사용 가능한 메타인수는 다음과 같다. depends_on : 종속성을 선언하며, 선언된 구성요소와의 생성 시점에 대해 정의 count : 선언된 개수에 따라 여러 리소스를 생성 for_each : map 또는 set 타입의 데이터 배열의 값을 기준으로 여러 리소스를 생성 life..

테라폼/T101[3기]

T101 - 1주차

1주차 목표 IaC와 테라폼을 이해하고 스터디에 필요한 실습 환경을 구성합니다. 테라폼 기본 명령 사용법을 알아봅니다. HCL을 이해하고 기본 활용 방법을 학습합니다. 샘플코드 작성 및 배포를 실습합니다. 목표1) 실습 환경 구성 윈도우11 WSL2 설치 WSL2란? https://learn.microsoft.com/ko-kr/windows/wsl/about WSL2 설치 완료 IDE 구성 및 확장 설치 HashiCorp HCL HashiCorp Terraform WSL WSL2 Ubuntu에 테라폼설치 https://developer.hashicorp.com/terraform/downloads [스터디 전용/실습1] AWS CLI 설치 및 자격증명 [스터디 전용/실습2] EC2 1대 배포 mkdir t..

시스템 엔지니어
'테라폼/T101[3기]' 카테고리의 글 목록