PERF05-BP02 사용 가능한 네트워킹 기능 평가 - AWS Well-Architected Framework

PERF05-BP02 사용 가능한 네트워킹 기능 평가

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

많은 서비스가 성능 개선을 위해 개발되며 다른 서비스는 일반적으로 네트워크 성능을 최적화하기 위한 기능을 제공합니다. AWS Global Accelerator 및 Amazon CloudFront 등과 같은 서비스는 성능을 개선하기 위해 개발된 반면에 대부분의 다른 서비스는 네트워크 트래픽을 최적화하기 위한 제품 기능을 갖추고 있습니다. 그러므로 워크로드 성능을 개선하는 서비스 기능(예: EC2 인스턴스 네트워크 기능, 강화된 네트워킹 인스턴스 유형, Amazon EBS 최적화 인스턴스, Amazon S3 Transfer Acceleration, CloudFront)을 고려해야 합니다.

원하는 결과: 워크로드 내 구성 요소 인벤토리를 문서화했으며 구성 요소별로 어떤 네트워킹 구성이 성능 요구 사항을 충족하도록 돕는지 파악했습니다. 네트워킹 기능을 평가한 후 성능 지표를 실험 및 측정하여 사용 가능한 기능을 사용하는 방법을 파악했습니다.

일반적인 안티 패턴:

  • 모든 워크로드를 최종 사용자에게 가까운 AWS 리전이 아니라 본사에 가장 가까운 AWS 리전에 저장합니다.

  • 워크로드 성능 벤치마크에 실패했는데, 실패한 벤치마크를 기준으로 계속해서 워크로드 성능을 평가하고 있습니다.

  • 성능 개선 옵션을 확인하기 위해 서비스 구성을 검토하지 않습니다.

이 모범 사례 확립의 이점: 모든 서비스 기능 및 옵션을 평가하면 워크로드 성능을 개선하고 인프라 비용을 줄이고 워크로드를 유지 관리하는 데 필요한 작업을 줄이며 전반적인 보안 상태를 개선할 수 있습니다. 전 세계에 분산된 AWS 백본을 사용하여 고객에게 최상의 네트워킹 환경을 제공할 수 있습니다.

이 모범 사례가 확립되지 않을 경우 노출되는 위험 수준: 높음

구현 가이드

사용 가능한 네트워크 관련 구성 옵션과 이러한 옵션이 워크로드에 미치는 영향을 검토합니다. 성능 최적화에서는 이러한 옵션이 아키텍처와 상호 작용하는 방식과 측정된 성능과 사용자의 체감 성능에 미치는 영향을 파악하는 것이 중요합니다.

구현 단계:

  1. 워크로드 구성 요소 목록을 만듭니다.

    1. AWS 클라우드 WAN을 사용하여 조직 네트워크를 구축, 관리 및 모니터링합니다.

    2. Network Manager를 사용하여 네트워크의 상태를 파악합니다. 기존 구성 관리 데이터베이스(CMDB) 도구를 사용하거나 AWS Config 등과 같은 도구를 사용하여 워크로드 인벤토리 또는 구성 방식을 생성합니다.

  2. 기존 워크로드인 경우에는 성능 지표의 벤치마크를 식별하고 문서화하여 병목 현상과 개선해야 할 부분에 집중적으로 살펴봅니다. 성능 관련 네트워킹 지표는 비즈니스 요구 사항 및 워크로드 특성을 기준으로 워크로드에 따라 다릅니다. 무엇보다 대역폭, 지연 시간, 패킷 손실, 지터 및 재전송 등과 같은 지표가 워크로드 검토에 중요할 수 있습니다.

  3. 새로운 워크로드인 경우 로드 테스트 를 수행하여 성능 병목 현상을 파악합니다.

  4. 파악한 성능 병목 현상에 대해 솔루션의 구성 옵션을 검토하여 성능 개선 기회를 파악합니다.

  5. 네트워크 경로 또는 루트를 모르는 경우 Network Access Analyzer 를 사용하여 파악합니다.

  6. 지연 시간을 더욱 단축할 수 있는 네트워크 프로토콜을 검토합니다.

  7. 여러 위치에서 AWS Site-to-Site VPN을 사용하여 AWS 리전에 연결하는 경우에는 가속화된 Site-to-Site VPN 연결 을 살펴보고 네트워킹 성능을 개선할 수 있는 기회가 있는지 검토합니다.

  8. 워크로드 트래픽이 여러 계정에 분산된 경우 네트워크 토폴로지 및 서비스를 평가하여 지연 시간을 단축합니다.

    • 여러 계정을 연결할 때 VPC 피어링AWS Transit Gateway 사이 운영 및 성능 균형을 평가합니다. AWS Transit Gateway에서는 AWS Site-to-Site VPN 처리량이 단일 IPsec 최대 한도 를 초과한 경우 다중 경로를 사용하여 지원합니다. Amazon VPC과(와) AWS Transit Gateway 간 트래픽은 프라이빗 AWS 네트워크에서 유지되어 인터넷에 노출되지 않습니다. AWS Transit Gateway은(는) 수천 개의 AWS 계정 간에 걸쳐 있고 온프레미스 네트워크에 연결되는 모든 VPC를 상호 연결하는 방식을 간소화합니다. AWS Transit Gateway은(는) Resource Access Manager를 사용하여 여러 계정 간에 공유합니다. 글로벌 네트워크 트래픽의 상태를 파악하기 위해 Network Manager 를 사용하여 네트워크 지표를 중앙에서 확인할 수 있습니다.

  9. 위치를 검토하고 사용자와 워크로드 간 거리를 최소화합니다.

    1. AWS Global Accelerator 은(는) Amazon Web Services 글로벌 네트워크 인프라를 사용하여 사용자 트래픽의 성능을 최대 60%까지 개선하는 네트워킹 서비스입니다. 인터넷 연결이 혼잡한 경우 AWS Global Accelerator은(는) 애플리케이션 경로를 최적화하여 패킷 손실, 지터 및 지연 시간을 지속적으로 줄입니다. DNS 구성을 업데이트하거나 클라이언트용 애플리케이션을 변경하지 않고도 가용 영역 또는 AWS 리전 간에 엔드포인트 이동을 간소화하는 고정 IP 주소를 제공합니다.

    2. Amazon CloudFront 은(는) 워크로드 콘텐츠 전송 성능 및 지연 시간을 전역적으로 개선할 수 있습니다. CloudFront은(는) 콘텐츠를 캐시하고 최종 사용자에 대한 지연 시간을 단축할 수 있는 접속 지점을 전 세계에 410개 이상 보유하고 있습니다.

    3. Amazon Route 53은(는) 지연 시간 기반 라우팅, 지리적 위치 라우팅, 지리 근접 라우팅IP 기반 라우팅 옵션을 제공하여 전 세계 고객을 대상으로 워크로드 성능을 개선할 수 있습니다. 워크로드 트래픽 및 사용자 위치를 검토하여 어떤 라우팅 옵션이 워크로드 성능을 최적화하는지 파악합니다.

  10. 스토리지 IOP를 개선하기 위한 추가 Amazon S3 기능을 평가합니다.

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

    2. Amazon S3 다중 리전 액세스 포인트 는 콘텐츠를 여러 리전으로 복제하고 액세스 포인트 하나를 제공하여 워크로드를 간소화합니다. 다중 리전 액세스 포인트를 사용하는 경우 가장 낮은 지연 시간 버킷을 식별하는 서비스로 데이터를 요청하거나 Amazon S3에 데이터를 쓸 수 있습니다.

  11. 컴퓨팅 리소스 네트워크 대역폭을 검토합니다.

    1. EC2 인스턴스, 컨테이너 및 Lambda 함수에서 사용하는 탄력적 네트워크 인터페이스(ENI)는 흐름 기준으로 제한됩니다. 배치 그룹을 검토하여 EC2 네트워킹 처리량을 최적화할 수 있습니다.. 흐름 기준에서 병목 현상을 방지하려면 여러 흐름을 사용하도록 애플리케이션을 설계합니다. 컴퓨팅 관련 네트워크 지표를 모니터링하고 이러한 지표에 대한 가시성을 얻으려면 CloudWatch 지표ethtool을 사용합니다. ethtool 은 ENA 드라이버에 포함되어 있으며 사용자 지정 지표로 CloudWatch에 게시할 수 있는 추가 네트워크 관련 지표를 노출할 수 있습니다.

    2. 최신 버전의 EC2 인스턴스는 강화된 네트워킹 기능을 활용할 수 있습니다. N-시리즈 EC2 인스턴스(예: M5nM5dn)는 4세대 사용자 지정 Nitro card를 활용하여 단일 인스턴스에 최대 100Gbps의 네트워크 처리량을 전달합니다. 이러한 인스턴스는 기본 M5 인스턴스에 비해 4배 더 높은 네트워크 대역폭과 패킷 프로세스를 제공하며 네트워크 집약적 애플리케이션에 적합합니다.

    3. Amazon Elastic Network Adapter (ENA)는 클러스터 배치 그룹 내에서 인스턴스에 대해 더 나은 처리량을 제공하여 한층 더 최적화합니다.

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

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

구현 계획의 작업 수준: 

이 모범 사례를 확립하려면 네트워크 성능에 영향을 미치는 현재 워크로드 구성 요소 옵션을 알아야 합니다. 구성 요소 수집, 네트워크 개선 옵션 평가, 개선 사항 실험, 구현 및 문서화는 작업 수준이 낮음 에서 중간 입니다.

리소스

관련 문서:

관련 동영상:

관련 예시: