일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 동적sql
- BOJ
- fetch
- 연관관계
- 일대다
- 스프링 폼
- 스토어드 프로시저
- dfs
- shared lock
- 낙관적락
- 백트래킹
- 유니크제약조건
- eager
- 다대다
- exclusive lock
- 연결리스트
- 힙
- PS
- querydsl
- JPQL
- 이진탐색
- execute
- SQL프로그래밍
- 지연로딩
- FetchType
- 데코레이터
- 다대일
- 즉시로딩
- 비관적락
- CHECK OPTION
- Today
- Total
흰 스타렉스에서 내가 내리지
Terraform의 -parallelism 옵션: 더 빠르고 효율적인 인프라 관리 방법 본문
Terraform 은 인프라로 코드를 관리할 수 있는 강력한 도구로, 코드만으로 클라우드 인프라를 배포, 업데이트, 삭제할 수 있는 유연성을 제공합니다.
하지만 규모가 커지고 리소스가 복잡해질수록 인프라 배포 속도는 중요한 문제가 됩니다.
이때 Terraform 의 -parallelism 옵션을 활용하면 속도와 효율성을 동시에 높일 수 있습니다.
# -parallelism 옵션이란?
-parallelism 옵션은 Terraform 이 리소스를 병렬로 처리할 수 있는 작업 수를 설정하는 옵션입니다.
기본적으로 Terraform 은 10개의 리소스를 동시에 처리하는데, 이 옵션을 사용하면 더 많은 리소스를 동시에 처리할 수 있도록 병렬 작업 수를 늘릴 수 있습니다.
terraform plan -parallelism=30
위 명령어는 Terraform 이 기본값(10) 대신 30개의 리소스를 병렬로 처리하도록 지시합니다.
병렬로 처리할 수 있는 리소스가 많을 수록 plan, apply 작업의 속도가 빨라집니다.
# -parallelism 옵션을 사용할 때의 이점
1. 배포 속도 향상
병령 작업 수가 많아지면 동시에 처리할 수 있는 리소스의 수가 늘어나기 때문에 전체 실행 시간이 줄어듭니다. 특히 독립적인 리소스가 많거나, 규모가 큰 인프라를 관리하는 경우 이 옵션을 활용하면 실행 속도를 크게 향상시킬 수 있습니다.
2. 대규모 인프라에서 유리
수십개에서 수백개의 리소스를 한 번에 배포해야 할 때, -parallelism 옵션을 사용하면 빠른 배포가 가능합니다. 예를 들어, 수백 개의 가상머신(VM), 네트워크 리소스, 또는 데이터베이스 인스턴스를 관리하는 경우, 더 많은 병렬 작업을 허용함으로써 배포 시간을 단축할 수 있습니다.
3. 리소스 병목 현상 완화
Terraform 은 기본적으로 리소스 간의 의존성을 파악해 순차적으로 처리하지만, 의존성이 없는 리소스는 병렬로 처리할 수 있다.
-parallelism 옵션을 통해 병렬 처리를 늘리면 리소스 간 병목 현상을 줄일 수 있다. 서로 의존성이 없는 리소스가 많을 수록 병렬 처리의 이점이 극대화된다.
# -parallelism 옵션이 유용한 활용 사례
1. 대규모 클라우드 인프라 배포
2. 독립적인 리소스가 많은 환경
배포할 리소스들 간에 의존성이 거의 없을 때, -parallelism 옵션은 특히 유용합니다. 서로 의존성이 없는 리소스는 병렬로 처리해도 문제가 없기 때문에, 이를 한 번에 처리하도록 설정하면 시간을 크게 절약할 수 있습니다.
예를 들어, 여러 개의 VPC, 서브넷, 네트워크 관련 리소스를 병렬로 생성하는 상황에서 이 옵션을 사용하면 작업이 훨씬 빨라집니다.
# 주의사항
1. API Rate Limiting
많은 요청을 동시에 보내면, API Rate Limit 에 걸릴 가능성이 있습니다.
AWS, GCP, Azure 와 같은 클라우드 제공자들은 API 호출에 제한을 두고 있기 때문에, 병렬 작업 수를 너무 높이면 한도를 초과하여 오류가 발생할 수 있습니다. 병렬 처리 수를 조정할 때 클라우드 제공자의 API 제한을 고려하는 것이 중요합니다.
2. 시스템 리소스 사용량 증가
병렬 처리 수를 늘리면 Terraform 을 실행하는 로컬 시스템 또는 CI/CD 파이프라인에서 CPU, 메모리 등의 리소스 사용량이 증가할 수 있습니다. 시스템 리소스가 충분하지 않다면 오히려 성능 저하를 초래할 수 있으므로, 시스템 상태에 맞게 병렬 처리 수를 설정해야 합니다.
'DevOps' 카테고리의 다른 글
tfstate 파일이 실제 인프라와 일치하지 않을 때 - import (1) | 2024.09.06 |
---|---|
Terraform backend - Terraform state 를 관리 (1) | 2024.09.06 |
AWS IAM 이란? 그리고 Terraform 으로 IAM user, group, role, policy 생성 (1) | 2024.09.05 |
Terraform 으로 s3 리소스 생성하기 (0) | 2024.09.05 |
ALB 보다 NLB 가 더 높은 처리량과 짧은 레이턴시를 가지는 이유 (0) | 2024.08.22 |