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 토폴로지 설명용
예제:
- DescribeInstanceTopology – Instance IDs
- DescribeInstanceTopology – 배치 그룹 이름 파라미터
- DescribeInstanceTopology – 인스턴스 유형 필터 (3a 정확 일치 / 3b 인스턴스 패밀리 와일드카드 / 3c 결합)
- DescribeInstanceTopology – Zone ID 필터 (4a 가용 영역 / 4b Local Zone / 4c 결합)
- DescribeInstanceTopology – 인스턴스 유형 및 Zone ID 필터
- DescribeCapacityReservationTopology – Capacity Reservation IDs
- 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"}