ENA Express로 EC2 인스턴스 간 네트워크 성능 개선하기
ENA Express로 EC2 인스턴스 간 네트워크 성능 개선하기
ENA Express는 AWS Scalable Reliable Datagram(SRD) 기술로 구동됩니다. SRD는 동적 라우팅을 사용해 처리량을 늘리고 꼬리 지연 시간(tail latency)을 최소화하는 고성능 네트워크 전송 프로토콜이에요. ENA Express를 사용하면 같은 가용 영역에 있거나 같은 리전 내의 가용 영역을 걸쳐 있는 두 EC2 인스턴스 간에 통신할 수 있습니다.
출처: 문서
본문
ENA Express의 이점 (Benefits of ENA Express)
- 같은 리전 내에서 단일 흐름(single flow)이 사용할 수 있는 최대 대역폭을 5Gbps에서 인스턴스의 총 한도까지 최대 25Gbps로 늘립니다.
- 같은 가용 영역의 EC2 인스턴스 간 네트워크 트래픽의 꼬리 지연 시간을 줄이고, 특히 네트워크 부하가 높은 기간에 그렇습니다.
- 혼잡한 네트워크 경로를 감지하고 피합니다.
- 수신 측의 패킷 재정렬과 필요한 대부분의 재전송 같은 일부 작업을 네트워크 계층에서 직접 처리해, 애플리케이션 계층을 다른 작업에 사용할 수 있게 합니다.
참고:
- 애플리케이션의 초당 패킷 수(PPS) 요구사항이 높고 혼잡하지 않은 기간의 지연 시간을 최적화해야 한다면, Enhanced networking이 더 적합할 수 있어요.
- ENA Express 트래픽은 Local Zone으로 보낼 수 없습니다.
- 가용 영역 간 트래픽에 대한 ENA Express 지원은 **남아메리카(상파울루), 중동(바레인), 중동(UAE)**에서는 사용할 수 없어요.
인스턴스의 네트워크 인터페이스 연결(attachment)에 ENA Express를 활성화하면, 보내는 인스턴스가 받는 인스턴스와 통신을 시작하고, SRD는 보내는 인스턴스와 받는 인스턴스 모두에서 ENA Express가 작동하는지 감지합니다. ENA Express가 작동하면 통신은 SRD 전송을 사용할 수 있고, 작동하지 않으면 통신은 표준 ENA 전송으로 대체됩니다.
네트워크 트래픽이 적은 기간에는 패킷이 ENA Express를 사용할 때 **중앙값 패킷 지연 시간이 약간 증가(수십 마이크로초)**하는 것을 확인할 수 있어요. 그런 기간에는 특정 네트워크 성능 특성을 우선시하는 애플리케이션이 다음과 같이 ENA Express의 이점을 얻을 수 있습니다.
- 같은 리전 내에서 단일 흐름 최대 대역폭이 5Gbps에서 인스턴스의 총 한도까지 최대 25Gbps로 증가하면 프로세스의 이점이 됩니다. 예를 들어 특정 인스턴스 유형이 최대 12.5Gbps를 지원한다면 단일 흐름 대역폭도 12.5Gbps로 제한됩니다.
- 같은 가용 영역의 오래 실행되는 프로세스는 네트워크 혼잡 기간에 꼬리 지연 시간이 줄어듭니다.
- 프로세스는 네트워크 응답 시간의 더 부드럽고 표준적인 분포의 이점을 얻을 수 있어요.
주제 (Topics)
- How ENA Express works
- Supported instance types for ENA Express
- Tune performance for ENA Express settings on Linux instances
- Review ENA Express settings for your EC2 instance
- Configure ENA Express settings for your EC2 instance
ENA Express가 작동하는 방식 (How ENA Express works)
ENA Express는 AWS Scalable Reliable Datagram(SRD) 기술로 구동됩니다. 각 네트워크 흐름의 패킷을 서로 다른 AWS 네트워크 경로에 분산시키고, 혼잡 징후를 감지하면 분산을 동적으로 조정합니다. 수신 측의 패킷 재정렬도 관리해요.
ENA Express가 의도한 대로 네트워크 트래픽을 관리할 수 있도록, 보내는 인스턴스와 받는 인스턴스 및 두 인스턴스 사이의 통신은 다음 모든 요구사항을 충족해야 합니다.
- 보내는 인스턴스와 받는 인스턴스 유형 모두 지원되어야 합니다. 자세한 내용은 Supported instance types for ENA Express 표를 참고하세요.
- 보내는 인스턴스와 받는 인스턴스 모두 ENA Express가 구성되어 있어야 합니다. 구성에 차이가 있으면 트래픽이 기본적으로 표준 ENA 전송으로 대체되는 상황이 발생할 수 있어요. 다음 시나리오는 어떤 일이 발생할 수 있는지 보여줍니다.
- 시나리오: 구성의 차이 이 경우 두 인스턴스 모두 TCP 트래픽에 ENA Express를 활성화했으므로 두 인스턴스 간의 TCP 트래픽은 ENA Express를 사용할 수 있어요. 그러나 두 인스턴스 중 하나가 UDP 트래픽에 ENA Express를 사용하지 않으므로, 두 인스턴스 간의 UDP 통신은 표준 ENA 전송을 사용합니다.
- 보내는 인스턴스와 받는 인스턴스가 같은 리전에서 실행되어야 합니다.
- 인스턴스 간 네트워크 경로에 미들웨어 상자(middleware boxes)가 없어야 합니다. ENA Express는 현재 미들웨어 상자를 지원하지 않습니다.
- (Linux 인스턴스만) 전체 대역폭 잠재력을 활용하려면 드라이버 버전 2.2.9 이상을 사용하세요.
- (Linux 인스턴스만) 메트릭을 생성하려면 드라이버 버전 2.8 이상을 사용하세요.
요구사항 중 하나라도 충족되지 않으면 인스턴스는 SRD 없이 표준 TCP/UDP 프로토콜로 통신합니다.
인스턴스 네트워크 드라이버가 최적의 성능으로 구성되도록 ENA 드라이버에 대한 권장 모범 사례를 검토하세요. 이러한 모범 사례는 ENA Express에도 적용됩니다. 자세한 내용은 GitHub 웹사이트의 ENA Linux Driver Best Practices and Performance Optimization Guide 문서를 참고하세요.
참고: Amazon EC2는 인스턴스와 인스턴스에 연결된 네트워크 인터페이스 사이의 관계를 **연결(attachment)**이라고 부릅니다. ENA Express 설정은 연결에 적용됩니다. 네트워크 인터페이스가 인스턴스에서 분리되면 연결이 더 이상 존재하지 않고, 적용되었던 ENA Express 설정도 더 이상 유효하지 않아요. 인스턴스가 종료되어도 네트워크 인터페이스가 남아 있더라도 마찬가지입니다.
보내는 인스턴스와 받는 인스턴스 모두의 네트워크 인터페이스 연결에 ENA Express를 활성화한 후에는, ENA Express 메트릭을 사용해 인스턴스가 SRD 기술이 제공하는 성능 개선을 최대한 활용하는지 확인할 수 있어요. ENA Express 메트릭에 대한 자세한 내용은 Metrics for ENA Express 문서를 참고하세요.
ENA Express를 지원하는 인스턴스 유형 (Supported instance types for ENA Express)
다음 인스턴스 유형은 ENA Express를 지원합니다.
| Instance | ENA Express Enabled | UDP uses ENA Express |
|---|---|---|
| Instance 1 | Yes | Yes |
| Instance 2 | Yes | No |
| Instance type | Architecture |
|---|---|
| m6a.12xlarge | x86_64 |
| m6a.16xlarge | x86_64 |
| m6a.24xlarge | x86_64 |
| m6a.32xlarge | x86_64 |
| m6a.48xlarge | x86_64 |
| m6a.metal | x86_64 |
| m6i.8xlarge | x86_64 |
| m6i.12xlarge | x86_64 |
| m6i.16xlarge | x86_64 |
| m6i.24xlarge | x86_64 |
| m6i.32xlarge | x86_64 |
| m6i.metal | x86_64 |
| m6id.8xlarge | x86_64 |
| m6id.12xlarge | x86_64 |
| m6id.16xlarge | x86_64 |
| m6id.24xlarge | x86_64 |
| m6id.32xlarge | x86_64 |
| m6id.metal | x86_64 |
| m6idn.8xlarge | x86_64 |
| m6idn.12xlarge | x86_64 |
| m6idn.16xlarge | x86_64 |
| m6idn.24xlarge | x86_64 |
| m6idn.32xlarge | x86_64 |
| m6idn.metal | x86_64 |
| m6in.8xlarge | x86_64 |
| m6in.12xlarge | x86_64 |
| m6in.16xlarge | x86_64 |
| m6in.24xlarge | x86_64 |
| m6in.32xlarge | x86_64 |
| m6in.metal | x86_64 |
| m7a.12xlarge | x86_64 |
| m7a.16xlarge | x86_64 |
| m7a.24xlarge | x86_64 |
| m7a.32xlarge | x86_64 |
| m7a.48xlarge | x86_64 |
| m7a.metal-48xl | x86_64 |
| m7g.12xlarge | arm64 |
| m7g.16xlarge | arm64 |
| m7g.metal | arm64 |
| m7gd.12xlarge | arm64 |
| m7gd.16xlarge | arm64 |
| m7gd.metal | arm64 |
| m7i.12xlarge | x86_64 |
| m7i.16xlarge | x86_64 |
| m7i.24xlarge | x86_64 |
| m7i.48xlarge | x86_64 |
| m7i.metal-24xl | x86_64 |
| m7i.metal-48xl | x86_64 |
| m8a.16xlarge | x86_64 |
| m8a.24xlarge | x86_64 |
| m8a.48xlarge | x86_64 |
| m8a.metal-24xl | x86_64 |
| m8a.metal-48xl | x86_64 |
| m8azn.12xlarge | x86_64 |
| m8azn.24xlarge | x86_64 |
| m8azn.metal-12xl | x86_64 |
| m8azn.metal-24xl | x86_64 |
| m8g.8xlarge | arm64 |
| m8g.12xlarge | arm64 |
| m8g.16xlarge | arm64 |
| m8g.24xlarge | arm64 |
| m8g.48xlarge | arm64 |
| m8g.metal-24xl | arm64 |
| m8g.metal-48xl | arm64 |
| m8gb.4xlarge | arm64 |
| m8gb.8xlarge | arm64 |
| m8gb.12xlarge | arm64 |
| m8gb.16xlarge | arm64 |
| m8gb.24xlarge | arm64 |
| m8gb.48xlarge | arm64 |
| m8gb.metal-24xl | arm64 |
| m8gb.metal-48xl | arm64 |
| m8gd.8xlarge | arm64 |
| m8gd.12xlarge | arm64 |
| m8gd.16xlarge | arm64 |
| m8gd.24xlarge | arm64 |
| m8gd.48xlarge | arm64 |
| m8gd.metal-24xl | arm64 |
| m8gd.metal-48xl | arm64 |
| m8gn.4xlarge | arm64 |
| m8gn.8xlarge | arm64 |
| m8gn.12xlarge | arm64 |
| m8gn.16xlarge | arm64 |
| m8gn.24xlarge | arm64 |
| m8gn.48xlarge | arm64 |
| m8gn.metal-24xl | arm64 |
| m8gn.metal-48xl | arm64 |
| m8i.8xlarge | x86_64 |
| m8i.12xlarge | x86_64 |
| m8i.16xlarge | x86_64 |
| m8i.24xlarge | x86_64 |
| m8i.32xlarge | x86_64 |
| m8i.48xlarge | x86_64 |
| m8i.96xlarge | x86_64 |
| m8i.metal-48xl | x86_64 |
| m8i.metal-96xl | x86_64 |
| m8id.8xlarge | x86_64 |
| m8id.12xlarge | x86_64 |
| m8id.16xlarge | x86_64 |
| m8id.24xlarge | x86_64 |
| m8id.32xlarge | x86_64 |
| m8id.48xlarge | x86_64 |
| m8id.96xlarge | x86_64 |
| m8id.metal-48xl | x86_64 |
| m8id.metal-96xl | x86_64 |
| m8in.8xlarge | x86_64 |
| m8in.12xlarge | x86_64 |
| m8in.16xlarge | x86_64 |
| m8in.24xlarge | x86_64 |
| m8in.32xlarge | x86_64 |
| m8in.48xlarge | x86_64 |
| m8in.96xlarge | x86_64 |
| m8in.metal-48xl | x86_64 |
| m8in.metal-96xl | x86_64 |
| m8idn.8xlarge | x86_64 |
| m8idn.12xlarge | x86_64 |
| m8idn.16xlarge | x86_64 |
| m8idn.24xlarge | x86_64 |
| m8idn.32xlarge | x86_64 |
| m8idn.48xlarge | x86_64 |
| m8idn.96xlarge | x86_64 |
| m8idn.metal-48xl | x86_64 |
| m8idn.metal-96xl | x86_64 |
| m8ib.8xlarge | x86_64 |
| m8ib.12xlarge | x86_64 |
| m8ib.16xlarge | x86_64 |
| m8ib.24xlarge | x86_64 |
| m8ib.32xlarge | x86_64 |
| m8ib.48xlarge | x86_64 |
| m8ib.96xlarge | x86_64 |
| m8ib.metal-48xl | x86_64 |
| m8ib.metal-96xl | x86_64 |
| m8idb.8xlarge | x86_64 |
| m8idb.12xlarge | x86_64 |
| m8idb.16xlarge | x86_64 |
| m8idb.24xlarge | x86_64 |
| m8idb.32xlarge | x86_64 |
| m8idb.48xlarge | x86_64 |
| m8idb.96xlarge | x86_64 |
| m8idb.metal-48xl | x86_64 |
| m8idb.metal-96xl | x86_64 |
| m9g.8xlarge | arm64 |
| m9g.12xlarge | arm64 |
| m9g.16xlarge | arm64 |
| m9g.24xlarge | arm64 |
| m9g.48xlarge | arm64 |
| m9g.metal-48xl | arm64 |
| m9gd.8xlarge | arm64 |
| m9gd.12xlarge | arm64 |
| m9gd.16xlarge | arm64 |
| m9gd.24xlarge | arm64 |
| m9gd.48xlarge | arm64 |
| m9gd.metal-48xl | arm64 |
| Instance type | Architecture |
|---|---|
| c6a.12xlarge | x86_64 |
| c6a.16xlarge | x86_64 |
| c6a.24xlarge | x86_64 |
| c6a.32xlarge | x86_64 |
| c6a.48xlarge | x86_64 |
| c6a.metal | x86_64 |
| c6gn.4xlarge | arm64 |
| c6gn.8xlarge | arm64 |
| c6gn.12xlarge | arm64 |
| c6gn.16xlarge | arm64 |
| c6i.8xlarge | x86_64 |
| c6i.12xlarge | x86_64 |
| c6i.16xlarge | x86_64 |
| c6i.24xlarge | x86_64 |
| c6i.32xlarge | x86_64 |
| c6i.metal | x86_64 |
| c6id.8xlarge | x86_64 |
| c6id.12xlarge | x86_64 |
| c6id.16xlarge | x86_64 |
| c6id.24xlarge | x86_64 |
| c6id.32xlarge | x86_64 |
| c6id.metal | x86_64 |
| c6in.8xlarge | x86_64 |
| c6in.12xlarge | x86_64 |
| c6in.16xlarge | x86_64 |
| c6in.24xlarge | x86_64 |
| c6in.32xlarge | x86_64 |
| c6in.metal | x86_64 |
| c7a.12xlarge | x86_64 |
| c7a.16xlarge | x86_64 |
| c7a.24xlarge | x86_64 |
| c7a.32xlarge | x86_64 |
| c7a.48xlarge | x86_64 |
| c7a.metal-48xl | x86_64 |
| c7g.12xlarge | arm64 |
| c7g.16xlarge | arm64 |
| c7g.metal | arm64 |
| c7gd.12xlarge | arm64 |
| c7gd.16xlarge | arm64 |
| c7gd.metal | arm64 |
| c7gn.4xlarge | arm64 |
| c7gn.8xlarge | arm64 |
| c7gn.12xlarge | arm64 |
| c7gn.16xlarge | arm64 |
| c7gn.metal | arm64 |
| c7i.12xlarge | x86_64 |
| c7i.16xlarge | x86_64 |
| c7i.24xlarge | x86_64 |
| c7i.48xlarge | x86_64 |
| c7i.metal-24xl | x86_64 |
| c7i.metal-48xl | x86_64 |
| c8a.16xlarge | x86_64 |
| c8a.24xlarge | x86_64 |
| c8a.48xlarge | x86_64 |
| c8a.metal-24xl | x86_64 |
| c8a.metal-48xl | x86_64 |
| c8g.8xlarge | arm64 |
| c8g.12xlarge | arm64 |
| c8g.16xlarge | arm64 |
| c8g.24xlarge | arm64 |
| c8g.48xlarge | arm64 |
| c8g.metal-24xl | arm64 |
| c8g.metal-48xl | arm64 |
| c8gb.4xlarge | arm64 |
| c8gb.8xlarge | arm64 |
| c8gb.12xlarge | arm64 |
| c8gb.16xlarge | arm64 |
| c8gb.24xlarge | arm64 |
| c8gb.48xlarge | arm64 |
| c8gb.metal-24xl | arm64 |
| c8gb.metal-48xl | arm64 |
| c8gd.8xlarge | arm64 |
| c8gd.12xlarge | arm64 |
| c8gd.16xlarge | arm64 |
| c8gd.24xlarge | arm64 |
| c8gd.48xlarge | arm64 |
| c8gd.metal-24xl | arm64 |
| c8gd.metal-48xl | arm64 |
| c8gn.4xlarge | arm64 |
| c8gn.8xlarge | arm64 |
| c8gn.12xlarge | arm64 |
| c8gn.16xlarge | arm64 |
| c8gn.24xlarge | arm64 |
| c8gn.48xlarge | arm64 |
| c8gn.metal-24xl | arm64 |
| c8gn.metal-48xl | arm64 |
| c8i.8xlarge | x86_64 |
| c8i.12xlarge | x86_64 |
| c8i.16xlarge | x86_64 |
| c8i.24xlarge | x86_64 |
| c8i.32xlarge | x86_64 |
| c8i.48xlarge | x86_64 |
| c8i.96xlarge | x86_64 |
| c8i.metal-48xl | x86_64 |
| c8i.metal-96xl | x86_64 |
| c8id.8xlarge | x86_64 |
| c8id.12xlarge | x86_64 |
| c8id.16xlarge | x86_64 |
| c8id.24xlarge | x86_64 |
| c8id.32xlarge | x86_64 |
| c8id.48xlarge | x86_64 |
| c8id.96xlarge | x86_64 |
| c8id.metal-48xl | x86_64 |
| c8id.metal-96xl | x86_64 |
| c8in.8xlarge | x86_64 |
| c8in.12xlarge | x86_64 |
| c8in.16xlarge | x86_64 |
| c8in.24xlarge | x86_64 |
| c8in.32xlarge | x86_64 |
| c8in.48xlarge | x86_64 |
| c8in.96xlarge | x86_64 |
| c8in.metal-48xl | x86_64 |
| c8in.metal-96xl | x86_64 |
| c8ib.8xlarge | x86_64 |
| c8ib.12xlarge | x86_64 |
| c8ib.16xlarge | x86_64 |
| c8ib.24xlarge | x86_64 |
| c8ib.32xlarge | x86_64 |
| c8ib.48xlarge | x86_64 |
| c8ib.96xlarge | x86_64 |
| c8ib.metal-48xl | x86_64 |
| c8ib.metal-96xl | x86_64 |
| c9g.8xlarge | arm64 |
| c9g.12xlarge | arm64 |
| c9g.16xlarge | arm64 |
| c9g.24xlarge | arm64 |
| c9g.48xlarge | arm64 |
| c9g.metal-48xl | arm64 |
| c9gd.8xlarge | arm64 |
| c9gd.12xlarge | arm64 |
| c9gd.16xlarge | arm64 |
| c9gd.24xlarge | arm64 |
| c9gd.48xlarge | arm64 |
| c9gd.metal-48xl | arm64 |
| Instance type | Architecture |
|---|---|
| r6a.12xlarge | x86_64 |
| r6a.16xlarge | x86_64 |
| r6a.24xlarge | x86_64 |
| r6a.32xlarge | x86_64 |
| r6a.48xlarge | x86_64 |
| r6a.metal | x86_64 |
| r6i.8xlarge | x86_64 |
| r6i.12xlarge | x86_64 |
| r6i.16xlarge | x86_64 |
| r6i.24xlarge | x86_64 |
| r6i.32xlarge | x86_64 |
| r6i.metal | x86_64 |
| r6id.8xlarge | x86_64 |
| r6id.12xlarge | x86_64 |
| r6id.16xlarge | x86_64 |
| r6id.24xlarge | x86_64 |
| r6id.32xlarge | x86_64 |
| r6id.metal | x86_64 |
| r6idn.8xlarge | x86_64 |
| r6idn.12xlarge | x86_64 |
| r6idn.16xlarge | x86_64 |
| r6idn.24xlarge | x86_64 |
| r6idn.32xlarge | x86_64 |
| r6idn.metal | x86_64 |
| r6in.8xlarge | x86_64 |
| r6in.12xlarge | x86_64 |
| r6in.16xlarge | x86_64 |
| r6in.24xlarge | x86_64 |
| r6in.32xlarge | x86_64 |
| r6in.metal | x86_64 |
| r7a.12xlarge | x86_64 |
| r7a.16xlarge | x86_64 |
| r7a.24xlarge | x86_64 |
| r7a.32xlarge | x86_64 |
| r7a.48xlarge | x86_64 |
| r7a.metal-48xl | x86_64 |
| r7g.12xlarge | arm64 |
| r7g.16xlarge | arm64 |
| r7g.metal | arm64 |
| r7gd.12xlarge | arm64 |
| r7gd.16xlarge | arm64 |
| r7gd.metal | arm64 |
| r7i.12xlarge | x86_64 |
| r7i.16xlarge | x86_64 |
| r7i.24xlarge | x86_64 |
| r7i.48xlarge | x86_64 |
| r7i.metal-24xl | x86_64 |
| r7i.metal-48xl | x86_64 |
| r7iz.8xlarge | x86_64 |
| r7iz.12xlarge | x86_64 |
| r7iz.16xlarge | x86_64 |
| r7iz.32xlarge | x86_64 |
| r7iz.metal-16xl | x86_64 |
| r7iz.metal-32xl | x86_64 |
| r8a.16xlarge | x86_64 |
| r8a.24xlarge | x86_64 |
| r8a.48xlarge | x86_64 |
| r8a.metal-24xl | x86_64 |
| r8a.metal-48xl | x86_64 |
| r8g.8xlarge | arm64 |
| r8g.12xlarge | arm64 |
| r8g.16xlarge | arm64 |
| r8g.24xlarge | arm64 |
| r8g.48xlarge | arm64 |
| r8g.metal-24xl | arm64 |
| r8g.metal-48xl | arm64 |
| r8gb.4xlarge | arm64 |
| r8gb.8xlarge | arm64 |
| r8gb.12xlarge | arm64 |
| r8gb.16xlarge | arm64 |
| r8gb.24xlarge | arm64 |
| r8gb.48xlarge | arm64 |
| r8gb.metal-24xl | arm64 |
| r8gb.metal-48xl | arm64 |
| r8gd.8xlarge | arm64 |
| r8gd.12xlarge | arm64 |
| r8gd.16xlarge | arm64 |
| r8gd.24xlarge | arm64 |
| r8gd.48xlarge | arm64 |
| r8gd.metal-24xl | arm64 |
| r8gd.metal-48xl | arm64 |
| r8gn.4xlarge | arm64 |
| r8gn.8xlarge | arm64 |
| r8gn.12xlarge | arm64 |
| r8gn.16xlarge | arm64 |
| r8gn.24xlarge | arm64 |
| r8gn.48xlarge | arm64 |
| r8gn.metal-24xl | arm64 |
| r8gn.metal-48xl | arm64 |
| r8i.8xlarge | x86_64 |
| r8i.12xlarge | x86_64 |
| r8i.16xlarge | x86_64 |
| r8i.24xlarge | x86_64 |
| r8i.32xlarge | x86_64 |
| r8i.48xlarge | x86_64 |
| r8i.96xlarge | x86_64 |
| r8i.metal-48xl | x86_64 |
| r8i.metal-96xl | x86_64 |
| r8id.8xlarge | x86_64 |
| r8id.12xlarge | x86_64 |
| r8id.16xlarge | x86_64 |
| r8id.24xlarge | x86_64 |
| r8id.32xlarge | x86_64 |
| r8id.48xlarge | x86_64 |
| r8id.96xlarge | x86_64 |
| r8id.metal-48xl | x86_64 |
| r8id.metal-96xl | x86_64 |
| r8in.8xlarge | x86_64 |
| r8in.12xlarge | x86_64 |
| r8in.16xlarge | x86_64 |
| r8in.24xlarge | x86_64 |
| r8in.32xlarge | x86_64 |
| r8in.48xlarge | x86_64 |
| r8in.96xlarge | x86_64 |
| r8in.metal-48xl | x86_64 |
| r8in.metal-96xl | x86_64 |
| r8idn.8xlarge | x86_64 |
| r8idn.12xlarge | x86_64 |
| r8idn.16xlarge | x86_64 |
| r8idn.24xlarge | x86_64 |
| r8idn.32xlarge | x86_64 |
| r8idn.48xlarge | x86_64 |
| r8idn.96xlarge | x86_64 |
| r8idn.metal-48xl | x86_64 |
| r8idn.metal-96xl | x86_64 |
| r8ib.8xlarge | x86_64 |
| r8ib.12xlarge | x86_64 |
| r8ib.16xlarge | x86_64 |
| r8ib.24xlarge | x86_64 |
| r8ib.32xlarge | x86_64 |
| r8ib.48xlarge | x86_64 |
| r8ib.96xlarge | x86_64 |
| r8ib.metal-48xl | x86_64 |
| r8ib.metal-96xl | x86_64 |
| r8idb.8xlarge | x86_64 |
| r8idb.12xlarge | x86_64 |
| r8idb.16xlarge | x86_64 |
| r8idb.24xlarge | x86_64 |
| r8idb.32xlarge | x86_64 |
| r8idb.48xlarge | x86_64 |
| r8idb.96xlarge | x86_64 |
| r8idb.metal-48xl | x86_64 |
| r8idb.metal-96xl | x86_64 |
| r9g.8xlarge | arm64 |
| r9g.12xlarge | arm64 |
| r9g.16xlarge | arm64 |
| r9g.24xlarge | arm64 |
| r9g.48xlarge | arm64 |
| r9g.metal-48xl | arm64 |
| r9gd.8xlarge | arm64 |
| r9gd.12xlarge | arm64 |
| r9gd.16xlarge | arm64 |
| r9gd.24xlarge | arm64 |
| r9gd.48xlarge | arm64 |
| r9gd.metal-48xl | arm64 |
| u7i-6tb.112xlarge | x86_64 |
| u7i-8tb.112xlarge | x86_64 |
| u7i-12tb.224xlarge | x86_64 |
| u7in-16tb.224xlarge | x86_64 |
| u7in-24tb.224xlarge | x86_64 |
| u7in-32tb.224xlarge | x86_64 |
| u7inh-32tb.480xlarge | x86_64 |
| x2idn.16xlarge | x86_64 |
| x2idn.24xlarge | x86_64 |
| x2idn.32xlarge | x86_64 |
| x2idn.metal | x86_64 |
| x2iedn.8xlarge | x86_64 |
| x2iedn.16xlarge | x86_64 |
| x2iedn.24xlarge | x86_64 |
| x2iedn.32xlarge | x86_64 |
| x2iedn.metal | x86_64 |
| x8g.8xlarge | arm64 |
| x8g.12xlarge | arm64 |
| x8g.16xlarge | arm64 |
| x8g.24xlarge | arm64 |
| x8g.48xlarge | arm64 |
| x8g.metal-24xl | arm64 |
| x8g.metal-48xl | arm64 |
| x8aedz.24xlarge | x86_64 |
| x8aedz.metal-24xl | x86_64 |
| x8i.8xlarge | x86_64 |
| x8i.12xlarge | x86_64 |
| x8i.16xlarge | x86_64 |
| x8i.24xlarge | x86_64 |
| x8i.32xlarge | x86_64 |
| x8i.48xlarge | x86_64 |
| x8i.64xlarge | x86_64 |
| x8i.96xlarge | x86_64 |
| x8i.metal-48xl | x86_64 |
| x8i.metal-96xl | x86_64 |
| Instance type | Architecture |
|---|---|
| g6.48xlarge | x86_64 |
| g6e.12xlarge | x86_64 |
| g6e.24xlarge | x86_64 |
| g6e.48xlarge | x86_64 |
| g7.24xlarge | x86_64 |
| g7.48xlarge | x86_64 |
| g7e.12xlarge | x86_64 |
| g7e.24xlarge | x86_64 |
| g7e.48xlarge | x86_64 |
| p5.4xlarge | x86_64 |
| p5.48xlarge | x86_64 |
| p5e.48xlarge | x86_64 |
| p5en.48xlarge | x86_64 |
| p6-b200.48xlarge | x86_64 |
| p6-b300.48xlarge | x86_64 |
| p6e-gb200.36xlarge | arm64 |
| Instance type | Architecture |
|---|---|
| i4g.4xlarge | arm64 |
| i4g.8xlarge | arm64 |
| i4g.16xlarge | arm64 |
| i4i.8xlarge | x86_64 |
| i4i.12xlarge | x86_64 |
| i4i.16xlarge | x86_64 |
| i4i.24xlarge | x86_64 |
| i4i.32xlarge | x86_64 |
| i4i.metal | x86_64 |
| i7i.12xlarge | x86_64 |
| i7i.16xlarge | x86_64 |
| i7i.24xlarge | x86_64 |
| i7i.48xlarge | x86_64 |
| i7i.metal-24xl | x86_64 |
| i7i.metal-48xl | x86_64 |
| i7ie.6xlarge | x86_64 |
| i7ie.12xlarge | x86_64 |
| i7ie.18xlarge | x86_64 |
| i7ie.24xlarge | x86_64 |
| i7ie.48xlarge | x86_64 |
| i7ie.metal-24xl | x86_64 |
| i7ie.metal-48xl | x86_64 |
| i8g.8xlarge | arm64 |
| i8g.12xlarge | arm64 |
| i8g.16xlarge | arm64 |
| i8g.24xlarge | arm64 |
| i8g.48xlarge | arm64 |
| i8g.metal-24xl | arm64 |
| i8g.metal-48xl | arm64 |
| i8ge.6xlarge | arm64 |
| i8ge.12xlarge | arm64 |
| i8ge.18xlarge | arm64 |
| i8ge.24xlarge | arm64 |
| i8ge.48xlarge | arm64 |
| i8ge.metal-24xl | arm64 |
| i8ge.metal-48xl | arm64 |
| im4gn.4xlarge | arm64 |
| im4gn.8xlarge | arm64 |
| im4gn.16xlarge | arm64 |