해결된 질문
작성
·
65
·
수정됨
1
안녕하세요. "DevOps와 SE를 위한 리눅스 커널 이야기"를 완독하고 저자님의 성함을 잊지 않았던걸까 테라폼 강의가 업로드 되자마자 신나게 수강을 했습니다.
덕분에 테라폼을 보다 쉽게 익힐 수 있었고 무엇보다 공식문서를 잘 읽어가며 새로운 리소스를 구성할 때 마다 참고하게 되는 습관이 생긴 것 같아요👍
그래서 감사하다는 말씀 먼저 드리면서 궁금사항을 남겨봅니다.
실습을 끝까지 마쳤다면 폴더구조는 이런 상태입니다.
modules
vpc
main.tf
outputs.tf
variables.tf
vpc
oimarket-apne2
...
ec2
bastion
...
워크 플로우
cd ec2/bastion || cd vpc/oimarket-apne2
terraform plan - apply
테라폼 구성을 위해 각 리소스 디렉터리에 접근 하여 워크플로우를 실행 하게 되는데 이렇게 개별적으로 관리하는것 과 중앙 집약적 관리 중 어떤 방향이 Best Practice일까요?
제가 생각하는 루트 모듈 구성은 이렇습니다.
main.tf
variables.tf
outputs.tf
modules
vpc
...
ec2
...
답변 2
1
질문 감사합니다. ^^
개별적 관리와 중앙 집약적 관리가 정확히 어떤 걸 의미하는지 모르겠지만 우선 본 강의에서 예제로 사용하고 있는 구조 (이하 1번 구조라고 칭하겠습니다.) 와 S3ymphony 님이 생각하시는 구조 (이하 2번 구조라고 칭하겠습니다.) 중 어떤 게 베스트 프랙티스인지 문의 하신 걸로 이해했습니다.
모듈은 말 그대로 모듈이기 때문에 이곳 저곳에서 확장성 있게 사용 될 수 있어야 하고, 다른 모듈과의 조합을 통해 구성을 효율적으로 사용할 수 있어야 합니다. 사실 그걸 달성할 수 있다면 구조는 큰 문제가 되진 않습니다.
예를 들면 아래와 같은 구조도 가능하겠죠.
modules
vpc
bastion
variables.tf
oimarket
apne2
vpc.tf <- 여기서 vpc 모듈을 사용
bastion.tf <- 여기서 bastion 모듈을 사용
usw1
vpc.tf <- 여기서 vpc 모듈을 사용
bastion.tf <- 여기서 bastion 모듈을 사용
모듈만 잘 나눠져 있다면 그걸 사용하는 구조는 어떻게 되어도 괜찮다는 이야기 입니다.
다만 2번 구조의 경우 vpc 모듈과 ec2 모듈을 다른 코드에서 사용하려면 어떻게 할 수 있을지 확장성이 잘 안보이긴 합니다. 이미 최상단에 main.tf 파일이 위치해 있어서 하단에 있는 모듈을 사용하게 한다면 그 모듈을 사용할 또 다른 main.tf는 어디에 있는게 좋을지는 결정하기 어려워 보이긴 합니다.
0
안녕하세요, 인프런 AI 인턴입니다. S3ymphony님!
테라폼을 사용한 인프라 관리에 대해 잘 배우고 계신 것 같아 기쁩니다. 공식문서를 참조하는 좋은 습관을 기르셨다고 하니 앞으로 더욱 빠르게 성장하실 수 있을 것입니다.
테라폼 프로젝트 구성에 있어 “모듈화”와 “중앙 집중화”는 여러 면에서 중요합니다. 각 방식이 보유한 장점이 있으므로 프로젝트의 규모, 팀의 협업 방식, 관리의 복잡성에 따른 전략적 선택이 필요합니다:
개별 모듈 관리:
중앙 집약적 관리:
일반적으로 권장되는 접근 방식은, 모듈화를 통해 개별 관리를 하면서 기본적으로 하나의 중앙 디렉토리에서 최종 배포와 상태 관리를 수행하는 것입니다. 이를 통해 독립적인 관리의 장점과 함께 중앙 관리의 효율성까지 얻을 수 있다는 점에서 효과적입니다.
이와 관련된 유사한 질문 및 지식공유자의 답변은 다음의 링크를 참고해주세요:
- Terraform and Infrastructure as Code Best Practices - 다른 강의의 테라폼 실습에 대한 모듈화와 관리 방법의 논의가 포함되어 있습니다.
테라폼과 같은 IaC(Infrastructure as Code) 툴은 지속적인 학습과 실제 환경에서의 실험을 통해 더 깊은 이해를 얻을 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
감사합니다!!
답변을 곱씹으며 읽다보니 너무 확실한 가이드라인을 제시 해주셔서 확실하게 방향성을 잡고 갈 수 있을 것 같습니다!