Search

Terraform 시작하기 (AWS)

날짜
2022/05/29
작성자
태그
IaC
Terraform
AWS
개념정리
DevOps
Series
Terraform 입문하기!
완료

들어가면서

먼저 Terraform이란? IaC, 즉 “코드로서의 인프라" 를 구현하는 도구입니다.
Terraform은 AWS같은 퍼블릭 클라우드의 리소스 인프라들 뿐 아니라, 사설 클라우드 또는 다양한 API 통신을 지원하는 서비스들의 리소스들을 모두 지원합니다.

🧐 IaC는 왜 필요할까요? 콘솔로 직접 만들면 되는데??

→ 여러 사람이 협업을 할 때 (물론 혼자 작업하더라도) 콘솔 작업에 대한 히스토리를 파악하기 어렵고, 까먹고, 인수인계 없이 퇴사해버리는 경우가 비일비재합니다.
→ 또한 구석구석 숨겨진 리소스들(?)에 대한 현황 파악도 어렵죠...
1️⃣ IaC는 인프라를 코드로 관리하기 때문에, 코드만 파악하면 리소스 현황 파악도 콘솔 구석구석 뒤져보는 것보다 훨씬 쉽고 빠르게 할 수 있습니다.
2️⃣ 또한 GitHub 등의 버전 관리 도구로 코드를 관리하게 되면 인프라에 대한 히스토리 관리도 되므로 매우 편리합니다.
3️⃣ 그리고 마지막으로.....비슷한 작업을 반복해야 할 때 코드를 사용해 생산성을 훨씬 높일 수 있게 됩니다!
요새 DevOps와 IaC에 대한 수요가 급증하면서, Terraform을 안쓰는 곳도 거의 없는 것 같습니다.
앞으로의 비전과 연봉과 커리어를 위해 테라폼을 익혀두는 것을 매우 추천드립니다...! (저의 개인적인 의견이긴 합니다 😅)
Terraform Association 자격증도 어렵지 않으니 개념공부를 위한 자격증도 도전해보시면 좋을 것 같네요.
이번 글에서는 테라폼 작동 구조와 주요 개념, 주요 명령을 설명드리고 간단하게 aws 리소스들을 몇 개 만들어보도록 하겠습니다...! 🙌

0. Terraform 설치 및 세팅

1. 테라폼 기초 개념 및 작동 구조

1) Configuration File (.tf)
2) State File (.tfstate)
3) 실제 (Real) 리소스
4) Configuration File 실행 명령

2. 작고 귀여운 실습 🚀

AWS 자격 증명 설정 (이미 되어있는 경우 생략)
Configuration File 작성 및 Terraform 실행
리소스 삭제

3. 마치며

간단한 설명 후, AWS VPC를 생성해보고 삭제해보았습니다
말 그대로 워밍업이었기 때문에 굉~~장히 별거 없었는데요,,,,테라폼은 공부하면 할수록 재밌는게 많습니다
사실 제가 설명해드리는 것보단 직접 이것저것 만들어보시는게 훨씬 큰 도움이 될 것 같아요
그리고 추가로,,,위의 실습에서 느끼셨겠지만 테라폼 자체는 굉장히 쉽습니다! 찐으로 중요한건 테라폼으로 만들 리소스들 (EX. aws, azure, vault, ad,,, 등등)에 대해서 잘 아는 것입니다
내가 만들 리소스가 어떤 옵션을 가져가야 하는지, 이런 리소스들은 앞으로 어떤 변경점을 가질 수 있는지 등등을 생각하며 확장성이 좋은 Configuration File을 작성하시다보면 어느새 Terraform 전문가가 되어 있으실 겁니다
더 많은 기능들에 대해선 다음에 또 글을 쓰겠습니다 ㅎㅎ 언젠가,,,,

3. 다음 이야기…

1.
반복 : count, for_each
2.
module
3.
backend