본문으로 건너뛰기

PlacementGroups

1 AWS EC2 Placement Groups 상세 가이드

  • AWS EC2(Elastic Compute Cloud)에서 Placement Groups는 인스턴스 배치 전략을 제어할 수 있는 기능입니다.
  • 이 기능을 사용하면 애플리케이션의 요구사항에 따라 EC2 인스턴스들을 특정 방식으로 그룹화할 수 있습니다.
  • Placement Groups를 사용하면 성능 최적화, 고가용성 확보, 하드웨어 장애 위험 감소 등 다양한 이점을 얻을 수 있습니다.

2 Placement Groups의 종류

  • AWS EC2는 세 가지 유형의 Placement Groups를 제공합니다:
    1. Cluster Placement Groups
    2. Spread Placement Groups
    3. Partition Placement Groups
  • 각 유형은 고유한 특징과 장단점을 가지고 있어, 다양한 사용 사례에 적용할 수 있습니다.

3 Cluster Placement Groups

  • Cluster Placement Groups는 단일 가용 영역 내에서 인스턴스들을 긴밀하게 묶어 놓는 전략입니다.
  • 이 전략의 주요 특징은 다음과 같습니다:
    • 모든 인스턴스가 동일한 가용 영역(AZ) 내에 위치합니다.
    • 인스턴스 간 네트워크 성능이 매우 우수합니다(10 Gbps 대역폭).
    • 낮은 지연 시간(Low Latency)을 제공합니다.
  • 장점:
    • Enhanced Networking이 활성화된 경우, 인스턴스 간 10 Gbps의 높은 대역폭을 제공합니다.
    • 인스턴스 간 매우 낮은 지연 시간을 보장합니다.
  • 단점:
    • 해당 가용 영역에 장애가 발생하면 모든 인스턴스가 동시에 영향을 받을 수 있습니다.
  • 사용 사례:
    • 빠른 완료가 필요한 대규모 데이터 처리 작업
    • 매우 낮은 지연 시간과 높은 네트워크 처리량이 필요한 애플리케이션

4 Spread Placement Groups

  • Spread Placement Groups는 인스턴스들을 물리적으로 분산시키는 전략입니다.
  • 이 전략의 주요 특징은 다음과 같습니다:
    • 인스턴스들이 서로 다른 물리적 하드웨어에 배치됩니다.
    • 여러 가용 영역에 걸쳐 인스턴스를 배치할 수 있습니다.
    • 각 가용 영역당 최대 7개의 인스턴스로 제한됩니다.
  • 장점
    • 가용 영역(AZ) 전체에 걸쳐 인스턴스를 분산시킬 수 있습니다.
    • 동시 장애 위험이 크게 감소합니다.
    • 각 EC2 인스턴스가 서로 다른 물리적 하드웨어에 위치합니다.
  • 단점:
    • 가용 영역당 최대 7개의 인스턴스로 제한되어 대규모 배포에는 적합하지 않을 수 있습니다.
  • 사용 사례:
    • 고가용성을 최대화해야 하는 애플리케이션
    • 각 인스턴스가 서로의 장애로부터 격리되어야 하는 중요 애플리케이션

5 Partition Placement Groups

  • Partition Placement Groups는 인스턴스들을 논리적 파티션으로 그룹화하는 전략입니다.
  • 이 전략의 주요 특징은 다음과 같습니다:
    • 각 파티션은 자체 랙 세트에 의존합니다.
    • 가용 영역당 최대 7개의 파티션을 가질 수 있습니다.
    • 여러 가용 영역에 걸쳐 확장할 수 있습니다.
    • 각 파티션 내에서 수많은 EC2 인스턴스를 호스팅할 수 있습니다.
  • 장점:
    • 대규모 분산 및 복제 워크로드에 적합합니다.
    • 파티션 간 하드웨어 공유가 없어 장애 격리가 가능합니다.
    • EC2 인스턴스가 파티션 정보를 메타데이터로 접근할 수 있습니다.
  • 단점:
    • 파티션 장애 시 해당 파티션의 많은 EC2 인스턴스가 영향을 받을 수 있습니다.
  • 사용 사례:
    • HDFS, HBase, Cassandra, Kafka 등 대규모 분산 데이터베이스 시스템

6 Spread와 Partition의 주요 차이점

  • 분산 방식:
    • Spread: 각 인스턴스가 개별적으로 분산됩니다.
    • Partition: 인스턴스들이 파티션 단위로 그룹화되어 분산됩니다.
  • 인스턴스 수 제한:
    • Spread: 가용 영역당 최대 7개의 인스턴스로 제한됩니다.
    • Partition: 각 파티션 내에 수많은 인스턴스를 호스팅할 수 있습니다.
  • 장애 격리:
    • Spread: 각 인스턴스가 독립적으로 격리되어 있습니다.
    • Partition: 파티션 단위로 장애가 격리됩니다.
  • 사용 사례:
    • Spread: 소규모의 중요한 애플리케이션에 적합합니다.
    • Partition: 대규모 분산 시스템에 적합합니다.

7 예시

  • 주어진 시나리오:
    • 10개의 Amazon EC2 인스턴스를 배포해야 합니다.
    • 애플리케이션은 고가용성을 유지해야 합니다.
    • 인스턴스들은 서로 다른 물리적 하드웨어에 배치되어야 합니다.
  • 해결책: Spread Placement Group 사용
    • Spread Placement Group은 인스턴스들을 서로 다른 물리적 하드웨어에 배치합니다.
    • 고가용성을 제공하며, 하드웨어 장애의 영향을 최소화합니다.
    • 10개의 인스턴스를 배포하기 위해서는 최소 2개의 가용 영역이 필요합니다.
    • 각 가용 영역당 최대 7개의 인스턴스 제한이 있으므로
  • 구현 단계:
    1. 최소 2개의 가용 영역을 선택합니다.
    2. Spread Placement Group을 생성합니다.
    3. 10개의 EC2 인스턴스를 생성할 때 이 Spread Placement Group을 지정합니다.
    4. AWS가 자동으로 인스턴스들을 서로 다른 물리적 하드웨어에 분산 배치합니다.

8 결론

  • AWS EC2 Placement Groups는 인스턴스 배치 전략을 세밀하게 제어할 수 있는 강력한 도구입니다.
  • Cluster, Spread, Partition 전략을 통해 다양한 사용 사례에 대응할 수 있습니다.
  • Spread와 Partition의 주요 차이점을 이해하고 적절히 선택하는 것이 중요합니다.
  • 주어진 시나리오에서는 Spread Placement Group이 요구사항을 가장 잘 충족시킬 수 있습니다.
  • Placement Groups를 효과적으로 활용하려면 각 전략의 특징과 제한사항을 잘 이해하고 애플리케이션 요구사항에 맞게 적용해야 합니다.