보조 네트워크 - - Amazon Elastic Compute Cloud

보조 네트워크

보조 네트워크는 특수 네트워킹 사용 사례를 위한 목적별 가상 네트워크입니다. 이러한 네트워크는 AWS 클라우드의 파티션 내에서 논리적으로 격리됩니다. 보조 네트워크 내에서 보조 서브넷과 같은 리소스를 생성할 수 있습니다. 보조 네트워크는 Amazon VPC와 긴밀하게 결합되어 있어 일부 인스턴스는 멀티 호밍되어 VPC와 보조 네트워크 모두로 시작됩니다.

보조 네트워크는 현재 일부 인스턴스 유형에 한해 장기 약정이 있는 용량 예약을 통해 이용 가능합니다. 보조 네트워크가 워크로드에 도움이 될 수 있다고 생각되면 계정 팀에 자세한 내용을 문의해 주세요.

보조 네트워크란 무엇인가요?

보조 네트워크는 논리적이고 격리된 네트워크를 제공하며 VPC 네트워크와 함께 사용되어 인스턴스가 두 개의 독립적인 네트워크에 멀티 호밍되도록 합니다. 보조 네트워크는 다음과 같은 이점이 있습니다.

  • ML 워크로드의 동서 연결과 같은 특수 사용 사례 및 프로토콜을 위한 고성능 네트워킹

  • 논리적 격리를 통한 다중 테넌트 지원

  • 인스턴스가 VPC 및 AWS 서비스와 원활하게 통합됨

주요 개념

보조 네트워크

IPv4 CIDR 블록(/28~/12 범위)을 사용하여 논리적 계층 3 네트워크를 제공하는 리전 네트워킹 구문. 보조 네트워크는 물리적으로 분할된 네트워크 인프라에서 VPC와 독립적으로 운영됩니다.

보조 서브넷

VPC 서브넷과 유사한 보조 네트워크 내의 가용 영역별 구문. 보조 서브넷은 /28~/12 범위의 CIDR 블록을 지원합니다.

보조 인터페이스

보조 네트워크 카드에 연결된 네트워크 인터페이스로, 보조 서브넷 내에서 동서 연결 제공. 이러한 인터페이스는 탄력적 네트워크 인터페이스(ENI)와 물리적 및 논리적으로 분리되어 있습니다.

아키텍처

보조 네트워크를 지원하는 EC2 인스턴스는 멀티 호밍되어 VPC와 보조 네트워크 모두에서 동시에 통신할 수 있습니다.

  • VPC: AWS 서비스, 스토리지, 데이터베이스, 네트워킹 서비스, 인터넷에 대한 북남 TCP/IP 연결 제공

  • 보조 네트워크: 지원되는 특수 인스턴스 간 동서 연결 제공

추가 고려 사항

  • 보조 인터페이스는 RunInstances를 통해 관리되며 독립적으로 생성하거나 삭제할 수 없습니다.

  • 인스턴스가 시작된 후에는 보조 인터페이스를 연결하거나 분리할 수 없습니다.

  • 보조 인터페이스의 IP 주소는 일단 시작되면 변경할 수 없습니다.

  • 보안 그룹, NACL, 흐름 로그 등의 VPC 기능은 보조 네트워크에서 지원되지 않습니다.

시작하기

사전 조건

보조 네트워크를 사용하여 인스턴스를 시작하기 전에 대상 리전에 VPC를 구성하고 EC2 용량의 대상 가용 영역에 서브넷을 구성했는지 확인하세요.

1단계: 보조 네트워크 생성

VPC와 동일한 리전에 보조 네트워크를 생성합니다. 이는 RDMA 트래픽에 대한 논리적 격리를 제공하는 리전 리소스입니다.

aws ec2 create-secondary-network \ --network-type rdma \ --ipv4-cidr-block 172.31.0.0/16 \ --region us-east-2

파라미터:

  • --network-type: 네트워크 유형(현재 rdma만 지원됨)

  • --ipv4-cidr-block: /28과 /12 사이의 IPv4 CIDR 블록

  • --region: AWS 리전(US-East-2)

참고

모범 사례: 인스턴스 수준에서 라우팅을 단순화하려면 VPC CIDR과 겹치지 않는 CIDR 블록을 선택하세요.

2단계: 보조 서브넷 생성

VPC 서브넷과 동일한 가용 영역에 보조 서브넷을 생성합니다. 이는 AZ별 리소스입니다.

aws ec2 create-secondary-subnet \ --secondary-network-id sn-1234567890abcdef0 \ --ipv4-cidr-block 172.31.24.0/24 \ --availability-zone us-east-2a
참고

IP 주소 예약: VPC 서브넷과 마찬가지로 Amazon은 각 보조 서브넷의 처음 4개 IP 주소와 마지막 IP 주소를 내부용으로 예약합니다.

3단계: 인스턴스 시작

VPC 서브넷과 보조 서브넷 모두로 인스턴스를 시작합니다. 인스턴스는 두 네트워크에 모두 연결되는 멀티 호밍 방식으로 구성됩니다.

aws ec2 run-instances \ --image-id ami-12345678 \ --count 1 \ --instance-type <instance> \ --key-name MyKeyPair \ --instance-market-options '{"MarketType": "capacity-block"}' \ --capacity-reservation-specification '{"CapacityReservationTarget": \ {"CapacityReservationId": "cr-1234567890abcdef0"}}' \ --network-interfaces \ "NetworkCardIndex=0,DeviceIndex=0,Groups=sg-12345678,\ SubnetId=subnet-0987654321fedcba0,InterfaceType=interface" \ --secondary-interfaces \ "NetworkCardIndex=1,DeviceIndex=0,SecondarySubnetId=ss-98765421yxz,\ InterfaceType=secondary,PrivateIpAddressCount=1,DeleteOnTermination=true", \ "NetworkCardIndex=2,DeviceIndex=0,SecondarySubnetId=ss-98765421yxz,\ InterfaceType=secondary,PrivateIpAddressCount=1,DeleteOnTermination=true", \ "NetworkCardIndex=3,DeviceIndex=0,SecondarySubnetId=ss-98765421yxz,\ InterfaceType=secondary,PrivateIpAddressCount=1,DeleteOnTermination=true", \ "NetworkCardIndex=4,DeviceIndex=0,SecondarySubnetId=ss-98765421yxz,\ InterfaceType=secondary,PrivateIpAddressCount=1,DeleteOnTermination=true", \ "NetworkCardIndex=5,DeviceIndex=0,SecondarySubnetId=ss-98765421yxz,\ InterfaceType=secondary,PrivateIpAddressCount=1,DeleteOnTermination=true", \ "NetworkCardIndex=6,DeviceIndex=0,SecondarySubnetId=ss-98765421yxz,\ InterfaceType=secondary,PrivateIpAddressCount=1,DeleteOnTermination=true", \ "NetworkCardIndex=7,DeviceIndex=0,SecondarySubnetId=ss-98765421yxz,\ InterfaceType=secondary,PrivateIpAddressCount=1,DeleteOnTermination=true", \ "NetworkCardIndex=8,DeviceIndex=0,SecondarySubnetId=ss-98765421yxz,\ InterfaceType=secondary,PrivateIpAddressCount=1,DeleteOnTermination=true"

키 파라미터:

  • --network-interfaces: VPC 연결을 위한 기본 Nitro ENI 지정(네트워크 카드 인덱스 0)

  • --secondary-interfaces: 보조 서브넷 내 동서 연결을 위한 8개의 보조 인터페이스 지정(네트워크 카드 인덱스 1~8)

  • InterfaceType=secondary: 보조 인터페이스를 나타냄

보조 네트워크 리소스 관리

보조 네트워크 설명

보조 네트워크에 대한 세부 정보 보기:

aws ec2 describe-secondary-networks \ --secondary-network-id sn-1234567890abcdef0

보조 서브넷 설명

보조 서브넷에 대한 세부 정보 보기:

aws ec2 describe-secondary-subnets \ --secondary-subnet-id ss-98765421yxz

보조 인터페이스 설명

인스턴스에 연결된 보조 네트워크 인터페이스에 대한 세부 정보 보기:

aws ec2 describe-secondary-interfaces \ --filters "Name=attachment.instance-id,Values=i-1234567890abcdef0"

리소스 삭제

보조 서브넷 삭제:

aws ec2 delete-secondary-subnet \ --secondary-subnet-id ss-98765421yxz

보조 네트워크 삭제:

aws ec2 delete-secondary-network \ --secondary-network-id sn-1234567890abcdef0
중요

보조 네트워크를 삭제하기 전에 모든 인스턴스를 종료하고 모든 보조 서브넷을 삭제해야 합니다.

네트워크 설계 모범 사례

CIDR 계획

중복 CIDR 지양: 보조 네트워크는 VPC와 물리적으로 분리되어 있지만, 중복되지 않는 CIDR 블록을 사용하면 인스턴스 운영 체제 수준에서 라우팅 구성이 단순화됩니다.

참고

Amazon은 서브넷당 5개의 IP 주소를 예약합니다.

트래픽 분리

보조 네트워크로 분리: 서로 다른 프로젝트, 팀 또는 보안 경계를 위해 별도의 보조 네트워크를 생성합니다. 보조 네트워크는 인스턴스 간 논리적 격리를 제공합니다. 인스턴스는 서로 다른 보조 네트워크 간에 통신할 수 없습니다.

여러 서브넷 사용: 보조 네트워크 내에서 여러 보조 서브넷을 사용하여 GPU 인덱스, 가용 영역 또는 워크로드 유형별로 트래픽을 분할합니다. 예를 들어, 일반적인 아키텍처 패턴은 4개 또는 8개의 보조 서브넷이 있는 단일 보조 네트워크를 배포하는 것이며, 각 보조 서브넷은 공통 인덱스를 가진 GPU 그룹에 정렬됩니다.

문제 해결

인스턴스 시작 실패

문제: 보조 네트워크 인터페이스로 인스턴스를 시작하지 못합니다.

솔루션:

  • AMI에 적절한 드라이버 지원이 포함되어 있는지 확인

  • 보조 서브넷에 사용 가능한 IP 주소가 충분한지 확인

  • 용량 예약이 ‘활성’ 상태인지 확인

  • 보조 서브넷이 VPC 서브넷과 동일한 가용 영역에 있는지 확인

연결 문제

문제: 인스턴스 간에 RDMA 연결을 설정할 수 없습니다.

솔루션:

  • 모든 인스턴스가 동일한 보조 네트워크 및 보조 서브넷에 있는지 확인

  • 인스턴스에 보조 인터페이스 드라이버가 제대로 로드되었는지 확인

  • 애플리케이션이 올바른 네트워크 인터페이스에 바인딩되어 있는지 확인

  • 동일한 보조 서브넷 내의 인스턴스는 직접 경로를 통해 연결할 수 있습니다. 서브넷 간 통신은 DHCP를 통해 제공되는 정적 경로를 통해 가능합니다.

API 오류

문제: 보조 네트워크와 보조 서브넷 작업에 대한 API 직접 호출이 실패합니다.

솔루션:

  • ec2:CreateSecondaryNetwork, ec2:CreateSecondarySubnet 등에 대한 IAM 권한을 확인합니다.

  • CIDR 블록이 지원되는 범위(/28~/12) 내에 있는지 확인

  • 올바른 리전 및 가용 영역을 사용하고 있는지 확인

할당량 및 제한

할당량 증가를 요청하려면 AWS Service Quotas를 사용하거나 AWS Support에 문의하세요.

보조 네트워크 할당량 및 제한
리소스 Limit 조정 가능
리전당 보조 네트워크 5
보조 네트워크당 보조 서브넷 200
CIDR 블록 크기 /28~/12 아니요