본문 바로가기

반응형

♻ Terraform(테라폼)/Terraform Modules

(4)
Terraform Module 구조 설명 # Terraform Module 구조 설명 - Terraform Module 구조를 확인하는 방법 - 아래의 명령어로 현재의 구조를 확인할 수 있다. tree . - tree. 명령어를 실행한 결과는 아래와 같다. 아래 구조를 잠시 설명하자면, Terraform_seung라는 폴더가 있고 그 밑에 다른 폴더는 생략하고 modules라는 폴더가 존재, 해당 폴더 아래에 module.ec2와 module.vpc가 존재하는 구조라고 볼 수 있다. - 아래의 링크를 참조하여 모듈을 왜 사용하는지 확인한다. 2022.04.15 - [Terraform(테라폼)/Terraform Modules] - 모듈을 활용한 재사용 가능한 인프라 생성 모듈을 활용한 재사용 가능한 인프라 생성 테라폼의 핵심은 바로 모듈을 활용한..
Terraform 모듈 사용 시 주의 할점 (file path 관련) # Terraform 에서 모듈 사용 시 file path 와 관련하여 설명 - 아래의 내용을 보면 private_ec2_postgresql.tf 파일에서 사용하는 private_key 파일의 패스 파일의 주소가 입력 되어 있다. 근데 실제로 module을 사용하여 작업을 수행하면 파일이 존재하지 않는다는 메세지가 나온다. 이유는 간단한데, 모듈은 모듈의 root 경로에서 파일을 찾고, private_ec2_postgresql.tf는 해당 파일이 존재하는 폴더의 경로에서 파일을 찾기 때문에 파일을 참조하는 위치가 다르기 때문이다. - 매우 당연한 이야기 인데, 그래서 만약에 root 경로에서 실행하는 것이 아니고, 해당 모듈에서 직접 terraform 리소스 생성을 실행할 경우 위와 같이 private_..
Terraform module을 활용 방법 설명 # Terraform modules 관련 사이트 https://registry.terraform.io/modules/terraform-aws-modules/security-group/aws/latest/submodules/http-80 Terraform Registry registry.terraform.io 1. 모듈의 사용방법 - 테라폼의 모듈을 잘 설명한 그림은 아래와 같다. - 아래의 그림처럼 모듈은 재사용성을 극대화 시킨 사용방법이다. 2. 모듈의 사용방법 가장 중요한 결론! 가장 중요한 결론은 위의 그림에서도 설명했 듯이 input 값과 output 값이라고 볼 수 있다. input 값은 Root 모듈의 입력 변수로 선언되고, 해당 변수를 받는 곳은 자식 모듈의 var.리소스 값으로 선언되어 있..
모듈을 활용한 재사용 가능한 인프라 생성 테라폼의 핵심은 바로 모듈을 활용한 재사용 이라고 할 수 있다. - 모듈의 간단한 사용 방법은 아래와 같다. 만약 Root 폴더에 asg.tf 라는 파일이 존재하고 Root 폴더에 asg.tf에 정의된 값을 활용하여 module.asg 폴더 안에 main.tf에 정의된 리소스를 실행시킨다고 가정할 경우 아래의 flow를 따라서 동작한다. (매우 간단하지만 실제로 해보지 않으면 헷갈림, 머리가 나빠서 그런거 같기도...) Root폴더의 실행파일.tf → 실행하는 Resource의 variables.tf와 맵핑 → 실행하는 Resource의 main.tf의 var.{resource_name} 으로 선언 되어 있어야 한다. - 그리고 asg.tf 파일의 내용을 보면 아래와 같다. module "asg" { s..

728x90
반응형