EC2 배치 그룹(Placement Groups)
- 새로운 EC2 인스턴스를 시작하면, 인스턴스는 기본 하드웨어 전반에 분산되도록 하여 장애 시의 영향도를 줄인다.
- 하지만 워크로드에 따라서 인스턴스의 배치를 조정하는 것이 더 유리한 경우가 있다.
- 배치 그룹을 사용하여, 인스턴스의 배치 전략을 선택해 워크로드에 따른 최적의 배치를 할 수 있도록 할 수 있다.
- 배치 그룹을 사요하는 것에 따른 별도의 비용은 발생하지 않는다.
배치 그룹 방식
클러스터
- 인스턴스를 가용 영역 내에 서로 근접하게 위치
- HPC 와 같이 노드 간의 통신 시 Latency 를 낮도록 구성이 필요한 경우에 사용
- 높은 네트워크 처리량에 유리
- 클러스터 배치 그룹의 경우 동일한 인스턴스 유형을 사용하는 것을 권고한다.
- 배치 그룹 내의 인스턴스를 중지 후, 다시 실행하는 경우 동일 배치 그룹에서 시작하며, 이 때 용량 부족으로 실행이 불가할 수도 있다. 이 경우 해당 배치 그룹을 모두 정지하여 재시작 시, 배치 그룹 내의 인스턴스를 수용 가능한 하드웨어에서 시작될 수 있다.
- 여러 가용 영역을 포괄할 수 없다.(가용 영역에 종속적)
- 클러스터 배치 그룹 내부에서는 인스턴스가 최대 10Gbs, 외부와는 5Gbs 사용 가능
- 인터넷 및 DX 를 통한 연결은 각각 5Gbs 로 제한
클러스터의 경우 모든 EC2 인스턴스가 하나의 같은 랙, 같은 AZ 에 있다. 아래 사진처럼 모든 인스턴스들이 같은 하드웨어에 있다.
이렇게 구성하면 좋은 점은 레이턴시를 낮출 수 있고, 클러스터 배치 그룹 내부의 네트워크 통신 속도가 최대 10Gbs 될 정도로 엄청나게 빠르다.
단점으로는 모든 인스턴스들이 하드웨어에 종속적이기 때문에 랙이나 하드웨어에 장애가 있으면 모든 인스턴스에 장애가 발생한다는 점이다.
빅데이터 업무를 할 때나 네트워크 속도가 무척 빨라야 되는 경우에 클러스터 배치 그룹 방식을 사용하면 좋다.
파티션
- 논리적 파티션 분리를 통해, 한 파티션에 있는 인스턴스 그룹이 다른 파티션의 인스턴스 그룹과 기본 하드웨어를 공유하지 않도록 함
- Hadoop, Cassandra, Kafka 등 대규모 분산 및 복제 워크로드에 필요
- 파티션 배치 그룹 사용하여 인스턴스 생성 시에는 파티션에 인스턴스를 균일하게 배포
- 파티션 배치 그룹에서 실행할 수 있는 인스턴스 숫자는 계정에 제한
- 가용 영역 당 최대 7개의 파티션 배치영역 가능
- 전용 인스턴스가 있는 파티션 배치 그룹은 최대 2개만 가능
- 전용 호스트에서는 사용 불가
하나의 가용 영역에서 7개의 파티션을 가질 수 있고, 각각의 파티션에서 여러개의 EC2 인스턴스를 갖는다. 파티션을 가짐으로써 인스턴스가 많은 하드웨어 랙(가용 영역) 에 분산되게 할 수 있고, 랙에서 장애가 발생해도 다른 EC2 인스턴스들은 안전하게 보관할 수 있다.
파티션 1에 있는 인스턴스는 파티션 2에 있는 인스턴스와 같은 하드웨어나 물리적인 랙을 공유하지 않는다. 즉, 파티션 1에서 장애가 발생해도 파티션 2에는 영향을 끼치지 않는다.
파티션 배치 그룹을 언제 사용하는 것이 좋을까? 파티션을 인식하는 빅데이터 앱을 사용하는 경우에 쓰면 좋다.
예를 들어, Hadoop, Cassandra, Kafka 등..
분산
- 인스턴스 그룹은 다른 하드웨어로 분산하여 인스턴스 간의 장애 시 영향을 최소화 함.
- 분산형 배치 그룹은 별개의 랙에 배치
- 분산 그룹당 가용 영역별로 최대 7개의 실행 중인 인스턴스 보유 가능
- 7개 이상의 인스턴스가 필요한 경우 다수의 분산형 배치 그룹 사용
- 서로 다른 분형 배치 그룹 간에는 동일한 하드웨어를 사용하게 될 수도 있음
- 전용 인스턴스 및 전용 호스트에서는 사용 불가
분산은 클러스터 방식과 정반대이다. 분산에서는 치명적인 장애를 통한 위험을 최소화하는 것이 목적이다.
분산 배치그룹을 요구했을 때 모든 EC2 인스턴스들은 아래 사진처럼 다른 하드웨어에 각각 위치하게 된다.
내가 사용할 수 있는 가용 영역에 각각의 하드웨어와 EC2 인스턴스들이 배치된다. 이렇게 함으로써 하나의 랙(가용 영역)에서 장애가 발생해도 그 영향을 최소화 할 수 있게 했다.
단점으로는 분산 그룹당 가용 영역별로 최대 7개의 인스턴스만 보유할 수 있다는 것이다.
이러한 분산형 배치 그룹 방식은 배치 그룹의 크기에 제한이 없기 때문에 높은 가용성과 위험성을 줄여야 하는 애플리케이션일 경우 선택하면 된다.
배치 그룹 규칙 및 제한 사항(공통)
- 배치 그룹의 이름은 AWS 계정 & region 에서 고유해야 함
- 배치 그룹 병항 불가
- 인스턴스는 하나의 배치 그룹에만 속할 수 있다.
- 테넌시를 host 로 지정된 경우 배치 그룹 불가
클러스터 배치 그룹을 지원하는 인스턴스 타입
- General purpose : A1, M4, M5, M5a, M5ad, M5d, M5dn, M5n, M6g
- Compute optimized : C3, C4, C5, C5a, C5n, C6g, cc2.8xlarge
- Memory optiomized : cr1.8xlarge, R3, R4, R5, R5a, R5ad, R5d, R5n, R6g, X1, X1e, z1d
- Storage optimized : D2, H1, hs1.8xlarge, I2, I3, I3en
- Accerlerated computing : F1, G2, G3, G4dn, Inf1, P2, P3, P3dn