Amazon EC2 인스턴스 토폴로지 예제

Amazon EC2 인스턴스 토폴로지 예제 (Examples for Amazon EC2 instance topology)

describe-instance-topology 명령으로 EC2 인스턴스의 토폴로지를 설명할 수 있고, describe-capacity-reservation-topology 명령으로 Capacity Reservations의 토폴로지를 설명할 수 있어요.

출처: 문서

본문

describe-instance-topology나 describe-capacity-reservation-topology를 파라미터·필터 없이 사용하면, 지정된 리전에서 이 명령이 지원하는 인스턴스 유형과 일치하는 모든 인스턴스 또는 Capacity Reservations(사용한 명령에 따라)가 응답에 포함돼요. 리전은 --region 파라미터로 지정하거나 기본 리전을 설정해 지정할 수 있어요.

지정된 인스턴스·Capacity Reservation ID나 배치 그룹 이름과 일치하는 인스턴스·Capacity Reservations를 반환하는 파라미터를 포함할 수 있어요. 또한 지정된 인스턴스 유형·인스턴스 패밀리와 일치하거나 지정된 가용 영역·Local Zone에 있는 항목을 반환하는 필터를 포함할 수 있어요. 단일 파라미터나 필터, 또는 파라미터와 필터의 조합을 사용할 수 있어요.

출력은 페이지별로 나뉘며 기본적으로 페이지당 최대 20개의 인스턴스 또는 Capacity Reservations를 반환해요. --max-results 파라미터로 페이지당 최대 100개까지 지정할 수 있어요.

필요한 권한:

  • ec2:DescribeInstanceTopology – 인스턴스 토폴로지 설명용
  • ec2:DescribeCapacityReservationTopology – Capacity Reservation 토폴로지 설명용

예제:

  1. DescribeInstanceTopology – Instance IDs
  2. DescribeInstanceTopology – 배치 그룹 이름 파라미터
  3. DescribeInstanceTopology – 인스턴스 유형 필터 (3a 정확 일치 / 3b 인스턴스 패밀리 와일드카드 / 3c 결합)
  4. DescribeInstanceTopology – Zone ID 필터 (4a 가용 영역 / 4b Local Zone / 4c 결합)
  5. DescribeInstanceTopology – 인스턴스 유형 및 Zone ID 필터
  6. DescribeCapacityReservationTopology – Capacity Reservation IDs
  7. DescribeCapacityReservationTopology – 인스턴스 유형 필터

예제 1: 인스턴스 ID로 토폴로지 설명

describe-instance-topology 명령을 --instance-ids 파라미터와 함께 사용해요. 지정된 인스턴스 ID와 일치하는 인스턴스만 출력에 포함돼요.

aws ec2 describe-instance-topology \
    --region us-west-2 \
    --instance-ids i-1111111111example i-2222222222example

예제 출력:

{
    "Instances": [
        {
            "InstanceId": "i-1111111111example",
            "InstanceType": "p4d.24xlarge",
            "GroupName": "ML-group",
            "NetworkNodes": [
                "nn-1111111111example",
                "nn-2222222222example",
                "nn-3333333333example"
            ],
            "CapacityBlockId": "null",
            "ZoneId": "usw2-az2",
            "AvailabilityZone": "us-west-2a"
        },
        {
            "InstanceId": "i-2222222222example",
            "InstanceType": "trn1n.32xlarge",
            "GroupName": "HPC-group",
            "NetworkNodes": [
                "nn-1111111111example",
                "nn-2222222222example",
                "nn-3214313214example"
            ],
            "CapacityBlockId": "null",
            "ZoneId": "usw2-az2",
            "AvailabilityZone": "us-west-2a"
        }
    ],
    "NextToken": "SomeEncryptedToken"
}

PowerShell: Get-EC2InstanceTopology -InstanceId i-1111111111example, i-2222222222example

예제 2: 배치 그룹 이름 파라미터로 토폴로지 설명

describe-instance-topology 명령을 group-names 파라미터와 함께 사용해요. 지정된 배치 그룹 중 하나에 있는 인스턴스만 출력에 포함돼요.

aws ec2 describe-instance-topology \
    --region us-west-2 \
    --group-names ML-group HPC-group

PowerShell: Get-EC2InstanceTopology -GroupName ML-group, HPC-group

예제 3: 인스턴스 유형 필터

지정된 인스턴스 유형(정확 일치)으로 필터링하거나 인스턴스 패밀리(와일드카드)로 필터링할 수 있어요. 정확 일치 필터와 인스턴스 패밀리 필터를 결합할 수도 있어요.

3a – 정확 일치 필터:

aws ec2 describe-instance-topology \
    --region us-west-2 \
    --filters Name=instance-type,Values=trn1n.32xlarge

PowerShell: Get-EC2InstanceTopology -Filter @{Name="instance-type"; Values="trn1n.32xlarge"}

3b – 인스턴스 패밀리 와일드카드 필터:

aws ec2 describe-instance-topology \
    --region us-west-2 \
    --filters Name=instance-type,Values=trn1*

PowerShell: Get-EC2InstanceTopology -Filter @{Name="instance-type"; Values="trn1*"}

3c – 인스턴스 패밀리와 정확 일치 필터 결합:

aws ec2 describe-instance-topology \
    --region us-west-2 \
    --filters "Name=instance-type,Values=p4d*,trn1n.32xlarge"

PowerShell: Get-EC2InstanceTopology -Filter @{Name="instance-type"; Values="p4d*", "trn1n.32xlarge"}

출력의 각 인스턴스는 InstanceId, InstanceType, NetworkNodes, CapacityBlockId, ZoneId, AvailabilityZone(배치 그룹에 속할 경우 GroupName) 필드를 포함해요.

예제 4: Zone ID 필터

zone-id 필터로 가용 영역 또는 Local Zone으로 필터링할 수 있어요. 가용 영역 필터와 Local Zone 필터를 결합할 수도 있어요.

4a – 가용 영역 필터:

aws ec2 describe-instance-topology \
    --region us-east-1 \
    --filters Name=zone-id,Values=use1-az1

PowerShell: Get-EC2InstanceTopology -Filter @{Name="zone-id"; Values="use1-az1"}

4b – Local Zone 필터:

aws ec2 describe-instance-topology \
    --region us-east-1 \
    --filters Name=zone-id,Values=use1-atl2-az1

PowerShell: Get-EC2InstanceTopology -Filter @{Name="zone-id"; Values="use1-atl2-az1"}

4c – 가용 영역과 Local Zone 필터 결합:

aws ec2 describe-instance-topology \
    --region us-east-1 \
    --filters Name=zone-id,Values=use1-az1,use1-atl2-az1

PowerShell: Get-EC2InstanceTopology -Filter @{Name="zone-id"; Values="use1-az1", "use1-atl2-az1"}

예제 5: 인스턴스 유형과 Zone ID 필터 결합

단일 명령에서 필터를 결합할 수 있어요. instance-type과 zone-id 필터를 사용해요. 지정된 인스턴스 유형 중 하나이면서 지정된 영역 중 하나에 있는 인스턴스가 응답에 포함돼요.

aws ec2 describe-instance-topology \
    --region us-east-1 \
    --filters "Name=instance-type,Values=p4d*,trn1n.32xlarge" \
              "Name=zone-id,Values=use1-az1,use1-atl2-az1"

PowerShell: Get-EC2InstanceTopology -Filter @{Name="instance-type"; Values="p4d*", "trn1n.32xlarge"} @{Name="zone-id"; Values="use1-az1", "use1-atl2-az1"}

예제 6: Capacity Reservation ID로 토폴로지 설명

describe-capacity-reservation-topology 명령을 capacity-reservation-id 파라미터와 함께 사용해요. 지정된 Capacity Reservation ID와 일치하는 것만 출력에 포함돼요.

aws ec2 describe-capacity-reservation-topology \
    --region us-east-1 \
    --capacity-reservation-id cr-1111111111example cr-2222222222example

예제 출력:

{
    "CapacityReservations": [
        {
            "CapacityReservationId": "cr-1111111111example",
            "CapacityBlockId": "null",
            "State": "active",
            "InstanceType": "p5.48xlarge",
            "NetworkNodes": [
                "nn-1111111111example",
                "nn-2222222222example"
            ],
            "AvailabilityZone": "us-east-1a"
        },
        {
            "CapacityReservationId": "cr-2222222222example",
            "CapacityBlockId": "null",
            "State": "active",
            "InstanceType": "p5en.48xlarge",
            "NetworkNodes": [
                "nn-1111111111example",
                "nn-2222222222example"
            ],
            "AvailabilityZone": "us-east-1a"
        }
    ],
    "NextToken": "SomeEncryptedToken"
}

PowerShell: Get-EC2CapacityReservationTopology -CapacityReservationId cr-1111111111example cr-2222222222example

예제 7: Capacity Reservation의 인스턴스 유형 필터

지정된 인스턴스 유형(정확 일치)이나 인스턴스 패밀리(와일드카드)로 필터링할 수 있고, 둘을 결합할 수도 있어요.

aws ec2 describe-capacity-reservation-topology \
    --region us-east-1 \
    --filters Name=instance-type,Values=p5en.48xlarge

PowerShell: Get-EC2CapacityReservationTopology -Filter @{Name="instance-type"; Values="p5en.48xlarge"}

더 알아보기