일단 문서의 모든 내용을 이해한 것이 아니라 찾아보고 공부할 것들이 많이 있다. 실제 하드웨어의 스펙도 실무에서 쓰는 것과 다른 부분이 많기 때문에 어떤 항목들에 대한 튜닝과 개선을 통해 넷플릭스 만큼은 아니더라도 대역폭을 더 적은 자원을 소모하면서 뽑아낼 것인가에 대한 연구는 해볼만할 것 같다.
FreeBSD의 기술행사인 EuroBSDCon 2022에서 발표된 넷플릭스의 프레젠테이션 자료는 아래와 같다.
글로벌 Edge Location을 이용한 가속 상품 Global Accelerator 속칭 GA는 모니터링 할 수 있는 메트릭을 많이 제공하지는 않습니다. Flowlog를 제공하긴 하지만 뭔가 서비스 레벨에서 모니터링하긴 애매하고... 가능한 지표들을 가지고 CloudWatch 대시보드로 구성해 보았습니다.
Global Accelerator 지표는 Oregon 리전에...
AWS의 제품들 중 일부는 특정 리전에서만 사용할 수 있거나 특정 리전에서만 모니터링 할 수 있는 제품들이 있습니다. Global Accelerator 역시 그런 제품중 하나로 GA의 지표들은 US West 혹은 us-west-2로 표기되는 Oregon 리전에서 제공됩니다.
GlobalAccelerator 메트릭을 선택하면 하위에 여러가지 메트릭이 다시 나옵니다.
참 애매한 것이 중복되서 제공되는 메트릭들이 있어서 GlobalAccelerator, Listener, EndpointGroup 등이 뭉쳐서 나오는 것들이 있어서... 처음 보면 당황하기 딱 좋습니다.
Accelerator 메트릭
개인적으로 추천드리는 첫번째 지표는 Accelerator 입니다. 실제 GA 인스턴스?가 처리하는 지표 다섯가지가 이곳에 있습니다.
GA의 ProcessedBytesIn은 외부 혹은 업스트림으로부터 수신한 바이트 반대로 ProcessedBytesOut은 외부 혹은 업스트림으로 송신한 바이트입니다. 보통은 GA를 업스트림 가속으로 쓰기 때문에 In을 사용자가 업로드한 바이트 Out을 업스트림으로 내보낸 바이트로 생각하면 편리합니다.
다만 상황에 따라 이 메트릭이 별로일 수도 있습니다. GA는 IPv4 only 일때 두개의 공인 IP, v4+v6 일때 4개의 IP를 제공하는데 이 메트릭으로는 합계 트래픽만 볼 수 있기 때문입니다. 이때 활용하는 것이 AcceleratorIPAddress 지표입니다.
AcceleratorIPAddress 메트릭
이 메트릭은 기본적으로 Accelerator의 메트릭중 ProcessedBytesIn/Out과 같습니다. 다만 차이점은 GA에 할당된 IP 단위로 보여준다는 점입니다. 즉, 특정한 IP에 문제가 생기는 경우에 대해 확인이 가능하다는 것을 의미합니다.
네, 요렇게 지표를 추가하면 GA VIP 별로 트래픽 흐름을 볼 수 있습니다.
다음 포스팅에서는 GA의 전송량대신 대역폭으로 보는 법을 살펴보겠습니다. 익숙한게 대역폭인데 AWS는 DataTransfer를 Bytes로 측정하다보니 CloudWatch 등의 메트릭도 동일한 기조로 되어 있어 다소 불편함이 있습니다 ㅎㅎ 요걸 CloudWatch Math로 풀어보겠습니다.