IaC 21

[gcp] Infra Manager - gcp resource provisioning using terraform

안녕하세요. 이번 글에서는 GCP의 Infra Manager 서비스를 통해 테라폼으로 작성된 GCP의 리소스를 쉽게 프로비저닝하는 방법에 대해 설명하겠습니다. Infra Manager는 Google Cloud 인프라 리소스의 배포 및 관리를 자동화해주는 GCP Managed Service입니다. Infra Manager 특징 - 공개 Git 저장소, Cloud Storage 버킷 또는 로컬 머신에 Terraform 코드 또는 구성을 유지할 수 있음 - Infra Manager는 배포 버전을 생성하여 모든 Terraform 배포 버전을 유지함 - 모든 revision에 대해 Infra Manager는 로그, Terraform 소스 코드, 아티팩트 및 상태 파일을 Cloud Storage Bucket에 저장..

IT/Infra&Cloud 2024.04.01

[IaC] Terrascan

안녕하세요. 이번에는 다양한 IaC로 작성한 template의 취약점을 점검해주는 오픈소스로 terrascan을 사용해보겠습니다. Terrascan Terrascan은 코드형 인프라(Infrastructure as Code)를 위한 정적 코드 분석기입니다. 잘못된 구성이 있는지 코드형 인프라를 스캔 보안 취약점 및 규정 준수 위반을 탐지 클라우드 네이티브 인프라를 프로비저닝하기 전에 위험 완화 로컬로 실행하거나 CI\CD와 통합할 수 있는 유연성 제공 [참고] https://github.com/tenable/terrascan GitHub - tenable/terrascan: Detect compliance and security violations across Infrastructure as Code t..

Programming/IaC 2023.12.17

[aws] Service Catalog - cloudformation

안녕하세요. Control Tower 내 Account Factory 기능을 활용하여 Service Catalog 제품을 프로비저닝하며 제품 유형인 Cloudformation에 대해 좀 더 깊게(Deep Dive) 알아보고자 작성한 글입니다. Cloudformation[참고] CloudFormation 템플릿은 JSON 또는 YAML 형식의 텍스트 파일입니다. .json, .yaml, .template와 같은 확장자로 이러한 파일을 저장할 수 있습니다 스택을 생성할 때 AWS CloudFormation은 AWS에 대한 기본 서비스 호출을 수행하여 리소스를 프로비저닝하고 구성합니다. CloudFormation은 수행 권한이 있는 작업만 수행할 수 있습니다. 예를 들어 CloudFormation을 사용하여 ..

IT/Infra&Cloud 2023.11.03

[IaC] 형상관리도구 & 워크플로

안녕하세요. 최근 도서 “테라폼으로 시작하는 IaC” 의 내용을 기준으로 스터디한 내용을 정리했습니다. 지난 [IaC] State & 모듈 글에 이어 해당 글에서는 형상관리도구 & 워크플로에 대해 알아보겠습니다. 형상 관리 도구 형상 관리 도구는 버전 관리 시스템 SVN : 중앙 저장소에서 코드와 히스토리를 관리하는 방식 — [참고: 아파치 서브버전] 깃 Git : 분산형 관리 시스템으로 작업 환경에서도 별도로 코드 히스토리를 관리하고 중앙 저장소와 동기화 — [참고: Git(깃), 리누스 토발즈 TED 영상] Git 중앙 저장소와 코드를 동기화하지 않아도 같은 파일을 여러명 작업 가능 깃은 코드 형상관리를 작업 환경인 로컬 저장소 Local Repository와 리모트 저장소 Remote Reposit..

Programming/IaC 2023.10.28

[IaC] State & 모듈

안녕하세요. 최근 도서 “테라폼으로 시작하는 IaC” 의 내용을 기준으로 스터디한 내용을 정리했습니다. 지난 [IaC] 기본 사용법( condition, function, provisioner, null_resource와 terraform_data, moved block, cli를 위한 시스템 환경 변수) & 프로바이더 글에 이어 해당 글에서는 State & 모듈에 대해 알아보겠습니다. State State의 목적과 의미 Serial을 기준으로 State backup 관리 cat 어떻게 관리해야할까요? ls *.tfstate cat terraform.tfstate | jq cat terraform.tfstate | jq | grep result YLGmKyb3jOuI8sEf # (참고) sensitive..

Programming/IaC 2023.10.28

[IaC] 기본 사용법( condition, function, provisioner, null_resource와 terraform_data, moved block, cli를 위한 시스템 환경 변수) & 프로바이더

안녕하세요. 최근 도서 “테라폼으로 시작하는 IaC” 의 내용을 기준으로 스터디한 내용을 정리했습니다. 지난 [IaC] 기본 사용법( data source, input variables, local, output, loop) 글에 이어 해당 글에서는 기본 사용법( condition, function, provisioner, null_resource와 terraform_data, moved block, cli를 위한 시스템 환경 변수)와 프로바이더(Provider)에 대해 알아보겠습니다. 기본 명령어 6. 조건문 테라폼에서의 조건식은 3항 연산자 형태를 갖는다. 조건은 true 또는 false로 확인되는 모든 표현식을 사용할 수 있다 — 링크 일반적으로 비교, 논리 연산자를 사용해 조건을 확인한다. 조건식..

Programming/IaC 2023.10.28

[IaC] 기본 사용법( data source, input variables, local, output, loop)

안녕하세요. 최근 도서 “테라폼으로 시작하는 IaC” 의 내용을 기준으로 스터디한 내용을 정리했습니다. 지난 [IaC] IaC/테라폼 이해, 기본 명령 사용법 내용에 이어 해당 글에서는 기본 사용법(data source, input variables, local, output, loop)에 대해 알아보겠습니다. 2.기본 명령어 1. data source : 테라폼으로 정의되지 않은 외부 리소스 또는 저장된 정보를 테라폼 내에서 참조할 때 사용 데이터 소스 블록은 data로 시작하고 이후 ‘데이터 소스 유형’을 정의 (Resource 블록 정의와 유사) 사용 예) data "local_file" "foo" { filename = "${path.module}/foo.bar" } resource "aws_s3..

Programming/IaC 2023.10.28

[IaC] IaC/테라폼 이해, 기본 명령 사용법( command, HCL, block, resource)

안녕하세요. 최근 도서 “테라폼으로 시작하는 IaC” 의 내용을 기준으로 스터디한 내용을 정리했습니다. 해당 글에서는 IaC와 테라폼에 대해 간단히 이해하고 기본 명령 사용법에 대해 알아보겠습니다. 1. IaC/테라폼 이해 IaC와 테라폼 IaC : 코드형 인프라(Infrastructure as Code, IaC)는 코드를 통해 인프라를 관리하고 프로비저닝하는 것을 말합니다. 테라폼 : 하시코프사에서 공개한 IaC 도구로 “워크플로우에 집중, 코드형 인프라, 실용주의”라는 하시코프의 철학을 담은 도구입니다. 테라폼 제공 유형별 기능 테라폼 Core 테라폼 Cloud : Terraform Cloud는 팀이 Terraform을 사용하여 인프라를 프로비저닝하는 데 도움이 되는 애플리케이션 테라폼 Enterpr..

Programming/IaC 2023.10.28

[IaC] Working with Multiple Providers

안녕하세요. CloudNet@ Terraform Study를 진행하며 해당 내용을 이해하고 공유하기 위해 작성한 글입니다. 도서 ‘Terraform: Up & Running(By Yevgeniy Brikman)’ 의 내용 및 스터디 시간 동안 언급된 주요 내용 위주로 간단히 정리했습니다. Working with One Provider Provider : 테라폼 코어를 위한 플러그인, 각 플러그인은 ‘AWS, Azure, GCP’ 등 외부 플랫폼과 통신 Provider 설정 provider "aws" { region = "us-east-2" } $ terraform init Initializing provider plugins... - Finding hashicorp/aws versions matching..

Programming/IaC 2023.10.28

[IaC] GKE configuration deep dive

안녕하세요, 테라폼 스터디를 마무리하며 이전에 작성한 [gcp] GKE Implementation & CLI Configuration , [IaC] GKE configuration 글을 참고하여 테라폼으로 GCP GKE 설정하는 방법에 대해 보다 자세히 설명합니다. 우선, HashiCorp의 GKE guide에 따라 GKE에 대해 설명하겠습니다. Google Kubernetes Engine (GKE) 는 Google Cloud 상에서 컨테이너화된 애플리케이션을 배포,관리, 스케일링 하기 위한 매니지드 쿠버네티스 서비스입니다. 사전 작업 a GCP account a configured gcloud SDK kubectl VPC-native Clusters GKE에서는 한 Pod에서 다른 Pod로 트래픽을 라..

Programming/IaC 2023.10.28