Programming 27

[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

[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

[opensource] eBPF based project

eBPF 기반 오픈 소스 프로젝트를 소개합니다. [출처] eBPF based Cloud Native external Load Balancer ‘LoxiLB’ eBPF : user space에서 동작하는 기능을 kernel space에서 동작할 수 있게 하는 기능 eBPF 기반 프로젝트 : eBPF는 프로토콜이 아니라 리눅스 커널에 샌드박스 기술을 적용하는 기술이라 생각 cilium — eks anywhere 에 탑재. 별도 encapsulation 없이 같은 대역에 네트워킹이 가능하도록 함 calico — bgp 등에 사용됨. 현재 vxlan 안쓰는 방향으로 진행하며 data plane쪽만 eBPF로 진행 loxiLB — 현재 eks anywhere에서 metal LB를 loxiLB로 대체하려 시도 중...

[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

[IaC] Production-grade Terraform code

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

Programming/IaC 2023.10.28