IaC (Infrastructure as Code) - Import existing AWS resources into Terraform (Feat. Terraforming)
요즘에, AWS 를 사용하면서, 여러가지 Resource 들을 다루어 보고 있다. 이러한 과정속에 다루는 Resource 가 많아질수록 또는 여러사람들이 Resource 를 추가하고 삭제하고 변경하는 과정에서 추적이 쉽지 않고 관리가 어려워지는 것을 느꼈다.
AWS 에서 기본적으로 제공하는 서비스인 CloudFormation 도 있고, 최근에는 CDK 를 지원하고 있기도 하고 이외에도 Ansible, Chef, Puppet 등 다양한 IaC 도구들이 있다는 것을 알지만, 나는 아직 초짜라서 이 모든것을 경험해보진 못했다.
요즘 새롭게 꽂혀서 Terraform 을 이것저것 만져보고 있다. 새롭게 Infrastructure 를 구축할 때는 실습해보면서 감을 익히는 정도인데, 문득 기존에 존재하는 수많은 Resource 들을 Terraform 으로 쉽게 관리할 수 있는 방법은 없을까? 라는 의문점이 생겼다.
existing AWS Resource import Terraform 라는 키워드로 구글링을 하는 과정에서 Medium 에서 블로깅한 내용을 발견했다.
해당 내용을 보고, 오! terraforming 역시, 누군가가 괜찮은걸 이미 만들어 놨군! ㅋㅋ
https://github.com/dtan4/terraforming
사용법도 정말 간단하다. 우선 Mac OS 기준으로 사용법을 정리하고 마치겠다.
먼저 필요한건 AWS CLI 이다.
AWS CLI 설치 방법은 간단하다. 아래 링크로 들어가서 인스톨러 다운받고 설치하면 된다.
설치하고 터미널에서 which aws 나 aws --version 을 통해서 설치확인을 한다.
그리고 해야 될 것은 aws configure 을 통해서 access key 와 secret key 및 region 및 포맷을 정해준다.
다음으로 이제 terraforming 을 설치한다.
Homebrew 는 이미 설치되어 있다는 전제로 깔고 간다.
brew update 후 brew install terraforming 으로 간단하게 설치해준다.
사용법은 정말 간단하다. 아래처럼 terraforming help 명령어를 통해서 가능한 명령어를 확인한다.
그리고 필요한 Resource 들이 Terraform 코드로 변환되는 것을 확인할 수 있다.
댓글
댓글 쓰기