네트워크 아키텍처 선택 - 성능 효율성 원칙

네트워크 아키텍처 선택

워크로드에 대한 최적의 네트워크 솔루션은 지연 시간, 처리량 요구 사항, 지터 및 대역폭에 따라 다릅니다. 위치 옵션은 사용자 또는 온프레미스 리소스와 같은 물리적 제약에 따라 결정됩니다. 엣지 로케이션 또는 리소스 배치를 통해 이러한 제약을 상쇄할 수 있습니다.

AWS에서 네트워킹은 가상화되고 다양한 유형 및 구성으로 제공됩니다. 따라서 요구 사항에 일치하는 네트워킹 방법을 보다 쉽게 찾을 수 있습니다. AWS는 네트워크 트래픽을 최적화하는 제품 기능(예: 향상된 네트워킹, Amazon EC2 네트워킹 최적화 인스턴스, Amazon S3 Transfer Acceleration, 동적 Amazon CloudFront)을 제공합니다. 또한 AWS는 네트워크 거리 또는 지터를 줄이기 위한 네트워킹 기능(예: Amazon Route 53 지연 시간 기반 라우팅, Amazon VPC 종단점, AWS Direct Connect 및 AWS Global Accelerator)도 제공합니다.

네트워킹이 성능에 미치는 영향 파악: 네트워크 관련 기능이 워크로드 성능에 미치는 영향을 분석하고 파악합니다. 예를 들어 네트워크 지연 시간은 사용자 경험에 영향을 미치며 네트워크 용량을 충분히 제공하지 않으면 워크로드 성능에 병목 현상이 발생할 수 있습니다.

네트워크는 모든 애플리케이션 구성 요소 사이에 있기 때문에 애플리케이션 성능 및 동작에 긍정적, 부정적인 영향을 미칠 수 있습니다. 또한 클러스터 성능을 높이는 데 있어서 심층적인 네트워크 지식이 요구되는 HPC(고성능 컴퓨팅)와 같이 네트워크 성능에 크게 의존하는 애플리케이션도 있습니다. 따라서 대역폭, 지연 시간, 지터 및 처리량에 대한 워크로드 요구 사항을 결정해야 합니다.

사용 가능한 네트워킹 기능 평가: 클라우드에서 성능을 높일 수 있는 네트워킹 기능을 평가합니다. 테스트, 지표 및 분석을 통해 이러한 기능의 영향을 측정할 수 있습니다. 예를 들어 지연 시간, 네트워크 거리 또는 지터를 줄이는 데 사용할 수 있는 네트워크 수준 기능을 활용합니다.

일반적으로 네트워크 성능을 최적화하는 기능을 제공하는 서비스가 많습니다. 그러므로 네트워크 트래픽을 최적화하는 제품 기능(예: EC2 인스턴스 네트워크 기능, 강화된 네트워킹 인스턴스 유형, Amazon EBS 최적화 인스턴스, Amazon S3 Transfer Acceleration, 동적 CloudFront)을 고려해야 합니다.

AWS Global Accelerator 는 AWS 글로벌 네트워크를 사용하여 글로벌 애플리케이션 가용성 및 성능을 개선하는 서비스입니다. 이 서비스는 정체가 없는 방대한 AWS 글로벌 네트워크를 활용하여 네트워크 경로를 최적화합니다. DNS 구성을 업데이트하거나 클라이언트용 애플리케이션을 변경하지 않고도 가용 영역 또는 AWS 리전 간에 엔드포인트를 쉽게 이동할 수 있는 고정 IP 주소를 제공합니다.

외부 사용자는 Amazon S3 콘텐츠 가속 기능을 통해 CloudFront의 네트워킹 최적화 이점을 활용하여 Amazon S3에 데이터를 업로드할 수 있습니다. 이렇게 하면 AWS 클라우드 전용 연결을 사용할 수 없는 원격 위치에서 대량의 데이터를 전송할 수 있습니다.

최신 버전의 EC2 인스턴스는 강화된 네트워킹 기능을 활용할 수 있습니다. M5n 및 M5dn과 같은 N 시리즈 EC2 인스턴스는 4세대 사용자 지정 니트로 카드 및 Elastic Network Adapter(ENA) 디바이스를 활용하여 단일 인스턴스에 최대 100Gbps의 네트워크 처리량을 제공합니다. 이러한 인스턴스는 기본 M5 인스턴스에 비해 4배 더 높은 네트워크 대역폭과 패킷 프로세스를 제공하며 네트워크 집약적 애플리케이션에 적합합니다. 또한 특정 인스턴스 크기의 M5n 및 M5dn 인스턴스에서 Elastic Fabric Adapter(EFA)를 활성화하여 네트워크 지연 시간을 짧고 일관성 있게 유지할 수도 있습니다.

단일 배치 그룹 내의 인스턴스용으로 네트워크 용량 20Gbps를 제공하는 Amazon Elastic Network Adapter(ENA)를 활용하면 성능을 더욱 최적화할 수 있습니다. Elastic Fabric Adapter(EFA)는 AWS에서 높은 수준의 대규모 노드 간 통신이 필요한 워크로드를 실행할 때 사용할 수 있는 Amazon EC2 인스턴스용 네트워크 인터페이스입니다. EFA를 사용하면 MPI(메시지 전달 인터페이스)를 사용하는 HPC(고성능 컴퓨팅) 애플리케이션과 NCCL(NVIDIA Collective Communications Library)을 사용하는 ML(기계 학습) 애플리케이션을 수천 개 CPU 또는 GPU로 확장할 수 있습니다.

최적화된 구성 스택을 사용하는 Amazon EBS 최적화 인스턴스는 Amazon EBS I/O 전용 용량을 추가로 제공합니다. 이 최적화를 수행하면 Amazon EBS I/O와 인스턴스의 기타 트래픽 간에 경합이 최소화되므로 EBS 볼륨의 성능을 최대한 높일 수 있습니다.

Amazon Route 53용 LBR(지연 시간 기반 라우팅)을 사용하면 전 세계 고객을 대상으로 워크로드 성능을 개선할 수 있습니다. LBR은 워크로드가 실행되는 다양한 AWS 리전의 실제 성능 측정값을 기준으로 하여 가장 빠른 환경을 제공하는 AWS 엔드포인트(예: EC2 인스턴스, 탄력적 IP 주소 또는 ELB 로드 밸런서)로 고객을 라우팅하는 방식으로 작동합니다.

Amazon VPC 종단점은 인터넷 게이트웨이 또는 NAT(네트워크 주소 변환) 인스턴스가 없어도 Amazon S3 등의 AWS 서비스에 안정적으로 연결할 수 있는 기능을 제공합니다.

하이브리드 워크로드에 적절한 규모의 전용 연결 또는 VPN 선택: 온프레미스 통신에 대한 요구 사항이 있는 경우 대역폭이 워크로드 성능을 제공하기에 충분한지 확인합니다. 대역폭 요구 사항에 따라 단일의 전용 연결 또는 단일 VPN으로는 충분하지 않을 수 있으며, 여러 연결 간에 트래픽 로드 밸런싱을 활성화해야 합니다.

하이브리드 워크로드에 대한 대역폭 및 지연 시간 요구 사항을 추정해야 합니다. AWS Direct Connect 또는 VPN 엔드포인트의 크기 요구 사항은 이러한 수치를 바탕으로 결정됩니다.

AWS Direct Connect 는 AWS 환경으로의 전용 연결(50Mbps~10Gbps)을 제공합니다. 그러므로 지연 시간을 관리/제어하고 대역폭을 프로비저닝할 수 있습니다. 따라서 워크로드에서 우수한 성능을 유지하면서 다른 환경에 쉽게 연결할 수 있습니다. AWS Direct Connect 파트너 중 하나를 활용하면 여러 환경에서 엔드 투 엔트 연결 기능을 사용할 수 있으므로 성능이 일관되게 유지되는 확장 네트워크가 제공됩니다.

AWS Site-to-Site VPN 은 VPC를 위한 관리형 VPN 서비스입니다. VPN 연결을 생성하면 두 개의 다른 VPN 엔드포인트로 연결되는 터널이 제공됩니다. 콘텐츠 소비 방식의 AWS Transit Gateway를 사용하면 여러 VPC 간의 연결을 간소화하고 단일 VPN 연결을 통해 AWS Transit Gateway에 연결된 모든 VPC에 연결할 수 있습니다. 또한 AWS Transit Gateway를 사용하면 여러 VPN 터널에서 ECMP(Equal Cost Multi-Path) 라우팅 지원을 활성화하여 1.25Gbps IPsec VPN 처리량 제한 이상으로 확장할 수 있습니다.

로드 밸런싱 및 암호화 오프로딩 활용: 클라우드의 탄력성을 워크로드에 활용할 수 있도록 여러 리소스 또는 서비스에 트래픽을 분산합니다. 로드 밸런싱을 사용하여 암호화 종료를 오프로드하면 성능을 개선하고 트래픽을 효율적으로 관리/라우팅할 수 있습니다.

서비스 콘텐츠용으로 여러 인스턴스를 사용하려는 확장 아키텍처를 구현할 때는 Amazon VPC 내의 로드 밸런서를 활용할 수 있습니다. AWS는 ELB 서비스에서 애플리케이션용으로 여러 모델을 제공합니다. HTTP 및 HTTPS 트래픽을 로드 밸런싱하는 데 가장 적합한 Application Load Balancer는 마이크로서비스 및 컨테이너를 비롯한 최신 애플리케이션 아키텍처를 제공할 때 사용할 수 있는 고급 요청 라우팅 기능을 제공합니다.

Network Load Balancer는 성능이 매우 우수해야 하는 TCP 트래픽 로드 밸런싱을 수행하려는 경우에 사용하면 가장 효율적입니다. 또한 지연 시간을 매우 짧게 유지하면서 초당 수백만 개의 요청을 처리할 수 있으며, 예상치 못한 휘발성 트래픽 패턴도 처리할 수 있도록 최적화되어 있습니다.

Elastic Load Balancing 이 제공하는 통합 인증서 관리 및 SSL/TLS 복호화를 활용하면 로드 밸런서의 SSL 설정을 중앙에서 유연하게 관리하고 CPU 집약적인 작업을 워크로드에서 오프로드할 수 있습니다.

네트워크 트래픽을 최적화하는 네트워크 프로토콜 선택: 워크로드 성능에 미치는 영향을 기준으로 시스템과 네트워크 간의 통신에 사용할 프로토콜을 결정합니다.

원하는 처리량을 달성하려면 지연 시간과 대역폭 간의 관계를 고려해야 합니다. 파일 전송에서 TCP를 사용하는 경우 지연 시간이 길수록 전체 처리량이 줄어듭니다. 이 문제는 TCP 튜닝 및 최적화된 전송 프로토콜을 사용하여 해결되며 경우에 따라 UDP를 사용하기도 합니다.

네트워크 요구 사항에 따라 위치 선택: 제공되는 클라우드 위치 옵션을 사용하여 네트워크 지연 시간을 줄이고 처리량을 개선합니다. AWS 리전, 가용 영역, 배치 그룹, 엣지 로케이션(예: Outposts, Local Zones 및 Wavelength)을 활용하여 네트워크 지연 시간을 줄이거나 처리량을 늘립니다.

AWS 클라우드 인프라는 리전 및 가용 영역을 중심으로 구축됩니다. 리전은 가용 영역이 여러 개 포함된 전 세계의 실제 위치입니다.

가용 영역은 하나 이상의 개별 데이터 센터로 구성됩니다. 각 데이터 센터는 분리된 시설에 구축되며 이중화된 전력, 네트워킹 및 연결 기능을 갖추고 있습니다. 이러한 가용 영역을 사용하면 단일 데이터 센터에서 기대할 수 있는 것보다 더 높은 가용성, 내결함성 및 확장성을 지닌 프로덕션 애플리케이션과 데이터베이스를 운영할 수 있습니다.

다음과 같은 주요 요소를 토대로 하여 배포용으로 적절한 리전을 하나 이상 선택합니다.

  • 사용자의 위치: 워크로드 사용자 근처의 리전을 선택하면 사용자가 워크로드를 사용할 때 지연 시간이 단축됩니다.

  • 데이터의 위치: 데이터를 많이 사용하는 애플리케이션에서는 데이터 전송 시 지연 시간 병목 현상이 가장 많이 발생합니다. 따라서 애플리케이션 코드는 최대한 데이터와 가까운 위치에서 실행되어야 합니다.

  • 기타 제약 조건: 보안 및 규정 준수 등의 제약을 고려해야 합니다.

Amazon EC2는 네트워킹용 배치 그룹을 제공합니다. 배치 그룹은 단일 가용 영역 내에 있는 인스턴스의 논리적 그룹입니다. 지원되는 인스턴스 유형이 포함된 배치 그룹과 ENA(Elastic Network Adapter)를 사용하면 지연 시간이 짧은 25Gbps 네트워크에 워크로드를 연결할 수 있습니다. 네트워크 지연 시간이 짧거나 처리량이 높은 경우 또는 두 조건을 모두 충족하는 경우 성능이 개선되는 워크로드에는 배치 그룹을 사용하는 것이 좋습니다. 배치 그룹을 사용하면 네트워크 통신의 지터를 줄일 수 있습니다.

지연 시간이 중요한 서비스는 전 세계 엣지 로케이션 네트워크를 사용하여 엣지에서 전송됩니다. 이러한 엣지 로케이션에서는 보통 CDN(콘텐츠 전송 네트워크) 및 DNS(Domain Name System)와 같은 서비스를 제공합니다. 엣지에서 이러한 서비스를 사용함으로써 워크로드 지연 시간을 짧게 유지하면서 콘텐츠 또는 DNS 확인 요청에 응답할 수 있습니다. 이러한 서비스는 지리적 콘텐츠 타게팅(최종 사용자의 위치를 기준으로 각기 다른 콘텐츠 제공) 등의 지리적 서비스나 최종 사용자를 가장 가까운 리전으로 라우팅하는 지연 시간 기반 라우팅(지연 시간이 최소화됨)도 제공합니다.

Amazon CloudFront 는 이미지, 스크립트, 비디오 등의 정적 콘텐츠와 API, 웹 애플리케이션 등의 동적 콘텐츠를 모두 빠르게 전송하는 데 사용할 수 있는 글로벌 CDN입니다. 이 서비스는 사용자에게 고성능 네트워크 연결을 제공하며 콘텐츠를 캐시하는 전 세계 엣지 로케이션 네트워크를 활용합니다. 또한 CloudFront에서는 콘텐츠 업로딩 및 동적 애플리케이션과 같은 기타 여러 기능도 더 빠르게 사용할 수 있으므로, 인터넷을 통해 트래픽을 처리하는 모든 애플리케이션의 성능이 향상됩니다. Lambda@Edge 는 워크로드의 사용자와 가까운 위치에서 코드를 실행하여 성능을 개선하고 지연 시간을 줄일 수 있는 Amazon CloudFront의 기능입니다.

Amazon Route 53는 가용성과 확장성이 뛰어난 클라우드 DNS 웹 서비스입니다. 이 서비스는 www.example.com과 같은 이름을 컴퓨터가 서로 연결하는 데 사용하는 IP 주소(예:192.168.2.1)로 변환하는 방식을 통해 최종 사용자를 인터넷 애플리케이션으로 라우팅하는 매우 안정적이면서도 경제적인 방식을 개발자와 기업에 제공합니다. 또한 Route 53는 IPv6와 완벽히 호환됩니다.

AWS Outposts 는 지연 시간 요구 사항으로 인해 온프레미스에 유지해야 하지만 AWS의 나머지 워크로드와 함께 원활하게 실행되어야 하는 워크로드를 위해 설계되었습니다. AWS Outposts는 AWS에서 설계한 하드웨어로 구축된 완전관리형의 구성 가능한 컴퓨팅 및 스토리지 랙이며 온프레미스에서 컴퓨팅 및 스토리지를 실행하고 클라우드의 광범위한 AWS 서비스에 원활하게 연결할 수 있습니다.

AWS 로컬 영역 은 동영상 렌더링 및 그래픽 집약적인 가상 데스크톱 애플리케이션처럼 10밀리초 미만의 지연 시간이 요구되는 워크로드를 실행하도록 설계된 새로운 유형의 AWS 인프라입니다. Local Zones에서는 최종 사용자와 가까운 위치에 컴퓨팅 및 스토리지 리소스를 배치함으로써 제공되는 모든 이점을 실현할 수 있습니다.

AWS Wavelength 는 AWS 인프라, 서비스, API 및 도구를 5G 네트워크로 확장하여 지연 시간이 아주 짧은 애플리케이션을 5G 디바이스에 제공하도록 설계되었습니다. Wavelength는 통신 공급자의 5G 네트워크 안에 스토리지와 컴퓨팅을 내장하여 IoT 디바이스, 게임 스트리밍, 자율 주행 차량 및 라이브 미디어 제작 등 10밀리초 미만의 지연 시간이 요구되는 5G 워크로드를 지원합니다.

지연 시간을 줄이고 콘텐츠 캐싱을 활성화하려면 엣지 서비스를 사용합니다. 이러한 방식의 이점을 최대한 활용하려면 DNS 및 HTTP/HTTPS용으로 캐시 제어를 올바르게 구성했는지 확인하십시오.

지표를 기준으로 네트워크 구성 최적화: 수집 및 분석된 데이터가 제공하는 정보를 사용하여 네트워크 구성 최적화를 결정합니다. 이러한 변경의 영향을 측정한 다음 영향 측정값을 활용해 향후 결정을 내립니다.

워크로드에 사용되는 모든 VPC 네트워크에 대해 VPC 흐름 로그를 활성화합니다. VPC 흐름 로그는 VPC의 네트워크 인터페이스에서 전송되고 수신되는 IP 트래픽에 대한 정보를 포착하는 데 사용할 수 있는 기능입니다. VPC 흐름 로그는 특정 트래픽이 인스턴스에 도달하지 않는 이유, 과도하게 제한적인 보안 그룹 규칙을 진단하는 것과 같은 다수의 작업을 수행하는 데 도움이 됩니다. 흐름 로그를 보안 도구로 사용하여 인스턴스에 도달하는 트래픽을 모니터링하고, 네트워크 트래픽을 프로파일링하고, 비정상적인 트래픽 동작을 찾을 수 있습니다.

워크로드가 변경되면 네트워킹 지표를 사용하여 네트워킹 구성을 변경합니다. 클라우드 기반 네트워크는 빠르게 재구축될 수 있으므로 성능 효율성을 유지하려면 네트워크 아키텍처를 지속적으로 변경해야 합니다.