Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Version published after converting to the new editor

Table of Contents

설치, 설정

AWS 설정

사용하는 AWS key는 named profiles 를 이용하여 terraform 코드에 설정을 하도록 한다. 사용자가 실수로 terraform 코드를 잘못 실행하는 것을 방지하기 위한 목적이다.

terraform plugin_cache_dir 설정

...

그래서 terraform 코드가 있는 디렉토리 별로 provider를 따로 다운로드 받기 때문에 시간이 많이 걸린다.

홈디렉토리의 .terraformrc 파일에 plugin cache 설정을 해서 사용을 하면  특정 디렉토리에 plugins를 다운로드 받고 공유해서 사용할 수 있다.

이 디렉토리는 terraform이 자동생성하지 않기 때문에 수동으로 생성을 해 주어야 한다.

https://www.terraform.io/docs/commands/cli-config.html

...

terraform을 사용할 때 처음부터 코드를 새로 짜는 것보다는 terraform module 을 참고한다.

외부 모듈을 쓰는 것이 확실하게 좋은 경우가 아니라면 가급적 직접 코드를 짜는 것이 좋을 수 있다.  일부 리소스는 직접 만들고 일부 리소스는 외부 모듈을 이용하는 경우 혼란스러울 수 있다.

  1. terraform module registry  https://registry.terraform.io/browse?provider=aws : Verified 는 사용을 해도 좋지만 그 외의 것은 코드 수준이 다양하므로 코드를 보고 판단해야 한다.
  2. best practicces terraform : https://github.com/hashicorp/best-practices/tree/master/terraform : 현재 deprecated 이고 terraform module registry를 참고하라고 하지만 terrafrom 전체적인 코드를 보기에는 도움이 된다.
  3. terraform examples https://github.com/terraform-providers/terraform-provider-aws/tree/master/examples
  4. github 등에서 검색

...

Strings are in double-quotes.

Spacing : Use 2 spaces 

Resource Block Alignment

Terraform resource name :  underscore(_) 사용

...

https://www.terraform.io/docs/internals/debugging.html

TF_LOG 환경변수로 설정할 수 있다. log level : TRACEDEBUGINFOWARN or ERROR


$ export TF_LOG=DEBUG ; terraform plan