Amazon SQS 네트워크 오류 문제 해결 - Amazon Simple Queue Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon SQS 네트워크 오류 문제 해결

다음 주제에서는 Amazon SQS 네트워크 문제의 가장 일반적인 원인과 문제를 해결하는 방법을 다룹니다.

ETIMEOUT error

클라이언트가 Amazon SQS 엔드포인트에 대한 TCP 연결을 설정할 수 없는 경우 ETIMEOUT 오류가 발생합니다.

문제 해결:

  • 네트워크 연결 확인

    telnet과 같은 명령을 실행하여 Amazon SQS에 대한 네트워크 연결을 테스트합니다.

    Example: telnet sqs.us-east-1.amazonaws.com 443

  • 네트워크 설정 확인

    • 로컬 방화벽 규칙, 경로 및 액세스 제어 목록(ACL)에서 사용하는 포트의 트래픽을 허용하는지 확인합니다.

    • 보안 그룹 아웃바운드(송신) 규칙은 포트 80 또는 443에 대한 트래픽을 허용해야 합니다.

    • 네트워크 ACL 아웃바운드(송신) 규칙은 TCP 포트 80 또는 443에 대한 트래픽을 허용해야 합니다.

    • 네트워크 ACL 인바운드(수신) 규칙은 TCP 포트 1024-65535의 트래픽을 허용해야 합니다.

    • 퍼블릭 인터넷에 연결하는 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에는 인터넷 연결이 있어야 합니다.

  • Amazon Virtual Private Cloud(Amazon VPC) 엔드포인트

    
Amazon VPC 엔드포인트를 통해 Amazon SQS에 액세스하는 경우 엔드포인트 보안 그룹은 포트 443에서 클라이언트 보안 그룹에 대한 인바운드 트래픽을 허용해야 합니다. VPC 엔드포인트의 서브넷과 연결된 네트워크 ACL에는 다음 구성이 있어야 합니다.

    • 네트워크 ACL 아웃바운드(송신) 규칙은 TCP 포트 1024-65535(휘발성 포트)의 트래픽을 허용해야 합니다.

    • 네트워크 ACL 인바운드(수신) 규칙은 포트 443의 트래픽을 허용해야 합니다.

또한 Amazon SQS VPC 엔드포인트 AWS Identity and Access Management (IAM) 정책은 액세스를 허용해야 합니다. 다음 예제에서 VPC 엔드포인트 정책은 IAM 사용자 MyUser가 Amazon SQS 대기열 MyQueue에 메시지를 전송할 수 있도록 지정합니다. 다른 작업, IAM 사용자 및 Amazon SQS 리소스는 VPC 엔드포인트를 통한 액세스가 거부됩니다.

{ "Statement": [{ "Action": ["sqs:SendMessage"], "Effect": "Allow", "Resource": "arn:aws:sqs:us-east-2:123456789012:MyQueue", "Principal": { "AWS": "arn:aws:iam:123456789012:user/MyUser" } }] }

UnknownHostException error

UnknownHostException 오류는 호스트 IP 주소를 확인할 수 없을 때 발생합니다.

문제 해결:

nslookup 유틸리티를 사용하여 호스트 이름과 연결된 IP 주소를 반환합니다.

  • Windows and Linux OS

    nslookup sqs.<region>.amazonaws.com 
  • AWS CLI 또는 SDK for Python 레거시 엔드포인트:

    nslookup <region>.queue.amazonaws.com

실패한 출력을 받은 경우 AWS 지식 센터 가이드DNS는 어떻게 작동하며 부분 또는 간헐적 DNS 실패 문제를 해결하려면 어떻게 해야 하나요?의 지침을 따르세요.

유효한 출력을 받은 경우 애플리케이션 수준 문제일 수 있습니다. 애플리케이션 수준 문제를 해결하려면 다음 방법을 시도해 보세요.

  • 애플리케이션을 다시 시작합니다.

  • Java 애플리케이션에 잘못된 DNS 캐시가 없는지 확인합니다. 가능하면 DNS TTL을 준수하도록 애플리케이션을 구성합니다. 자세한 내용은 DNS 이름 조회를 위한 JVM TTL 설정을 참조하세요.

네트워크 오류 해결 방법에 대한 자세한 내용은 AWS 지식 센터 안내서Amazon SQS ‘ETIMEOUT’ 및 ‘UnknownHostException’ 연결 오류 문제를 해결하려면 어떻게 해야 하나요?를 참조하세요.