배치 그룹
배치 그룹은 AWS에서 제공하는 기능으로, EC2 인스턴스가 AWS 인프라 내에서 어떻게 배치될지를 정의하는 도구다.
AWS의 하드웨어와 직접적인 상호 작용을 하진 않지만 EC2 인스턴스가 각각 어떻게 배치되기를 원하는지 AWS에 알려준다.
배치 그룹을 만들 때 세 가지 전략을 사용할 수 있다.
- 클러스터 (Cluster) 배치 그룹
- 모든 EC2 인스턴스가 동일한 가용 영역에 있다.
- 동일한 가용 영역 내에서 인스턴스를 동일한 하드웨어에 배치하여 네트워크 지연 시간을 최소화한다.
- 모든 인스턴스 간에 초당 약 10 기가바이트의 대역폭을 확보하여 향상된 네트워크를 지원한다.
- 이러한 장점들 때문에 고성능 컴퓨팅(HPC) 애플리케이션에 적합하다.
- 높은 성능을 제공하지만 위험 또한 높다.
- 동일한 하드웨어에 인스턴스가 집중되므로, 하드웨어 장애 시 모든 인스턴스가 영향을 받을 수 있다.
- 분산 (Spread) 배치 그룹
- 실패 위험을 최소하하려 하는 그룹.
- 여러 가용 영역에 걸쳐 인스턴스를 서로 다른 하드웨어에 분산시켜 장애 격리를 강화
- 여러 가용 영역에 걸쳐 있을 수 있어서 동시 장애 발생의 위험이 감소한다.
- 가용성을 극대화하고 위험을 줄여야 하는 애플리케이션에 적합하다.
- 1개의 가용 영역 당 최대 7개의 EC2 인스턴스만 가질 수 있다는 제한이 있다.
- 분할 (Partition) 배치 그룹
- 여러 가용 영역에 걸쳐 인스턴스를 논리적 파티션으로 분산한다. 각 파티션은 서로 다른 하드웨어에 배치된다.
- 가용 영역 당 최대 7개의 파티션이 있을 수 있고, 파티션은 동일한 리전의 여러 가용 영역에 걸쳐 있을 수 있다.
- 이러한 설정으로 분산 배치 그룹과 다르게 최대 수백개의 EC2 인스턴스를 얻을 수 있다.
- 인스턴스와 파티션은 다른 파티션의 인스턴스와 동일한 하드웨어 물리적 랙을 공유하지 않으므로 각 파티션은 장애로부터 격리된다.
- adoop, Cassandra, Kafka와 같은 빅데이터 애플리케이션에 적합하다.
- 파티션 구조를 인식하는 애플리케이션이 필요하다는 단점이 있다.