반응형
1. terraform이란
terraform이란 HashiCorp에서 만든 IAC를 지원하는 솔루션입니다.
2. terraform을 사용하는 이유
aws console에 들어가서 gui를 보며 클릭하여 인프라를 구축할 수도 있습니다.
그러나 aws console을 이용하면 히스토리 추적이 힘들고 유지보수하기 힘들다는 단점이 생깁니다.
테라폼을 사용하면 이러한 단점이 해소됩니다.
인프라를 코드로 작성하므로 재사용성이 좋으며 유지보수에 유리합니다.
3. 테라폼 구성요소
테라폼 구성요소는 테라폼코드를 작성할때 사용되며 .tf의 확장자의 파일에 작성하게 됩니다.
- provider - 인프라의 종류
- resource - 인프라 자원
- state - 자원의 상태(파일형태로 저장되는 테라폼의 결과물)
- module - 모듈형태로 정의하는 것(템플릿 느낌으로 이해하시면 좋습니다)
- remote - 다른 경로의 state를 참조하는 방식이며 output변수를 불러올때 사용됩니다.
하나도 이해하지 못해도 됩니다.
다음게시글에서 아주 기본적인 테라폼 사용법부터 정리하겠습니다.
4. 테라폼 명령어
아래의 명령어는 cli 환경에서 terraform 뒤에 붙는 명령어들입니다.(ex $ terraform init)
아래는 테라폼을 대표하는 명령어들입니다.
- init - 테라폼 정보를 가져오는 명령어입니다.
- provider, module, state 등의 설정을 진행합니다.
- plan - 테라폼 코드를 실제로 적용시켰을떄의 예측 결과를 보여줍니다.
- 가장 많이 사용되는 명령어로 plan을 통해 충분히 확인한후 반영해야합니다.
- apply - 테라폼코드를 실제로 적용시키는 명령어입니다.
- plan이후 실제 infra에 적용해도 될때 사용합니다.
- import - 이미 만들어진 자원을 import를 사용하여 코드로 가져옵니다.
- aws에 콘솔로 만든 service가 있고 그 서비스를 테라폼이 관리하고 있지 않다면 import 해줘야합니다.
- state - state 파일을 다룰때 사용됩니다.
5. 마치며
다음 게시글에서는 terraform을 사용하여 aws 자원을 제어하는 방법에 대해 정리합니다.
aws의 이해가 없어도 할수있도록 아주 기본적인 자원을 이용해서 포스팅 하겠습니다.
반응형
'terraform' 카테고리의 다른 글
[terraform] 테라폼 count, 조건문, 반복문, dynamic, for_each, lookup 사용법 (0) | 2022.05.24 |
---|---|
[terraform] 테라폼 backend, tfstate란 (0) | 2022.05.24 |
[terraform] 테라폼 module 사용법(테라폼 모듈 사용법) (0) | 2022.05.11 |
[terraform] 테라폼 variable 사용법(테라폼 변수 사용법) (0) | 2022.05.11 |
[terraform] 테라폼 시작하기 (terraform tutorial, 테라폼 예제) (0) | 2022.04.22 |
댓글