devops

Terraform 기반, AWS 대규모 마이크로서비스 인프라 운영 노하우 본문

DevOps/Terraform

Terraform 기반, AWS 대규모 마이크로서비스 인프라 운영 노하우

vata500 2022. 6. 28. 17:40
반응형

이용욱님

  • 삼성전자 / Cloud 운영 그룹
  • Dev, DA/DBA, TechOps, DevOps, SRE

IaC(Infrastructure as Code)

  • 인프라 생성, 설정 관리를 코드로 작업 -> 반복 재현성, 이력관리 가능
  • 인프라 코드와 설정 문서를 한번에 할 수 있는 장점이 있음
  • 빠른 공유와 병렬 작업이 가능

  • 정적인 인프라는 Terraform으로 운영, 수정이 잦은 배포(Auto Scaling Group, Image)의 경우 Ansible 사용
  • Spinnaker는 파이프라인부터 배포 설정까지 하는 데 주로 사용
  • 주로 Spinnaker와 Terraform을 큰 축으로 가져가고 있음
  • 쿠버네티스는 배포 스펙 지정에 편리해서 사용

Terraform

1. 관리 범위 쪼개기

  • Communication cost
  • 상호간섭 최소화
  • 문제발생시 영향 범위 최소화
  • 개인별 필요 권한 최소화

-> 마이크로 서비스 단위로 관리

2. 동일 코드 기반의 인프라 환경 구성

  • 환경 별 리소스 차이를 최소화
  • 동일 코드를 DEV -> STG -> PROD 환경으로 단계적 승격
  • 테스트...테스트

3. 재사용 가능한 공용 모듈

  • VPC
  • ECS, EKS Cluster
  • LoadBalancer
  • ServerGroup

Terraform Modules

  • 타 모듈보다 자체 모듈을 사용하며 Local, Github, S3를 사용해서 소스를 활용

  • 코드 구조를 직관적으로 이해하기 위해 Account와 Region 단위로 구분해놓음
  • 공용 리소스는 별도 폴더에서 관리
  • 마이크로서비스는 별도 폴더와 모듈을 활용

https://www.youtube.com/watch?v=9PTdO7DM6XQ 

 

반응형
Comments