Notice
Recent Posts
Recent Comments
Link
devops
Terraform 기반, AWS 대규모 마이크로서비스 인프라 운영 노하우 본문
반응형
이용욱님
- 삼성전자 / 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
반응형
'DevOps > Terraform' 카테고리의 다른 글
토스, GitOps와 OPA로 실수 없이 안전하게 쿠버네티스 운영 (0) | 2022.07.03 |
---|---|
Terraform Backend, Variables 알아보기 (0) | 2022.06.29 |
Terraform으로 AWS VPC, Private Subnet, NAT Gateway 구성 (0) | 2022.06.28 |
Terraform 파헤치기 (0) | 2022.06.26 |
Comments