Amazon Elastic Compute Cloud
Linux 인스턴스용 사용 설명서

배치 그룹

새 EC2 인스턴스를 시작하면 EC2 서비스는 모든 인스턴스가 기본 하드웨어 전반에 분산되도록 하여 상호 관련 오류의 위험을 줄입니다. 그러나 배치 그룹을 사용하면 워크로드의 요구 사항을 충족하도록 하는 독립적 인스턴스의 그룹의 배치에 영향을 줄 수 있습니다. 워크로드의 유형에 따라 다음 배치 전략 중 하나를 사용하여 배치 그룹을 생성할 수 있습니다.

  • 클러스터 – 인스턴스를 가용 영역 안에 서로 근접하게 패킹합니다. 이 전략은 워크로드가 HPC 애플리케이션에서 일반적인 긴밀히 결합된 노드 간 통신에 필요한 낮은 지연 시간의 네트워크 성능을 달성할 수 있습니다.

  • 파티션 – 인스턴스를 논리적 파티션에 분산해, 한 파티션에 있는 인스턴스 그룹이 다른 파티션의 인스턴스 그룹과 기본 하드웨어를 공유하지 않게 합니다. 이 전략은 일반적으로 Hadoop, Cassandra, Kafka 등 대규모의 분산 및 복제된 워크로드에 필요합니다.

  • 분산 – 소규모의 인스턴스 그룹을 다른 기본 하드웨어로 분산하여 상호 관련 오류를 줄입니다.

배치 그룹 생성은 무료입니다.

클러스터 배치 그룹

클러스터 배치 그룹은 단일 가용 영역 내에 있는 인스턴스의 논리적 그룹입니다. 배치 그룹은 동일한 리전의 피어링된 VPC에 걸쳐 적용될 수 있습니다. 클러스터 배치 그룹의 주요 이점으로는 10Gbps 흐름 제한 외에도 연결의 비차단, 비공급 추가, 완전 분기형 속성이 있습니다. 즉, 배치 그룹 내에 있는 모든 노드는 10Gbps의 라인 속도와 초과 공급으로 인한 속도 저하 없이 총 100Gbps의 속도로 배치 그룹 내에 있는 모든 다른 노드와 통신할 수 있습니다.

다음 이미지는 클러스터 배치 그룹에 배치되는 인스턴스를 보여줍니다.


                클러스터 배치 그룹

클러스터 배치 그룹은 네트워크 트래픽의 다수가 그 그룹 내 인스턴스 간에 발생할 경우 짧은 네트워크 지연 시간, 높은 네트워크 처리량 또는 둘 다의 이점을 활용할 수 있는 애플리케이션에 권장됩니다. 배치 그룹에 가장 짧은 지연 시간과 가장 높은 초당 패킷 네트워크 성능을 제공하려면 향상된 네트워킹을 지원하는 인스턴스 유형을 선택하십시오. 자세한 내용은 향상된 네트워킹을 참조하십시오.

단일 시작 요청의 배치 그룹에서 인스턴스를 필요한 수만큼 시작하고 배치 그룹의 모든 인스턴스에 대해 동일한 인스턴스 유형을 사용하는 것이 좋습니다. 나중에 배치 그룹에 인스턴스를 더 추가하거나 배치 그룹에서 두 가지 이상의 인스턴스 유형을 시작하려고 하면 용량 부족 오류가 발생할 가능성이 커집니다.

배치 그룹의 인스턴스를 중지한 후 다시 시작하면 인스턴스가 계속 배치 그룹에서 실행됩니다. 그러나 인스턴스에 대해 용량이 부족한 경우 시작에 실패합니다.

이미 인스턴스를 실행한 배치 그룹의 인스턴스를 시작할 때 용량 오류가 발생하는 경우, 배치 그룹의 모든 인스턴스를 중지하고 시작한 후 다시 실행해 보십시오. 인스턴스를 다시 시작하면 요청한 모든 인스턴스를 수용할 용량이 있는 하드웨어로 인스턴스가 마이그레이션될 수 있습니다.

파티션 배치 그룹

파티션 배치 그룹은 애플리케이션에 대한 상관 관계가 있는 하드웨어 장애 가능성을 줄이는 데 도움이 됩니다. 파티션 배치 그룹을 사용할 때 Amazon EC2는 각 그룹을 파티션이라고 하는 논리 세그먼트로 나눕니다. Amazon EC2는 배치 그룹 내 각 파티션에 자체 랙 세트가 있는지 확인합니다. 각 랙은 자체 네트워크 및 전원이 있습니다. 배치 그룹 내 두 파티션이 동일한 랙을 공유하지 않으므로 애플리케이션 내 하드웨어 장애의 영향을 격리시킬 수 있습니다.

다음 이미지는 단일 가용 영역에 있는 파티션 배치 그룹을 시각적으로 간단하게 표현한 것입니다. 여기서는 세 개의 파티션인 파티션 1, 파티션 2파티션 3이 있는 파티션 배치 그룹에 배치된 인스턴스를 보여줍니다. 각 파티션은 여러 인스턴스로 구성됩니다. 각 파티션에 있는 인스턴스는 다른 파티션에 있는 인스턴스와 랙을 공유하지 않기 때문에 단일 하드웨어 장애의 영향을 관련 파티션으로만 국한할 수 있습니다.


                파티션 3개가 있는 파티션 배치 그룹

파티션 배치 그룹은 HDFS, HBase, Cassandra 같은 대규모 분산 및 복제 워크로드를 별개의 랙으로 분산해 배포하는 데 사용될 수 있습니다. 인스턴스를 파티션 배치 그룹으로 시작하면 Amazon EC2는 사용자가 지정한 수의 파티션에 인스턴스를 균일하게 배포합니다. 인스턴스를 특정 파티션으로 시작하면 인스턴스가 배치되는 위치에 대한 제어를 강화할 수도 있습니다.

파티션 배치 그룹은 동일한 리전의 여러 가용 영역에서 파티션을 가질 수 있습니다. 파티션 배치 그룹은 가용 영역당 파티션을 최대 7개까지 가질 수 있습니다. 파티션 배치 그룹에서 실행할 수 있는 인스턴스 숫자는 계정 제한의 적용을 받습니다.

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

하나의 파티션 배치 그룹에서 하나의 인스턴스를 시작하고 요청을 이행하기 위한 고유의 하드웨어가 충분하지 않은 경우에는 요청이 실패합니다. Amazon EC2에서는 시간이 지나면서 더 많은 고유 하드웨어를 사용할 수 있기 때문에 나중에 다시 요청을 시도할 수 있습니다.

분산형 배치 그룹

분산형 배치 그룹은 각각 고유한 랙에 배치된 인스턴스 그룹이며 랙마다 자체 네트워크 및 전원이 있습니다.

다음 이미지는 분산형 배치 그룹에 배치되는 단일 가용 영역에 있는 인스턴스 7개를 보여줍니다. 7개의 인스턴스는 7개의 서로 다른 랙에 배치됩니다.


                분산형 배치 그룹

서로 떨어져 있어야 하는 중요 인스턴스의 수가 적은 애플리케이션에서는 분산형 배치 그룹이 권장됩니다. 분산형 배치 그룹에서 인스턴스를 시작하면 인스턴스가 동일한 랙을 공유할 때 장애가 동시에 발생할 수 있는 위험이 줄어듭니다. 분산형 배치 그룹은 별개의 랙에 대한 액세스를 제공하기 때문에 시간에 따라 인스턴스를 시작하거나 인스턴스 유형을 혼합할 때 적합합니다.

분산형 배치 그룹은 동일한 리전의 여러 가용 영역에 적용될 수 있습니다. 그룹당 가용 영역별로 최대 7개의 실행 중인 인스턴스를 가질 수 있습니다.

하나의 분산형 배치 그룹에서 하나의 인스턴스를 시작하고 요청을 이행하기 위한 고유의 하드웨어가 충분하지 않은 경우에는 요청이 실패합니다. Amazon EC2에서는 시간이 지나면서 더 많은 고유 하드웨어를 사용할 수 있기 때문에 나중에 다시 요청을 시도할 수 있습니다.

배치 그룹 규칙 및 제한 사항

일반 규칙 및 제한 사항

배치 그룹을 사용하기 전에 다음 규칙에 유의해야 합니다.

  • 배치 그룹에 지정하는 이름은 해당 리전의 AWS 계정 내에서 고유해야 합니다.

  • 여러 배치 그룹을 병합할 수는 없습니다.

  • 인스턴스는 한 번에 하나의 배치 그룹에서 시작될 수 있습니다. 여러 배치 그룹으로 확장될 수 없습니다.

  • 온디맨드 용량 예약영역 예약 인스턴스에서는 특정 가용 영역의 EC2 인스턴스에 용량 예약을 제공합니다. 용량 예약은 배치 그룹 내 인스턴스에서 사용이 가능합니다. 하지만 배치 그룹에 대한 용량을 명시적으로 예약할 수는 없습니다.

  • 테넌시가 host인 인스턴스는 배치 그룹에서 시작할 수 없습니다.

클러스터 배치 그룹 규칙 및 제한 사항

클러스터 배치 그룹에는 다음 규칙이 적용됩니다.

  • 인스턴스를 클러스터 배치 그룹으로 시작할 때는 다음과 같은 인스턴스 유형만 사용할 수 있습니다.

    • 범용: A1, M4, M5, M5a, M5ad, M5d, M5dn 및 M5n

    • 최적화된 컴퓨팅: C3, C4, C5, C5d, C5n 및 cc2.8xlarge

    • 메모리 최적화: cr1.8xlarge, R3, R4, R5, R5a, R5ad, R5d, R5dn, R5n, X1, X1e 및 z1d

    • 스토리지 최적화: D2, H1, hs1.8xlarge, I2, I3 및 I3en

    • 액셀러레이티드 컴퓨팅: F1, G2, G3, G4dn, P2, P3 및 P3dn

  • 클러스터 배치 그룹은 여러 가용 영역을 포괄할 수 없습니다.

  • 두 인스턴스의 속도가 느려지면 한 클러스터 배치 그룹에 있는 두 인스턴스 간에 트래픽의 최대 네트워크 처리 속도도 느려집니다. 많은 양을 처리해야 하는 애플리케이션의 경우, 요구 사항을 충족하는 네트워크 연결을 지원하는 인스턴스 유형을 선택하십시오.

  • 향상된 네트워킹을 지원하는 인스턴스에는 다음 규칙이 적용됩니다.

    • 클러스터 배치 그룹 내부의 인스턴스는 단일 흐름 트래픽에 최대 10Gbps를 사용할 수 있습니다. 클러스터 배치 그룹 외부의 인스턴스는 단일 흐름 트래픽에 최대 5Gbps를 사용할 수 있습니다.

    • 동일한 리전 내에서 퍼블릭 IP 주소 공간이나 VPC 엔드포인트를 통해 Amazon S3 버킷과 주고받는 트래픽은 사용 가능한 인스턴스 집계 대역폭을 전부 사용할 수 있습니다.

  • 하나의 클러스터 배치 그룹으로 여러 인스턴스 유형을 시작할 수 있습니다. 그러나 이렇게 하면 시작에 성공하는 데 필요한 용량이 원활하게 제공될 가능성이 낮아집니다. 클러스터 배치 그룹의 모든 인스턴스에 동일한 인스턴스 유형을 사용하는 것이 좋습니다.

  • 인터넷으로 가는 네트워크 트래픽과 AWS Direct Connect 연결을 통해 온프레미스 리소스로 가는 네트워크 트래픽은 5Gbps로 제한됩니다.

파티션 배치 그룹 규칙 및 제한 사항

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

  • 파티션 배치 그룹은 가용 영역당 파티션을 최대 7개까지 지원합니다. 파티션 배치 그룹에서 실행할 수 있는 인스턴스 숫자는 계정 제한의 적용을 받습니다.

  • 인스턴스를 파티션 배치 그룹으로 시작하면 Amazon EC2는 인스턴스를 모든 파티션에 균일하게 배포합니다. Amazon EC2는 모든 파티션에 대한 균일한 인스턴스 배포를 보장하지 않습니다.

  • 전용 인스턴스가 있는 파티션 배치 그룹은 파티션을 최대 2개까지 가질 수 있습니다.

  • 파티션 배치 그룹은 전용 호스트에서는 지원되지 않습니다.

분산형 배치 그룹 규칙 및 제한 사항

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

  • 분산형 배치 그룹은 각 그룹의 가용 영역당 실행 인스턴스를 최대 7개까지 지원합니다. 예를 들어 가용 영역이 세 개인 리전에서는 그룹에서 총 21개의 실행 인스턴스를 실행할 수 있습니다(영역당 7개). 동일한 가용 영역과 동일한 분산 배치 그룹에서 여덟 번째 인스턴스를 시작하면 그 인스턴스는 시작되지 않습니다. 가용 영역에 인스턴스가 여덟 개 이상 있어야 하며, 분산 배치 그룹을 여러 개 사용할 것을 권장합니다. 이렇게 해도 인스턴스가 그룹 간에 분산된다고 보장할 수는 없지만, 각 그룹에 분산함으로써 특정한 실패 클래스의 영향을 제한할 수는 있습니다.

  • 분산형 배치 그룹은 전용 인스턴스 또는 전용 호스트에서 지원되지 않습니다.

배치 그룹 생성

Amazon EC2 콘솔 또는 명령줄을 사용하여 배치 그룹을 생성할 수 있습니다.

파티션 그룹을 생성하려면(콘솔)

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 배치 그룹배치 그룹 생성을 차례로 선택합니다.

  3. 그룹의 이름을 지정합니다.

  4. 그룹의 전략을 선택합니다. 파티션을 선택하는 경우 그룹 내 파티션 수를 지정합니다.

  5. Create를 선택합니다.

배치 그룹을 생성하려면(명령줄)

파티션 배치 그룹을 생성하려면(AWS CLI)

  • create-placement-group 명령어를 이용하고 --strategy 파라미터를 partition 값과 --partition-count 파라미터로 지정하십시오. 이 예제에서 파티션 배치 그룹은 이름이 HDFS-Group-A이며 파티션 5개로 생성됩니다.

    aws ec2 create-placement-group --group-name HDFS-Group-A --strategy partition --partition-count 5

배치 그룹으로 인스턴스 시작

배치 그룹으로 시작할 인스턴스에 대한 전용 AMI를 생성할 수 있습니다. 이를 위해 인스턴스를 시작하고 해당 인스턴스에 필요한 소프트웨어와 애플리케이션을 설치합니다. 그런 다음, 인스턴스에서 AMI를 생성합니다. 자세한 내용은 Amazon EBS 지원 Linux AMI 생성 단원을 참조하십시오.

인스턴스를 배치 그룹으로 시작하려면(콘솔)

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 인스턴스를 선택합니다.

  3. [Launch Instance]를 선택합니다. 마법사의 안내에 따라 다음 작업을 주의하여 수행하십시오.

    • Amazon Machine Image(AMI) 선택 페이지에서 AMI를 선택합니다. 생성한 AMI를 선택하려면 나의 AMI를 선택합니다.

    • 인스턴스 유형 선택 페이지에서 배치 그룹으로 실행할 인스턴스 유형을 선택합니다.

    • 인스턴스 세부 정보 구성 페이지에서 배치 그룹에 다음 필드를 적용할 수 있습니다.

      • 나중에 배치 그룹에 인스턴스를 추가하지 못할 수 있으므로 인스턴스 개수에 이 배치 그룹에서 필요한 총 인스턴스 개수를 입력합니다.

      • 배치 그룹에서 배치 그룹에 인스턴스를 추가합니다. 확인란을 선택합니다. 이 페이지에 배치 그룹이 표시되지 않으면 배치 그룹으로 시작할 수 있는 인스턴스 유형을 선택했는지 확인합니다. 그렇지 않으면 이 옵션을 사용할 수 없습니다.

      • 배치 그룹 이름에서 기존 배치 그룹에 인스턴스를 추가하거나 생성한 새 배치 그룹에 인스턴스를 추가하도록 선택할 수 있습니다.

      • 배치 그룹 전략에서 적합한 전략을 선택합니다. 파티션을 선택하면 Target partition(대상 파티션)에서 Auto distribution(자동 분산)을 선택하여 Amazon EC2에서 인스턴스를 그룹 내 모든 파티션에 골고루 배포하도록 하거나 인스턴스를 시작할 파티션을 지정합니다.

인스턴스를 배치 그룹으로 시작하려면(명령줄)

  1. 다음 명령 중 하나를 사용하여 인스턴스에 대한 AMI를 만듭니다.

  2. 다음 옵션 중 하나를 사용하여 인스턴스를 배치 그룹으로 실행합니다.

인스턴스를 파티션 배치 그룹의 특정 파티션으로 시작하려면(AWS CLI)

  • run-instances 명령어를 이용하고 --placement "GroupName = HDFS-Group-A, PartitionNumber = 3" 파라미터를 이용해 배치 그룹 이름과 파티션을 지정하십시오. 이 예제에서 파티션 배치 그룹은 이름이 HDFS-Group-A이며 파티션 숫자는 3개입니다.

    aws ec2 run-instances --placement "GroupName = HDFS-Group-A, PartitionNumber = 3"

배치 그룹의 인스턴스 설명

Amazon EC2 콘솔이나 명령줄을 사용하여 인스턴스에 대한 배치 정보를 볼 수 있습니다. 배치 그룹은 콘솔을 이용해 확인할 수 있습니다. 파티션 배치 그룹에 있는 인스턴스의 파티션 숫자는 현재 API나 AWS CLI를 통해서만 확인할 수 있습니다.

인스턴스의 배치 그룹을 확인하려면(콘솔)

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 인스턴스를 선택합니다.

  3. 인스턴스를 선택하고 세부 정보 창에서 배치 그룹을 살펴봅니다. 인스턴스가 배치 그룹에 없다면, 필드는 빈칸으로 표시됩니다. 그렇지 않다면 배치 그룹 이름이 표시됩니다. 배치 그룹이 파티션 배치 그룹이면 인스턴스의 파티션 번호에 대한 파티션 번호를 검사합니다.

파티션 배치 그룹의 인스턴스에 대한 파티션 숫자를 보려면(AWS CLI)

  • describe-instances 명령어를 이용하고 --instance-id 파라미터를 지정합니다.

    aws ec2 describe-instances --instance-id i-0123a456700123456

    응답에는 배치 정보가 포함되며, 이 정보는 인스턴스의 배치 그룹 이름과 파티션 숫자를 포함합니다.

    "Placement": { "AvailabilityZone": "us-east-1c", "GroupName": "HDFS-Group-A", "PartitionNumber": 3, "Tenancy": "default" }

특정 파티션 배치 그룹과 파티션 숫자에 대해 인스턴스를 필터링하려면(AWS CLI)

  • describe-instances 명령어를 사용하고 placement-group-nameplacement-partition-number 필터를 이용해 --filters 파라미터를 지정합니다. 이 예제에서 파티션 배치 그룹은 이름이 HDFS-Group-A이며 파티션 숫자는 7개입니다.

    aws ec2 describe-instances --filters "Name = placement-group-name, Values = HDFS-Group-A" "Name = placement-partition-number, Values = 7"

    응답은 지정된 배치 그룹에 있는 지정된 파티션의 인스턴스를 모두 나열합니다. 다음은 반환된 인스턴스에 대한 인스턴스 ID, 인스턴스 유형과 배치 정보만 표시하는 출력 예시입니다.

    "Instances": [ { "InstanceId": "i-0a1bc23d4567e8f90", "InstanceType": "r4.large", }, "Placement": { "AvailabilityZone": "us-east-1c", "GroupName": "HDFS-Group-A", "PartitionNumber": 7, "Tenancy": "default" } { "InstanceId": "i-0a9b876cd5d4ef321", "InstanceType": "r4.large", }, "Placement": { "AvailabilityZone": "us-east-1c", "GroupName": "HDFS-Group-A", "PartitionNumber": 7, "Tenancy": "default" } ],

인스턴스에 대한 배치 그룹 변경

존재하는 인스턴스를 배치 그룹으로 또는 인스턴스를 한 배치 그룹에서 다른 배치 그룹으로 이동하거나 배치 그룹에서 인스턴스를 제거할 수 있습니다. 시작하기 전에 인스턴스가 stopped 상태여야 합니다.

명령줄 또는 AWS SDK를 사용하여 인스턴스에 대한 배치 그룹을 변경할 수 있습니다.

인스턴스를 배치 그룹으로 이동하려면(명령줄)

  1. 다음 명령 중 하나를 사용하여 인스턴스를 중지합니다.

  2. modify-instance-placement 명령(AWS CLI)을 사용하고 인스턴스가 이동할 배치 그룹의 이름을 지정합니다.

    aws ec2 modify-instance-placement --instance-id i-0123a456700123456 --group-name MySpreadGroup

    또는 Edit-EC2InstancePlacement 명령(Windows PowerShell용 AWS 도구)을 사용합니다.

  3. 다음 명령 중 하나를 사용하여 인스턴스를 다시 시작합니다.

배치 그룹에서 인스턴스를 제거하려면(명령줄)

  1. 다음 명령 중 하나를 사용하여 인스턴스를 중지합니다.

  2. modify-instance-placement 명령(AWS CLI)을 사용하고 그룹 이름에 대해 빈 문자열을 지정합니다.

    aws ec2 modify-instance-placement --instance-id i-0123a456700123456 --group-name ""

    또는 Edit-EC2InstancePlacement 명령(Windows PowerShell용 AWS 도구)을 사용합니다.

  3. 다음 명령 중 하나를 사용하여 인스턴스를 다시 시작합니다.

배치 그룹 삭제

대체해야 하거나 더 이상 필요하지 않은 배치 그룹을 삭제할 수 있습니다. 배치 그룹을 삭제하려면 우선 배치 그룹으로 시작한 모든 인스턴스를 종료해야 합니다. 또는 인스턴스를 다른 배치 그룹으로 이동해야 합니다.

인스턴스를 종료하거나 옮기고 배치 그룹을 삭제하려면(콘솔)

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 인스턴스를 선택합니다.

  3. 배치 그룹의 모든 인스턴스를 선택하여 종료합니다. 세부 정보 창에서 배치 그룹의 값을 확인하면 인스턴스를 종료하기 전에 인스턴스가 배치 그룹에 속하는지 확인할 수 있습니다.

    또는 인스턴스에 대한 배치 그룹 변경의 단계에 따라 인스턴스를 다른 배치 그룹으로 이동합니다.

  4. 탐색 창에서 배치 그룹을 선택합니다.

  5. 배치 그룹을 선택하고 배치 그룹 삭제를 선택합니다.

  6. 확인 메시지가 나타나면 삭제를 선택합니다.

인스턴스를 종료하고 배치 그룹을 삭제하려면(명령줄)

다음 명령 세트 중 하나를 사용할 수 있습니다. 명령줄 인터페이스에 대한 자세한 내용은 Amazon EC2에 액세스 단원을 참조하십시오.