AWS 기술 블로그

AWS 글로벌 네트워크 성능 모니터링

이 글은 AWS Networking & Content Delivery Blog에 게시된 Monitoring AWS Global Network Performance by Kartik Bheemisetty and Vaibhav Katkade을 한국어로 번역 및 편집하였습니다.

AWS 고객은 AWS 글로벌 네트워크의 성능을 이해하고 싶을 때가 많습니다. 언제든지 AWS 글로벌 네트워크의 성능을 파악하면 새로운 AWS 리전 및 가용 영역(AZ) 으로의 확장을 계획하는 데 도움이 될 뿐만 아니라 성능 관련 인시던트의 문제 해결을 간소화할 수 있습니다. 오늘 저는 AWS 글로벌 네트워크의 성능을 더 잘 이해하는 데 도움이 되는 AWS Network Manager의 새로운 기능인 인프라 성능(Infrastructure Performance)을 소개하게 되어 기쁩니다. 새로 도입된 인프라 성능 기능을 사용하여 리전 간, AZ 간, AZ 내 실시간 지연 시간과 AWS 글로벌 네트워크의 상태를 모니터링할 수 있습니다. 플래닝을 위해 최대 45일 전의 AWS 네트워크 성능 과거 추세를 볼 수 있습니다. 또한 AWS Management Console을 통해 이러한 네트워크 성능 지표를 보고, Amazon CloudWatch를 사용하여 모니터링하고, 자체 모니터링 도구에 스트리밍할 수도 있습니다.

인프라 성능 시작하기

AWS Management Console에서 시작해 보겠습니다. 이 기능을 활성화하는 데 필요한 사전 구성은 없습니다. 콘솔의 통합 검색 표시줄 또는 Amazon Virtual Private Cloud (Amazon VPC) 콘솔에서 AWS Network Manager로 이동한 다음 AWS Network Manager의 왼쪽 탐색 모음에서 “인프라 성능(Infrastructure Performance)”을 선택합니다.

예를 들어 eu-west-1과 us-east-1, us-west-1, us-east-2, us-west-2, ap-south-1, ap-southeast-1, eu-west-2 간의 네트워크 성능을 모니터링 하고 싶다고 가정해 보겠습니다. 인프라 성능의 ‘리전 및 가용 영역 쌍’ 선택 표시줄에서 ‘리전 간’을 선택하고 원본 리전을 eu-west-1로 지정한 다음 대상 리전을 선택합니다. [그림 1]을 참조하십시오.

[그림 1] 리전 간, AZ 간 또는 AZ 내 연결을 선택합니다.

결과는 다음 [그림 2]와 같이, 선택한 리전 간의 왕복 지연 시간(밀리초)을 보여줍니다. 그래프 상단의 기간 선택기를 사용하여 최대 45일 전의 네트워크 성능 메트릭을 얻을 수 있습니다.

[그림 2] 네트워크 지연 시간은 시간 프레임을 기준으로 리전 간, AZ 간 또는 AZ 내 각 쌍의 왕복 지연 시간을 밀리초 단위로 보여줍니다.

인프라 성능은 네트워크 성능 측정 외에도 선택한 리전 간 또는 AZ 간 각 네트워크 성능 데이터 포인트에 대해 AWS 네트워크가 정상인지 여부를 파악하는 데도 도움이 됩니다. 이를 통해 AWS 네트워크 성능에 영향을 미치는 이벤트가 AWS 네트워크에 있었는지 여부를 더 쉽게 평가할 수 있습니다. 그래프에서 정상(녹색)은 네트워크 성능이 예상 지연 시간 이내임을 나타냅니다. 성능 저하(노란색)는 네트워크 성능이 예상보다 나쁘다는 것을 나타냅니다.(물론 AWS 네트워킹 팀은 항상 네트워크 상태를 모니터링합니다. 그들은 상태가 저하될 때마다 조사하고 대응합니다.)

[그림 3] 상태 타임라인에는 선택한 모든 쌍에 대해 집계된 네트워크 성능이 통합된 단일 상태 표시줄이 표시됩니다.

리전 간 네트워크 성능을 보는 방법과 마찬가지로 “리전 및 가용 영역 쌍” 선택 막대를 사용하여 AZ 간 또는 AZ 내 네트워크 성능을 볼 수 있습니다.다음 그림은 리전 및 가용 영역 쌍에서 “가용 영역 내”를 선택한 다음 euw1-az1, euw1-az2 및 euw1-az3을 선택하여 eu-west-1 리전 내 AZ의 총 네트워크 지연 시간을 확인한 결과입니다.

[그림 4] 네트워크 지연 시간은 시간 프레임을 기준으로 선택한 각 쌍에 대한 왕복 지연 시간(밀리초)을 보여줍니다.

CloudWatch를 사용하여 인프라 성능 모니터링

인프라 성능은 네트워크 성능 측정치를 CloudWatch의 지표로 게시할 수 있도록 지원합니다. 이를 통해 CloudWatch를 사용하여 데이터를 보고, 저장하고, 분석하고, 경고하고, 내보낼 수 있습니다. 참고로 CloudWatch에 게시하는 각 리전 간, AZ 간 또는 AZ 내 쌍 지표에 대해서는 CloudWatch 지표 비용을 지불해야 합니다.

CloudWatch를 사용하여 모니터링을 활성화하려는 항목을 선택합니다. 이 예시에서는 “Source=eu-west-1”, “Destination=us-east-1” 을 “and” 조건으로 검색하여 선택한 후, 오른쪽 상단의 “CloudWatch 구독 관리” 버튼을 선택합니다.

[그림 5] 콘솔을 통한 CloudWatch 구독 관리

다음 페이지의 오른쪽 상단의 “구독 업데이트” 드롭다운에서 “구독”을 선택한 다음 “확인” 버튼을 누릅니다.

[그림 6] 구독 업데이트 버튼을 선택하여 구독 관리

그런 다음 CloudWatch 콘솔의 지표(Metric) 항목으로 이동하여 “ AWS/EC2/InfrastructurePerformance > Destination, MetricType, Period, Scope, Source, Statistic” 에서 AggregateAWSNetworkPerformance 라는 지표 이름을 사용하여 확인합니다. p50이 유일하게 지원되는 통계이며, 지표 값은 총 지연 시간을 나타냅니다. (구독 활성화 후 지표항목이 CloudWatch 에 나타나기까지 약간의 시간이 소요됩니다.)

[그림 7] CloudWatch 지표를 통한 글로벌 네트워크 성능

CloudWatch에 네트워크 성능 지표를 게시하고 나면 애플리케이션 성능 지표를 네트워크 성능 지표와 오버레이하여, 네트워크 성능이 애플리케이션 성능에 미치는 영향을 이해할 수도 있습니다.

또한 AWS 명령줄 인터페이스(AWS CLI) 를 활용하여 인프라 성능이 제공하는 지표를 CloudWatch에 게시할 수 있습니다. 예를 들어, 다음 명령어를 사용하여 eu-west-1과 us-east-1 간의 리전 간 지표를 게시할 수 있습니다.

aws ec2 --region eu-west-1 enable-aws-network-performance-metric-subscription --source eu-west-1 --destination us-east-1 --metric aggregate-latency --statistic p50

CloudWatch 경보를 활성화한 경우 선택한 총 지연 시간에 경보가 시작하여 네트워크 성능 저하가 있을 때 이를 알릴 수 있도록 구성할 수 있습니다. 지표 데이터를 기반으로 CloudWatch 경보를 구성하는 방법을 알아보려면 설명서를 참조하십시오.

[그림 8] AggregateAWSNetworkPerformance 지표를 기반으로 하는 CloudWatch 경보 생성

API를 사용하여 인프라 성능 모니터링

콘솔과 CloudWatch 외에도 Amazon API에서 GetAwsNetworkPerformanceData API를 호출하여 네트워크 성능 데이터를 가져올 수도 있습니다. 다음 예시에서는 2022-12-31일에 시작 시간 12:00:00 과 종료 시간 12:30:00 UTC 사이에 eu-west-1과 us-east-1 라는 두 리전 간의 네트워크 성능을 쿼리합니다.

aws ec2 --region eu-west-1 get-aws-network-performance-data --start-time 2022-12-31T12:00:00.000Z --end-time 2022-12-31T12:10:00.000Z --data-queries Id=id1,Source=eu-west-1,Destination=us-east-1,Metric=aggregate-latency,Statistic=p50,Period=five-minutes

이는 다음과 같은 결과를 반환합니다.

{
    "DataResponses": [
        {
            "Id": "id1",
            "Source": "eu-west-1",
            "Destination": "us-east-1",
            "Metric": "aggregate-latency",
            "Statistic": "p50",
            "Period": "five-minutes",
            "MetricPoints": [
                {
                    "StartDate": "2022-12-31T12:00:00+00:00",
                    "EndDate": "2022-12-31T12:05:00+00:00",
                    "Value": 66.51299,
                    "Status": "OK"
                },
                {
                    "StartDate": "2022-12-31T12:05:00+00:00",
                    "EndDate": "2022-12-31T12:10:00+00:00",
                    "Value": 66.49199,
                    "Status": "OK"
                },
                {
                    "StartDate": "2022-12-31T12:10:00+00:00",
                    "EndDate": "2022-12-31T12:15:00+00:00",
                    "Value": 66.455986,
                    "Status": "OK"
                }
            ]
        }
    ]

인프라 성능은 IAM과 함께 작동합니다. 이를 통해 ID 기반 정책(identity-based policies)을 사용하여 허용 또는 거부된 작업 및 리소스는 물론 이 기능의 작업이 허용되거나 거부되는 조건을 지정할 수 있습니다.

AWS 네트워크 성능에 대한 가시성을 확보하세요!

설명서에 기재된 대로 AWS 리전의 AWS Network Manager에서 AWS 글로벌 네트워크의 성능을 보고 모니터링 할 수 있습니다. 지금 바로 인프라 성능을 시작하여 AWS 네트워크의 상태와 성능을 파악하고, CloudWatch를 사용하여 AWS 네트워크 성능을 모니터링하세요. AWS 네트워크 성능이 애플리케이션 성능에 미치는 영향을 이해할 수 있습니다.

HwiKyoung Kim

HwiKyoung Kim

김휘경 솔루션즈 아키텍트는 대규모 프로덕션 환경의 미들웨어 운영, 설계 및 구축을 한 경험을 바탕으로 고객들의 워크로드에 적합한 AWS 클라우드 아키텍처를 제안하며, 고객들의 기술적인 고민을 해소할 수 있도록 돕는 역할을 하고 있습니다.