핀터레스트에서 AWS EC2를 사용한 네트워크 제한 처... 노트

핀터레스트에서 AWS EC2를 사용한 네트워크 제한 처리

시각 검색 엔진인 Pinterest는 AWS에서 실행되며 컴퓨트 플릿에 Amazon EC2 인스턴스를 사용합니다. 그러나 온라인 스토리지 시스템의 EC2 인프라스트럭처 관리에 있어 네트워크 성능에 대한 명확한 통찰이 부족하여 애플리케이션의 신뢰성 및 성능에 영향을 미치는 문제를 확인했습니다. 이를 해결하기 위해 Pinterest는 EC2 플릿에 대한 네트워크 성능 모니터링을 개발하고 네트워크 버스트를 관리하는 기술을 구현하여 중요한 온라인 서비스 워크로드에 대한 신뢰할 수 있는 네트워크 성능을 보장했습니다. 사용자 시퀀스 서비스 문제가 발생하여 사용자 참여도를 높였지만 서비스 지연 및 애플리케이션 타임아웃이 발생했습니다. EC2 인스턴스 마이그레이션 중에 Pinterest는 여러 클러스터에서 성능 저하를 경험하여 애플리케이션 타임아웃이 발생했습니다. 회사에서는 EC2 인스턴스가 마이크로버스트로 네트워크 할당량을 초과하여 네트워크 제한을 경험하고 있음을 확인했습니다. 이를 해결하기 위해 Pinterest는 ethtool과 같은 도구를 사용하여 EC2 인스턴스에 대한 원시 카운터에 액세스하는 인스턴스를 업그레이드했습니다. 회사에서는 내부 메트릭스 수집 에이전트를 수정하여 이러한 카운터를 스크레이핑하고 메트릭스 스토리지에 저장했습니다. 이렇게 ENA 메트릭스를 전체 EC2 플릿에 배포하여 Pinterest는 AWS 트래픽 형성에 대한 예측할 수 없는 가시성을 얻었으며 네트워크 제한 완화를 위한 다양한 최적화를 구현했습니다. 또한 네트워크 버스트 처리 기법을 탐색하여 S3 속도 제한, 데이터 백업 튜닝 및 네트워크 압축을 포함했습니다.
CdXz5zHNQW_DGfWhUSLvs.jpeg