IaC 21

[IaC] Production-grade Terraform code

안녕하세요. CloudNet@ Terraform Study를 진행하며 해당 내용을 이해하고 공유하기 위해 작성한 글입니다. 도서 ‘Terraform: Up & Running(By Yevgeniy Brikman)’ 의 내용 및 스터디 시간 동안 언급된 주요 내용 위주로 간단히 정리했습니다. 프로덕션 수준의 인프라 서버, 데이터 저장소, 로드 밸런서, 보안 기능, 모니터링 및 경고 도구, 파이프라인 구축 및 비즈니스 운영에 필요한 기타 모든 기술을 의미합니다. 트래픽 과부하로 인프라가 중단되거나 장애가 발생하여 데이터가 손실되거나 해커의 침입으로 데이터에 문제가 생겨 비지니스가 중단되지 않는 수준입니다. 프로덕션 수준 인프라 구축에 오랜 시간이 걸리는 이유 아직 산업의 초기 단계이며, ‘Cloud Compu..

Programming/IaC 2023.10.28

[IaC] Managing Secrets with Terraform

안녕하세요. CloudNet@ Terraform Study를 진행하며 해당 내용을 이해하고 공유하기 위해 작성한 글입니다. 도서 ‘Terraform: Up & Running(By Yevgeniy Brikman)’ 의 내용 및 스터디 시간 동안 언급된 주요 내용 위주로 간단히 정리했습니다. 배포 과정에서 민감 정보 (DB암호, API 키, TLS인증서, SSH키, GPG 키 등)를 안전하게 관리가 필요합니다. 민감 정보 관리 방식 2가지 암호 저장 방식이 있습니다. 파일 기반 암호 저장 : 민감 정보를 암호화 후 저장 → 암호화 관련 키 관리가 중요 ⇒ 해결책 : AWS KMS, GCP KMS 혹은 PGP Key 중앙 집중식 암호 저장 : 데이터베이스(MySQL, Psql, DynamoDB 등)에 비밀번호..

Programming/IaC 2023.10.28

[IaC] Terraform tips & tricks — Loops & Conditions

안녕하세요. CloudNet@ Terraform Study를 진행하며 해당 내용을 이해하고 공유하기 위해 작성한 글입니다. 도서 ‘Terraform: Up & Running(By Yevgeniy Brikman)’ 의 내용 및 스터디 시간 동안 언급된 주요 내용 위주로 간단히 정리했습니다. [Docs] Built-in Fuctions : 참고 & [Docs] Expression : 참고 반복문(Loops) count 매개변수 parameter : 리소스와 모듈의 반복 for_each 표현식 expressions : 리소스 내에서 리소스 및 인라인 블록, 모듈을 반복 for 표현식 expressions : 리스트 lists 와 맵 maps 을 반복 for 문자열 지시어 string directive : 문자..

Programming/IaC 2023.10.28

[IaC] Terraform modules

안녕하세요. CloudNet@ Terraform Study를 진행하며 해당 내용을 이해하고 공유하기 위해 작성한 글입니다. 도서 ‘Terraform: Up & Running(By Yevgeniy Brikman)’ 의 내용 및 스터디 시간 동안 언급된 주요 내용 위주로 간단히 정리했습니다. 모듈 테라폼을 사용하면 코드를 테라폼 모듈에 넣고 전체 코드의 여러 위치에서 해당 모듈을 재사용할 수 있습니다. Figure 4–5. Putting code into modules allows you to reuse that code from multiple environments 위 그림에서와 같이 Staging 와 Production 환경에서 동일한 코드를 복사하여 사용하는 대신 아래 처럼 두 환경에서 동일한 모듈의..

Programming/IaC 2023.10.28

[IaC] Terraform state -상태파일격리

안녕하세요. CloudNet@ Terraform Study를 진행하며 해당 내용을 이해하고 공유하기 위해 작성한 글입니다. 도서 ‘Terraform: Up & Running(By Yevgeniy Brikman)’ 의 내용 및 스터디 시간 동안 언급된 주요 내용 위주로 간단히 정리했습니다. 상태 파일 격리 필요성 원문 참고 — all my environments shared a state file, so when something bad happened to that state file they all got equally fucked. 동일한 상태파일 사용 시, 해당 파일이 모든 환경에 영향을 미칠 수 있기 때문에 환경별 상태 파일 격리가 필요합니다. 즉, 테라폼을 처음 사용하기 시작하면 모든 인프라를 ..

Programming/IaC 2023.10.28

[IaC] Terraform state -상태파일공유

안녕하세요. CloudNet@ Terraform Study를 진행하며 해당 내용을 이해하고 공유하기 위해 작성한 글입니다. 도서 ‘Terraform: Up & Running(By Yevgeniy Brikman)’ 의 내용 및 스터디 시간 동안 언급된 주요 내용 위주로 간단히 정리했습니다. 상태 파일은 배포할 때마다 변경되는 프라이빗 API private API로, 오직 테라폼 내부에서 사용하기 위한 것입니다. 상태 파일은 직접 편집하거나 직접 읽는 코드로 작성해서는 안됩니다. 상태 파일 확인 # 배포 $ terraform init && terraform plan && terraform apply -auto-approve # 상태 파일 확인 : JSON 형식 $ ls cat terraform.tfstate..

Programming/IaC 2023.10.28

[IaC] GKE configuration

안녕하세요, [gcp] GKE Implementation & CLI Configuration 를 참고해 terraform으로 GKE를 구성한 내용을 정리한 글입니다. 사전작업 API 활성화 : Compute Engine API, Kubernetes Engine API 활성화 Cloud APIs : Cloud APIs are exposed as network API services to customers, such as Cloud Pub/Sub API. Each Cloud API typically runs on one or more subdomains of googleapis.com, such as pubsub.googleapis.com, and provides both JSON HTTP and gRPC ..

Programming/IaC 2023.10.28

[IaC] Terraform Syntax-GCP

안녕하세요. [IaC] Terraform Syntax-AWS 내용을 참고하여 GCP Provider 버전으로 작성했습니다. 사전환경 GCP IAM User 생성 CSP IAM 비교 : 참고 IAM feature comparisons: Each of the three providers implements some variant of a Role-Based Access Control (RBAC) system. Users assume “roles,” which are typically pre-defined groupings of access and authorization policies that define what resources they do and do not have access to. Logica..

Programming/IaC 2023.10.28

[IaC] Terraform Syntax-AWS

안녕하세요. CloudNet@ Terraform Study를 진행하며 해당 내용을 이해하고 공유하기 위해 작성한 글입니다. 도서 ‘Terraform: Up & Running(By Yevgeniy Brikman)’ 의 내용 및 스터디 시간 동안 언급된 주요 내용 위주로 간단히 정리했습니다. 사전환경 AWS IAM User 생성 AWS CLI 설치 및 IAM User 자격 증명 설정 3. AWS default VPC 준비 : 참고 링크 AWS는 Region별로 여러 VPC를 생성할 수 있습니다. AWS 기본 VPC 예 # default VPC 삭제 시, 아래 명령어로 생성 가능 $ aws ec2 create-default-vpc# default VPC 확인 $ aws ec2 describe-vpcs --fi..

Programming/IaC 2023.10.28

실습편 - Terraform을 활용한 2 tier architecture in GCP

2 tier architecture in GCP 지난 GCP 2 tier 실전편에 이어 Terraform을 활용한 2 Tier 구성을 해보자 Terraform 코드 공유 : Github Repo - 지난 실습편에서 진행한 GCP Console을 활용한 구성을 Terraform을 활용하여 구성할 수 있다 - gcloud shell 작업 시, terraform 명령어 적용 전 프로젝트 ID를 확인하는 습관을 기르자! Terraform command terraform init terraform plan -var-file setting.tfvars terraform apply -var-file setting.tfvars - 참고로 위 코드는 VPC, Network, Instance(VM, DB)에 대한 구성이 ..

IT/Infra&Cloud 2023.10.28