Amazon ECS 네트워킹 문제 해결을 위한 AWS 서비스

Amazon ECS 네트워킹 문제 해결을 위한 AWS 서비스

네트워크와 서비스 구성에 대한 인사이트를 얻는 데 도움이 되는 여러 서비스와 기능이 있습니다. 이 글에서는 네트워킹 문제를 해결하고 서비스를 최적화하는 데 활용할 수 있는 도구들을 알아봅니다.

출처: 문서

본문

다음 서비스와 기능은 네트워크 및 서비스 구성에 대한 인사이트를 얻는 데 도움을 줄 수 있어요. 이 정보를 사용해 네트워킹 문제를 해결하고 서비스를 더 잘 최적화할 수 있습니다.

CloudWatch Container Insights

CloudWatch Container Insights는 컨테이너화된 애플리케이션과 마이크로서비스의 지표 및 로그를 수집·집계·요약합니다. 지표에는 CPU, 메모리, 디스크, 네트워크 같은 리소스의 활용률이 포함됩니다. 이 지표는 CloudWatch 자동 대시보드에서 확인할 수 있어요. 자세한 내용은 Amazon CloudWatch 사용자 가이드의 Amazon ECS에서 Container Insights 설정 문서를 참고하세요.

AWS X-Ray

AWS X-Ray는 애플리케이션이 만드는 네트워크 요청에 대한 정보를 수집하는 데 사용하는 추적(tracing) 서비스입니다. SDK를 사용해 애플리케이션을 계측(instrument)하고 서비스 간, 그리고 서비스와 AWS 서비스 엔드포인트 간 트래픽의 타이밍과 응답 코드를 캡처할 수 있어요. 자세한 내용은 AWS X-Ray 개발자 가이드의 AWS X-Ray란 무엇인가? 문서를 참고하세요.

또한 AWS X-Ray 그래프를 통해 서비스들이 서로 어떻게 네트워킹하는지 살펴볼 수 있고, 각 서비스 간 링크가 어떻게 수행되는지에 대한 집계 통계를 탐색할 수도 있습니다. 마지막으로 특정 트랜잭션을 더 깊이 들여다보면 네트워크 호출을 나타내는 세그먼트가 해당 트랜잭션과 어떻게 연관되어 있는지 확인할 수 있어요.

이 같은 기능을 사용해 네트워킹 병목이 있는지, 네트워크 내 특정 서비스가 예상대로 수행되지 않는지 식별할 수 있습니다.

VPC Flow Logs

Amazon VPC 플로우 로그(flow logs)를 사용해 네트워크 성능을 분석하고 연결 문제를 디버깅할 수 있습니다. VPC 플로우 로그를 활성화하면 VPC의 모든 연결에 대한 로그를 캡처할 수 있어요. 여기에는 Elastic Load Balancing, Amazon RDS, NAT 게이트웨이, 그리고 사용 중인 다른 주요 AWS 서비스와 연결된 네트워크 인터페이스로의 연결이 포함됩니다. 자세한 내용은 Amazon VPC 사용자 가이드의 VPC Flow Logs 문서를 참고하세요.

네트워크 튜닝 팁 (Network tuning tips)

네트워킹을 개선하기 위해 미세 조정할 수 있는 몇 가지 설정이 있습니다.

nofile ulimit

애플리케이션이 트래픽이 많고 많은 동시 연결을 처리할 것으로 예상된다면 허용되는 파일 수의 시스템 쿼터(quota)를 고려해야 합니다. 네트워크 소켓이 많아지면 각 소켓은 파일 디스크립터(file descriptor)로 표현되어야 해요. 파일 디스크립터 쿼터가 너무 낮으면 네트워크 소켓이 제한되어 연결 실패나 오류가 발생할 수 있습니다.

Amazon ECS 태스크 정의에서 컨테이너별 파일 수 쿼터를 업데이트할 수 있습니다. (AWS Fargate 대신) Amazon EC2에서 실행 중이라면 기본 Amazon EC2 인스턴스에서도 이 쿼터를 조정해야 할 수 있어요.

sysctl net

튜닝 가능한 설정의 또 다른 범주는 sysctl net 설정입니다. 사용 중인 Linux 배포판의 특정 설정을 참조해야 합니다. 이 중 많은 설정이 읽기 및 쓰기 버퍼의 크기를 조정합니다. 이는 컨테이너가 많은 대규모 Amazon EC2 인스턴스를 실행할 때 일부 상황에서 도움이 될 수 있어요.

더 알아보기 (Learn more)

  • Container Insights, AWS X-Ray, VPC Flow Logs 설정 방법에 대한 자세한 내용은 각 서비스의 사용자 가이드를 참고하세요.