Search
Duplicate

Terraform 시작하기 (AWS)

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

들어가면서

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

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

→ 여러 사람이 협업을 할 때 (물론 혼자 작업하더라도) 콘솔 작업에 대한 히스토리를 파악하기 어렵고, 까먹고, 인수인계 없이 퇴사해버리는 경우가 비일비재합니다.
→ 또한 구석구석 숨겨진 리소스들(?)에 대한 현황 파악도 어렵죠...
 IaC는 인프라를 코드로 관리하기 때문에, 코드만 파악하면 리소스 현황 파악도 콘솔 구석구석 뒤져보는 것보다 훨씬 쉽고 빠르게 할 수 있습니다.
 또한 GitHub 등의 버전 관리 도구로 코드를 관리하게 되면 인프라에 대한 히스토리 관리도 되므로 매우 편리합니다.
 그리고 마지막으로.....비슷한 작업을 반복해야 할 때 코드를 사용해 생산성을 훨씬 높일 수 있게 됩니다!
요새 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