◇ 공부 기록용으로 작성하였으니 틀린 점, 피드백 주시면 감사하겠습니다 ◇
Placement Group
EC2에는 Placement Group라는 개념이 있다. 이는 네트워크 퍼포먼스의 개선이나 물리 서버 장애의 영향을 낮추기 위해 상호작용(interdependent)하는 인스턴스들끼리 그룹화 하는 것이다.
인스턴스들을 물리적으로 가깝게 배치하거나 특정 인스턴스 간의 네트워크 지연을 최소화하기 위한 기능이다.
3가지 종류의 Placement Group 그룹화 방식이 있다.
- Cluster
- Spread
- Partition
Placement Groups 특징
- 🌐 저지연 네트워크(Low latency):
인스턴스들을 물리적으로 가깝게 배치하기 때문에 네트워크 지연이 최소화된다.
이는 높은 처리량과 낮은 지연이 필요한 응용 프로그램에 이상적이다. - ♻️ 고가용성(High Availability):
같은 Placement Group의 인스턴스가 장애를 겪을 경우, 같은 하드웨어에 배치된 인스턴스로 대체될 수 있다.
이는 가용성이 매우 중요한 서비스에 유용하다. - Placement Groups는 선택사항(optional)이고 추가적인 비용이 들지 않는다. → 무료🤑
Cluster Placement Group (같은 AZ에 물리적 위치 가깝게 배치)
"Single Availability Zone" 안에서의 논리적 그룹화 ⇒ 즉 같은 AZ에서 인스턴스끼리 서로 가깝게 배치한다.
이로 인해 각 EC2 인스턴스 간의 통신에서 지연이 발생하기 어려워지고, 고속 통신이 가능하다.
클러스터 배치 그룹이 속한 AZ에 어떤 장애가 발생할 경우, 서비스가 이용 불가능해질 수 있으므로, 가용성을 희생하더라도 EC2 인스턴스 간의 통신 지연을 최대한 줄이고 싶을 때 사용한다.
- [배치 방식] Single Availability Zone(단일 가용영역) 내에서 같은 물리적 하드웨어에 인스턴스를 배치한다.
- Don’t span across Availability Zones (다른 가용영역에 Cluster Placement Group로 배치 불가능)
- [속도 개선] 가까이 배치한 노드 간에 네트워크 속도를 개선시킨다. (노드 = 컴퓨터 서버)
- 짧은 지연 시간(Low-latency)과 높은 처리량(High network throughput) 제공
- [비용 개선] 같은 AZ의 데이터 전송은 비용이 들지 않는다.
- [적합 유형]: 고성능 컴퓨팅(HPC, High Performance Computing)과 같이 네트워크 통신이 많이 필요한 애플리케이션에 적합하다.
- [단점] 같은 AZ에 속해 있기 때문에 장애가 발생하면, 서비스 이용 불가능 해질 수 있다.
'Partition' 영어 뜻
일반적으로 칸막이라는 뜻을 가지고 있지만, 컴퓨터 공학에서는 무언가를 논리적으로 나누기 위해서 사용된다.
2. Partition Placement Group (가용성을 위한 논리적 그룹)
각 파티션에는 하나의 자체 Server Rack(서버의 하드웨어)의 세트에 있다.
해당 랙에는 독립된 전원과 네트워크가 제공된다.
1 rack 당 1 parition 세트 (1rack - 1partition)로 구성된다.
서도 다른 파티션의 인스턴스들은 Server Rack(서버의 하드웨어)을 공유하지 않는다. 즉 하드웨어 자체 분리되어 있다.
각 파티션은 랙을 공유하지 않기 때문에 하드웨어 장애로 인한 영향을 줄일 수 있다.
파티션은 서로 다른 가용 영역(AZ)에 EC2 인스턴스를 배치할 수도 있다.
- [장애 복구]: 서로 다른 파티션은 동일한 Rack을 공유하지 않으므로 서버 하드웨어 장애의 영향을 격리시킬 수 있다.
- [서로 다른 AZ] 동일한 region의 여러 AZ(가용영역)에 걸쳐 있을 수 있다
- AZ당 파티션은 최대 7개까지 가질 수 있다.
- Rack마다 자체 네트워크 및 전원이 있다.
- HDFS(Hadoop), HBase, Cassandra, Kafka와 같은 대규모 분산(large distributed) 및 복제(replicated)의 워크로드에 적합.
3. Spread Placement Group (가용성을 위해 의도적으로 서로 따로따로 배치)
Spread Group의 그룹 내의 '인스턴스'들을 하나 하나를 서로 다른 하드웨어(Rck)에 분산해서 배치한다.
의도적으로 인스턴스를 서로 다른 구역에 분산시킨다. 이로써 하드웨어에 장애가 생겨도 문제없다.
Partition 그룹에서는 하나의 랙에 동일한 그룹의 EC2 인스턴스가 하나 이상 배치될 수 있지만, Spread 그룹에서는 동일한 그룹의 EC2 인스턴스가 한 랙에 하나만 배치된다.
1 rack 당 1 인스턴스 형식
그룹 내의 각 EC2 인스턴스는 하드웨어를 공유하지 않기 때문에 하드웨어 장애로 인한 영향을 줄일 수 있다.
또한, 스프레드 배치 그룹은 서로 다른 가용 영역(AZ)에 EC2 인스턴스를 배치할 수도 있다.
- [고가용성]: 서로 다른 하드웨어에 인스턴스가 분산되어 있기 때문에 시스템의 가용성을 향상한다. 장애가 생겨도 하드웨어 자체 다르기 때문에 다른 인스턴스는 안전하다.
- 위의 그림은 단일 가용 영역에 있는 인스턴스 7개를 보여준다. 7개의 인스턴스가 7개의 서로 다른 랙에 배치되며, 랙마다 자체 네트워크 및 전원이 있다.
참고자료
참고자료1: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html
참고자료 3: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-strategies.html
'클라우드(AWS) > EC2' 카테고리의 다른 글
[AWS] EC2 AMI를 다른 AWS계정으로 공유하는 법 (0) | 2024.05.31 |
---|---|
[AWS] User data와 Metadata란? 쉽게 개념 정리 (0) | 2024.05.30 |
[AWS] EC2의 남은 용량 확인하기 (0) | 2024.05.13 |
[AWS] EC2 인스턴스 구매 옵션 쉽게 정리 (On-demand | Reserved, Spot | Dedicated Instance, Compute Savings Plans) (1) | 2024.03.21 |
[AWS]EC2 인스턴스 타입/종류(Instance Types) 쉽게 특징 정리 (0) | 2024.03.10 |