Amazon ECS 네트워킹 문제 해결을 위한 AWS 서비스
다음과 같은 서비스와 기능을 사용하면 네트워크 및 서비스 구성에 대한 통찰력을 얻을 수 있습니다. 이 정보를 사용하여 네트워킹 문제를 해결하고 서비스 최적화를 개선할 수 있습니다.
CloudWatch Container Insights
CloudWatch Container Insights는 컨테이너 애플리케이션 및 마이크로서비스의 지표 및 로그를 수집하고 종합하며 요약합니다. 이러한 지표에는 CPU, 메모리, 디스크, 네트워크 같은 리소스 사용률이 포함됩니다. 지표는 CloudWatch 자동 대시보드에서 사용할 수 있습니다. 자세한 정보는 Amazon CloudWatch 사용 설명서의 Amazon ECS에서 Container Insights 설정을 참조하세요.
AWS X-Ray
AWS X-Ray는 애플리케이션이 수행하는 네트워크 요청에 대한 정보를 수집하는 데 사용할 수 있는 추적 서비스입니다. SDK를 사용하여 애플리케이션을 계측하고 서비스 간, 서비스와 AWS 서비스 엔드포인트 간 트래픽의 타이밍과 응답 코드를 캡처할 수 있습니다. 자세한 내용은 AWS X-Ray 개발자 가이드의 AWS X-Ray이란 무엇입니까?를 참조하세요.
또한 서비스가 다른 서비스와 네트워킹을 구성하는 방식을 AWS X-Ray 그래프로 살펴볼 수 있습니다. 이 기능을 사용하여 각 서비스 간 링크가 작동하는 방식에 대한 집계 통계를 탐색할 수도 있습니다. 마지막으로, 특정 트랜잭션을 자세히 살펴보고 네트워크 호출을 나타내는 세그먼트가 해당 특정 트랜잭션과 어떻게 연결되어 있는지 확인할 수 있습니다.
이러한 기능을 사용하여 네트워킹 병목 현상이 있는지 또는 네트워크 내의 특정 서비스가 예상과 다르게 작동하는지 파악할 수 있습니다.
VPC 흐름 로그
Amazon VPC 흐름 로그를 사용하여 네트워크 성능을 분석하고 연결 문제를 디버깅할 수 있습니다. VPC 흐름 로그를 활성화하면 VPC 내의 모든 연결 로그를 캡처할 수 있습니다. 여기에는 Elastic Load Balancing, Amazon RDS, NAT 게이트웨이 및 사용 중인 기타 주요 AWS 서비스와 관련된 네트워킹 인터페이스 연결이 포함됩니다. 자세한 내용은 Amazon VPC 사용 설명서의 VPC 흐름 로그를 참조하세요.
네트워크 튜닝 팁
네트워킹을 개선하기 위해 세밀하게 튜닝할 수 있는 몇 가지 설정이 있습니다.
nofile ulimit
애플리케이션에서 트래픽이 많고 다수의 동시 연결을 처리해야 한다고 예상되는 경우 허용된 파일 수에 대한 시스템 할당량을 고려해야 합니다. 열려 있는 네트워크 소켓이 많은 경우 각 소켓을 파일 설명자로 표시해야 합니다. 파일 설명자 할당량이 너무 낮으면 네트워크 소켓이 제한됩니다. 이로 인해 연결에 실패하거나 오류가 발생합니다. Amazon ECS 태스크 정의에서 파일 수에 대한 컨테이너별 할당량을 업데이트할 수 있습니다. Amazon EC2(AWS Fargate 대신)에서 실행 중인 경우 기본 Amazon EC2 인스턴스에서 이러한 할당량을 조정해야 할 수도 있습니다.
sysctl net
튜닝 가능한 설정의 또 다른 범주는 sysctl
net 설정입니다. 구체적인 설정은 사용 중인 Linux 배포판을 참조해야 합니다. 이러한 설정 중 많은 수가 읽기 및 쓰기 버퍼의 크기를 조정합니다. 많은 수의 컨테이너를 포함하는 대규모 Amazon EC2 인스턴스를 실행하는 일부 상황에서 이 기능이 유용할 수 있습니다.