예전만들어두고 회사에서 사용하고 있던 인프로 코드를 정리하는 작업을 진행했습니다. 이 글에서는 그 과정에서의 주요 내용과 개선된 인프라 구성을 공유하고자 합니다.
보안성 확보:
private
환경에서 진행되었습니다. 이를 통해 데이터의 보안을 최우선으로 보장하였습니다.MongoDB 구성:
Primary
, Secondary
, Arbiter
구조로 설정했습니다.Java 어플리케이션 서버:
오토스케일 그룹
을 활용하여 트래픽에 따라 자동으로 스케일링이 가능하도록 설정하였습니다.프로젝트 구성 방식:
Terragrunt
와 Terraform
을 활용하여 인프라 코드를 작성하였습니다.mongodb
하위의 hcl
파일들은 _envcommon
의 각 hcl
파일에 설정된 사항을 불러와 처리합니다.기존 리소스 활용:
aws_data
의 data.tf
는 AWS에 이미 생성되어 있는 리소스 정보를 불러오는 역할을 합니다.몽고DB를 코드를 통해 관리하고 있고, ansible을 통해 ec2의 몽고디비 설치 및 replica set 설정또한 자동으로 가능하게 작업을 진행했었고, 작동은 잘되고 있습니다. 이 프로젝트를 통해 현재의 기술 트렌드와 회사의 요구 사항에 맞게 인프라를 최적화할 수 있었습니다. 기존에는 문제점이나 미흡한 부분이 있었지만, 이번 정리를 통해 보다 안정적이고 확장성 있는 인프라를 구성할 수 있었습니다.
특히, 외부 접근이 차단된 private 환경에서 코드로 작업을 하다보니, 몽고디비에 익숙하지 않은 팀원들도 손쉽게 메뉴얼만 보고 만들어 낼수 있게 되었습니다.
회사의 실제 환경에서 이 구성을 사용하면서 Terraform과 Terragrunt의 효율성을 직접 체감할 수 있었습니다. 기존의 인프라 코드를 최적화하고, 보다 효율적으로 관리하는 과정에서 많은 것을 배울 수 있었습니다.