배치 그룹을 위한 배치 전략

배치 그룹을 위한 배치 전략

다음 배치 전략 중 하나를 사용해 EC2 인스턴스용 **배치 그룹(placement group)**을 만들 수 있어요.

출처: 문서

본문

배치 전략 (Placement strategies)

  • Cluster 배치 그룹
  • Partition 배치 그룹
  • Spread 배치 그룹
  • Precision time 배치 그룹

Cluster 배치 그룹

Cluster 배치 그룹은 단일 가용 영역 안의 인스턴스에 대한 논리적 그룹화예요. 인스턴스는 단일 랙으로 격리되지 않습니다. Cluster 배치 그룹은 같은 리전의 **피어링된 가상 프라이빗 네트워크(VPC)**를 걸쳐 확장될 수 있어요. 같은 Cluster 배치 그룹의 인스턴스는 TCP/IP 트래픽에 대해 더 높은 흐름당 처리량 한도를 누리고, 네트워크의 같은 고등분할 대역폭(high-bisection bandwidth) 세그먼트에 배치됩니다.

다음 이미지는 Cluster 배치 그룹에 배치된 인스턴스를 보여줘요.

Cluster 배치 그룹은 낮은 네트워크 지연 시간, 높은 네트워크 처리량, 또는 둘 다의 이점을 얻는 애플리케이션에 권장됩니다. 또한 그룹 내 인스턴스 간 네트워크 트래픽이 대부분인 경우에도 권장돼요. 배치 그룹에 가장 낮은 지연 시간과 가장 높은 초당 패킷 수 네트워크 성능을 제공하려면 Enhanced networking을 지원하는 인스턴스 유형을 선택하세요. 자세한 내용은 Enhanced Networking 문서를 참고하세요.

Cluster 배치 그룹을 만들 때 부모 precision time 배치 그룹을 지정하면, Cluster 배치 그룹에서 실행된 인스턴스가 precision time 기능이 있는 하드웨어에 배치되도록 할 수 있어요. Cluster 배치 그룹을 만들 때 --parent-group-id 파라미터를 사용해 이 관계를 설정합니다.

인스턴스를 다음과 같은 방식으로 실행할 것을 권장합니다.

  • 단일 실행 요청을 사용해 배치 그룹에 필요한 수의 인스턴스를 실행합니다.
  • 배치 그룹의 모든 인스턴스에 같은 인스턴스 유형을 사용합니다.

나중에 배치 그룹에 인스턴스를 더 추가하려 하거나, 배치 그룹에 둘 이상의 인스턴스 유형을 실행하려 하면 **용량 부족 오류(insufficient capacity error)**가 발생할 가능성이 커져요.

배치 그룹의 인스턴스를 중지한 후 다시 시작해도 여전히 배치 그룹에서 실행됩니다. 단, 인스턴스를 위한 충분한 용량이 없으면 시작이 실패합니다.

이미 실행 중인 인스턴스가 있는 배치 그룹에서 인스턴스를 실행할 때 용량 오류가 발생하면, 배치 그룹의 모든 인스턴스를 중지하고 시작한 다음 실행을 다시 시도하세요. 인스턴스를 시작하면 요청된 모든 인스턴스를 위한 용량이 있는 하드웨어로 마이그레이션될 수 있어요.

규칙과 제한 (Rules and limitations)

Cluster 배치 그룹에는 다음 규칙이 적용됩니다.

  • 다음 인스턴스 유형이 지원됩니다.
    • 현재 세대 인스턴스(버스터블 성능 인스턴스(예: T2), Mac1 인스턴스, M7i-flex 인스턴스 제외).
    • 다음 이전 세대 인스턴스: A1, C3, C4, I2, M4, R3, R4.
  • Cluster 배치 그룹은 여러 가용 영역을 걸쳐 확장될 수 없습니다.
  • Cluster 배치 그룹의 두 인스턴스 간 트래픽의 최대 네트워크 처리량 속도는 두 인스턴스 중 더 느린 쪽에 의해 제한됩니다. 높은 처리량 요구사항이 있는 애플리케이션에는 요구사항을 충족하는 네트워크 연결이 있는 인스턴스 유형을 선택하세요.
  • Enhanced networking이 활성화된 인스턴스에는 다음 규칙이 적용됩니다.
    • Cluster 배치 그룹 내 인스턴스는 단일 흐름 트래픽에 최대 10Gbps를 사용할 수 있어요. Cluster 배치 그룹에 없는 인스턴스는 단일 흐름 트래픽에 최대 5Gbps를 사용할 수 있습니다.
    • 퍼블릭 IP 주소 공간 또는 VPC 엔드포인트를 통해 같은 리전의 Amazon S3 버킷으로/로부터 오가는 트래픽은 사용 가능한 모든 인스턴스 총 대역폭을 사용할 수 있어요.
  • Cluster 배치 그룹에 여러 인스턴스 유형을 실행할 수 있습니다. 단, 이렇게 하면 실행 성공에 필요한 용량이 사용 가능할 가능성이 줄어듭니다. Cluster 배치 그룹의 모든 인스턴스에 같은 인스턴스 유형을 사용할 것을 권장합니다.
  • Cluster 배치 그룹에 On-Demand Capacity Reservation을 만들어 배치 그룹에서 용량을 명시적으로 예약할 것을 권장합니다. zonal Reserved Instances로는 용량을 예약할 수 없습니다. 배치 그룹에서 용량을 명시적으로 예약할 수 없기 때문이에요.
  • Capacity Blocks는 배치 그룹을 지원하지 않습니다. 자세한 내용은 Capacity Blocks for ML 문서를 참고하세요.
  • 클러스터 배치 그룹의 인터넷 및 Direct Connect 연결을 통한 온프레미스 리소스로의 네트워크 트래픽은 5Gbps로 제한됩니다.

Partition 배치 그룹

Partition 배치 그룹은 애플리케이션의 상관된 하드웨어 장애(correlated hardware failures) 가능성을 줄이는 데 도움을 줍니다. Partition 배치 그룹을 사용하면 Amazon EC2가 각 그룹을 파티션(partition) 이라고 하는 논리적 세그먼트로 나눕니다. Amazon EC2는 배치 그룹 내 각 파티션이 자체 랙 집합을 가짐을 보장합니다. 각 랙은 자체 네트워크와 전원을 가집니다. 배치 그룹 내 두 파티션은 같은 랙을 공유하지 않으므로, 애플리케이션 내에서 하드웨어 장애의 영향을 격리할 수 있어요.

다음 이미지는 단일 가용 영역의 Partition 배치 그룹을 단순 시각화한 것입니다. Partition 1, Partition 2, Partition 3이라는 세 개의 파티션이 있는 Partition 배치 그룹에 배치된 인스턴스를 보여줍니다. 각 파티션은 여러 인스턴스로 구성됩니다. 한 파티션의 인스턴스는 다른 파티션의 인스턴스와 랙을 공유하지 않으므로, 단일 하드웨어 장애의 영향을 관련 파티션에만 국한시킬 수 있어요.

Partition 배치 그룹은 HDFS, HBase, Cassandra 같은 대규모 분산 및 복제 워크로드를 서로 다른 랙에 배포하는 데 사용할 수 있어요. Partition 배치 그룹에 인스턴스를 실행하면 Amazon EC2가 지정한 파티션 수에 걸쳐 인스턴스를 균등하게 분산하려 시도합니다. 인스턴스가 배치되는 위치를 더 잘 제어하려면 특정 파티션에 인스턴스를 실행할 수도 있어요.

Partition 배치 그룹은 같은 리전의 여러 가용 영역에 파티션을 가질 수 있습니다. Partition 배치 그룹은 가용 영역당 최대 7개의 파티션을 가질 수 있어요. Partition 배치 그룹에 실행할 수 있는 인스턴스 수는 계정 한도에 의해서만 제한됩니다.

또한 Partition 배치 그룹은 파티션에 대한 가시성을 제공합니다 — 어떤 인스턴스가 어떤 파티션에 있는지 볼 수 있어요. 이 정보를 HDFS, HBase, Cassandra 같은 토폴로지 인식 애플리케이션과 공유할 수 있습니다. 이러한 애플리케이션은 이 정보를 사용해 데이터 가용성과 내구성을 높이기 위한 지능적인 데이터 복제 결정을 내려요.

Partition 배치 그룹에서 인스턴스를 시작하거나 실행할 때 요청을 충족할 충분한 고유 하드웨어가 없으면 요청이 실패합니다. Amazon EC2는 시간이 지나면서 더 많은 고유 하드웨어를 사용 가능하게 하므로, 나중에 요청을 다시 시도할 수 있어요.

규칙과 제한 (Rules and limitations)

Partition 배치 그룹에는 다음 규칙이 적용됩니다.

  • Partition 배치 그룹은 가용 영역당 최대 7개의 파티션을 지원합니다. Partition 배치 그룹에 실행할 수 있는 인스턴스 수는 계정 한도에 의해서만 제한됩니다.
  • Partition 배치 그룹에 인스턴스를 실행하면 Amazon EC2가 모든 파티션에 걸쳐 인스턴스를 균등하게 분산하려 시도합니다. Amazon EC2는 모든 파티션에 걸친 인스턴스의 균등 분산을 보장하지 않습니다.
  • Dedicated Instances가 있는 Partition 배치 그룹은 최대 2개의 파티션을 가질 수 있어요.
  • Capacity Reservations는 Partition 배치 그룹에서 용량을 예약하지 않습니다.

Spread 배치 그룹

Spread 배치 그룹은 각 인스턴스가 서로 다른 하드웨어에 배치되는 인스턴스 그룹이에요.

Spread 배치 그룹은 서로 분리되어 유지해야 하는 소수의 중요한 인스턴스가 있는 애플리케이션에 권장됩니다. Spread 배치 그룹에서 인스턴스를 실행하면 인스턴스가 같은 장비를 공유할 때 발생할 수 있는 동시 장애의 위험을 줄여줍니다. Spread 배치 그룹은 서로 다른 하드웨어에 대한 접근을 제공하므로, 인스턴스 유형을 혼합하거나 시간이 지나며 인스턴스를 점진적으로 실행하는 데 적합해요.

Spread 배치 그룹에서 인스턴스를 시작하거나 실행할 때 요청을 충족할 충분한 고유 하드웨어가 없으면 요청이 실패합니다. Amazon EC2는 시간이 지나면서 더 많은 고유 하드웨어를 사용 가능하게 하므로, 나중에 요청을 다시 시도할 수 있어요.

Spread 배치 그룹은 랙 또는 호스트에 걸쳐 인스턴스를 퍼뜨릴 수 있어요. 자세한 내용은 Placement groups on AWS Outposts 문서를 참고하세요.

다음 이미지는 단일 가용 영역의 Spread 배치 그룹에 있는 7개의 인스턴스를 보여줘요. 각 인스턴스는 서로 다른 랙에 배치되며, 각 랙은 자체 네트워크와 전원을 가집니다.

규칙과 제한 (Rules and limitations)

Spread 배치 그룹에는 다음 규칙이 적용됩니다.

  • 랙 수준(rack-level) Spread 배치 그룹은 AWS 리전과 AWS Outposts에서 지원됩니다.
  • 호스트 수준(host-level) Spread 배치 그룹은 AWS Outposts에서만 지원됩니다.
  • 랙 수준 Spread 배치 그룹은 같은 리전의 여러 가용 영역을 걸쳐 확장될 수 있지만, 각 가용 영역에서 최대 7개의 실행 중인 인스턴스를 지원합니다.
  • 예를 들어 세 개의 가용 영역이 있는 리전에서 Spread 배치 그룹에 총 21개 인스턴스를 실행할 수 있으며, 각 가용 영역에 7개 인스턴스가 있습니다. 이미 7개 인스턴스가 있는 가용 영역에서 8번째 인스턴스를 시작하려 하면 인스턴스가 실행되지 않습니다.
  • 가용 영역에 7개보다 많은 인스턴스가 필요하다면 여러 개의 Spread 배치 그룹을 사용할 것을 권장합니다. 여러 Spread 배치 그룹을 사용한다고 해서 인스턴스가 그룹 간에 퍼지는 것이 보장되지는 않지만, 각 그룹 내에서는 퍼지도록 보장되어 특정 클래스의 장애 영향을 제한합니다.
  • AWS Outposts에서 랙 수준 Spread 배치 그룹은 Outpost 배포에 있는 랙 수만큼 인스턴스를 담을 수 있고, 호스트 수준 Spread 배치 그룹은 호스트 수만큼 인스턴스를 담을 수 있어요.
  • Dedicated Instances에는 Spread 배치 그룹이 지원되지 않습니다.
  • Capacity Reservations는 Spread 배치 그룹에서 용량을 예약하지 않습니다.

Precision time 배치 그룹

Precision time 배치 그룹은 인스턴스를 AWS 인프라의 고정밀 시간 소스에 직접 접근할 수 있는 지원 하드웨어에 배치합니다. Precision time 배치 그룹에서 실행된 인스턴스는 모든 Amazon EC2 인스턴스에 제공되는 표준 로컬 NTP 엔드포인트보다 더 높은 정확도의 로컬 시간 소스를 제공하는 향상된 Amazon Time Sync Service에 접근할 수 있어요.

Precision time 배치 그룹은 마이크로초 정확도의 클록 동기화가 필요한 애플리케이션에 권장됩니다. 예를 들어 트랜잭션 순서와 일관성을 요구하는 분산 데이터베이스, 정밀 타임스탬프를 요구하는 금융 서비스, 로컬 클록 판독값을 사용해 이벤트 순서를 매기는 분산 시스템이 있습니다.

Precision time 배치 그룹의 인스턴스는 다음 이점을 누립니다.

  • 추가 구성 없이 모든 지원 운영 체제에서 사용할 수 있는 정확도가 향상된 로컬 NTP 시간 소스.
  • (Linux 인스턴스만) 마이크로초 정확도의 동기화를 위한 PTP 하드웨어 클록(PHC) 장치에 대한 접근.
  • (Linux 인스턴스만) 나노초 해상도의 네트워크 측정을 위한 하드웨어 패킷 타임스탬핑.

향상된 시간 소스를 사용하도록 인스턴스를 구성하는 방법은 Set the time reference on your EC2 instance to use the local Amazon Time Sync Service 문서를 참고하세요.

Precision time 배치 그룹에는 다음 규칙이 적용됩니다.

  • 현재 지원되는 인스턴스 패밀리 목록은 Set the time reference on your EC2 instance to use the local Amazon Time Sync Service 문서를 참고하세요.
  • Precision time 배치 그룹에서 인스턴스를 시작하거나 실행할 때 향상된 Amazon Time Sync Service에 대한 접근을 제공할 충분한 하드웨어가 없으면 요청이 실패합니다. 나중에 다시 시도하거나 다른 가용 영역을 시도하세요.
  • Cluster 배치 그룹의 부모인 Precision time 배치 그룹은 삭제할 수 없습니다.
  • Precision time 배치 그룹 사용에는 추가 비용이 없습니다.

더 알아보기 (Learn more)