Terraform

Browse Posts

Terraform

Terraform과 IaC 도구를 이용한 인프라 구성 및 검증 방법을 정리합니다.

Terraform
Terraform

tfsec 구성 및 사용 방법

TL;DR 1. Intro tfsec은 pre-commit terraform의 연동가능한 프로그램을 확인하던 중 알게되었다. 작성된 코드를 실행하기전 테스트를 통해 취약점/오구성(misconfiguration)을 파악하는것은 중요하다. 테라폼 내재적인 수준에서, fmt와 validate 명령어를 통해 일종의 lint/test를 수행할 수 있지만, 이는 작성된 코드가 문제없이 실행될 수 있는지를 검증하는 테스트이지 결과물의 안정성을 보장하는 테스트가 아니였다. 안전한 인프라를 구성하기 위해서 지켜야할 몇가지 원칙들이 있을것이다. 가령 SSH(포트22)는 […]

Terraform
Terraform

Pre-commit-terraform 구성 및 사용 방법

TL;DR 테라폼코드 작성 후 커밋시, 포맷팅/유효성검증/설명문서/비용분석 자동화 스크립트 1. Intro 테라폼 코드의 실행에 대한 Pipeline을 고민하던 중, pre-commit-terraform 도구를 알게되었다. Git repository를 사용해 코드를 관리한다면, 코드 작성을 완료하고 git commit을 수행하여야 할것이다. 커밋이 실행되기 이전에 일련의 검증 스크립트를 수행(hook)하여 통과되었을 경우에만 commit을 수행되도록 파이프라인을 구성하면, 통일성 유지에 도움이 될 것이라고 생각한다. pre-commit-terraform hook은 커밋 메시지를 작성하기 […]

Terraform
Terraform

인프라코스트(Infracost) 소개 및 사용 방법

TL;DR 테라폼 코드 기반 비용분석 오픈소스 1. Intro Infracost는 221011 AWSKRUG 컨테이너 소모임 meetup에서, 유정열(당근마켓, AWS Hero)님의 발표로 처음 접하게 되었다. 그 당시에는 ‘재밌는 오픈소스 프로젝트네~’하고 인지만 하고 넘어갔었다. 그 다음으로 Infracost를 인지하게 되었던 것은, 테라폼 클라우드를 공부하며 관련 기능 탐구하던 도중이였다. Terraform cloud에는 유료기능으로 Cost Estimation(비용 예측)을 제공하는데, 해당 기능이 Infracost 기반으로 작동한다. ‘유료 […]

Terraform

Terraform cloud를 사용한 GitOps 구현

TL;DR 1. Intro & Overview 지난글에서는 기본적인 Terraform Cloud(이하 테클)의 개념과, Web 콘솔에서의 기본적인 사용법에 대하여 다루었다. 이번글에서는, 테클을 VCS(Version Control Source)인 GitHub와 연동하여 사용하는 GitOps Workflow와, 기본편에서 다루지 못했던 심화 설정들을 다루고자 한다. 또한 테클을 공부하면서 생각했던 장/단점을 이야기 해보고자 한다. 2. GitOps? GitOps 또한 DevOps에서 파생된 많고 많은 *Ops 개념 중 하나이다. “누가 […]

Terraform

Terraform cloud 소개, 기본 설정, 사용 방법

TL;DR 1. Intro & Overview 신규 팀원으로 DevOps 팀에 합류하면서, ‘어떻게 테라폼을 팀 수준에서 잘 쓸 수 있을까?’라는 고민을 하게 되었다. AWS의 인프라를 프로비저닝하고 관리하는데 있어서, 기존에는 Github를 사용한 버전 관리와, AWS S3 버킷에 state 파일을 올려 원격으로 관리하는 Remote State 기능 정도가 활용되고 있었다. Version control과 Remote state 외에도, 협업을 위해 추가할 수 있는 […]