본문 바로가기
IT/AWS

EC2 - Placement Groups

by 노오-력 2023. 3. 23.

Placement groups 는 EC2 인스턴스가 AWS 인프라에 배치되는 방식을 제어하고자 할 때 쓴다.

 

Cluster / Spread / Partition 3가지 전략이 있다.

 

 

Cluster

cluster의 경우 모든 EC2 인스턴스가 동일한 랙에 있다.

즉 동일한 하드웨어와 동일한 AZ에 있다.

지연 시간이 매우 짧은 10Gbps 정도의 빠른 네트워크가 필요할 때

cluster로 동일한 랙에 배치한다.

 

하지만 단점으로는 랙(하드웨어)에 실패가 발생했을때

모든 EC2 인스턴스가 동시에 실패한다는 것이다.

 

이런 리스크를 감수할 만큼 짧은 지연시간을 요구하는 애플리케이션이나

빅데이터 작업에 사용된다.

 

Spread

spread의 경우 cluster와 완전히 반대이다.

실패 위험을 최소화 하기 위해

여러 AZ에 걸쳐 모든 EC2 인스턴스가 다른 하드웨어에 위치하게 된다.

 

이렇게 한 장점은 여러 AZ에 걸쳐 있어 동시 실패의 위험이 감소한다.

하나의 AZ 더라도 각각 다른 하드웨어에 위치하기 때문에

하드웨어1이 실패하더라도 하드웨어2는 별개로 동작하기 때문이다.

 

단점으로는 AZ당 7개의 인스턴스로 제한이 있다.

placement groups 규모에 제한이 있다는 것이다.

그래서 크기가 큰 규모에서는 사용할 수 없고

크기가 적당하고 가용성을 극대화 하고 위험을 줄여야하는 애플리케이션에 적합하다.

일반적으로 인스턴스 오류를 서로 격리해야 하는 크리티컬 애플리케이션이 있다.

 

Partition

partition은 하나의 랙이라고 보면 된다.

AZ는 최대 7개의 파티션이 있을 수 있다.

그리고 각 파티션에는 수백개의 EC2의 인스턴스를 넣을 수도 있다.

 각 파티션은 물리적으로 랙을 공유하지 않으므로 실패로 부터 격리된다.

즉, 파티션1이 실패되어도 파티션2는 별개로 동작한다.

 

그리고 이러한 EC2 인스턴스가 어떤 파티션에 있는지 알기 위해 메타데이터 서비스를 사용하여

이 정보에 액세스 하는 옵션이 있다.

 

파티션 전반에 걸쳐 데이터와 서버를 퍼뜨리기 때문에

파티션을 인식 가능한 애플리케이션에 사용된다.

일반적으로 HDFS, HBase, Cassandra, Kafka 를 사용하여

파티션을 인식하는 빅 데이터 애플리케이션에 사용된다.

 

'IT > AWS' 카테고리의 다른 글

EC2 Hibernate  (0) 2023.03.23
Elastic Network Interfaces (ENI)  (0) 2023.03.23
AWS EC2  (0) 2023.03.22
AWS IAM 요약  (0) 2023.03.22
AWS IAM Security Tools  (0) 2023.03.22