Amazon MQ 브로커 연결 문제를 해결하려면 어떻게 해야 합니까?

3분 분량
0

웹 콘솔 또는 유선 수준 엔드포인트를 사용하여 Amazon MQ 브로커에 연결할 수 없습니다. 이 문제를 해결하려면 어떻게 해야 합니까?

간략한 설명

Amazon MQ 브로커 연결 문제는 여러 가지 이유로 발생할 수 있으며 여러 유형의 오류가 발생할 수 있습니다. Amazon MQ가 연결 관련 오류를 반환하는 가장 일반적인 이유는 다음과 같습니다.

  • 잘못 구성된 로컬 방화벽 및 라우팅 테이블
  • 잘못 구성된 보안 그룹 및 NACL(네트워크 액세스 제어 목록)
  • 잘못된 포트 번호에 연결
  • DNS 확인 문제
  • 지원되지 않는 SDK 클라이언트
  • 잘못된 브로커 가시성 설정
  • 잘못 구성된 SSL/TLS
  • 만료된 브로커 엔드포인트 인증서

다음은 브로커 연결 문제가 있을 때 Amazon MQ에서 반환할 수 있는 몇 가지 오류 메시지의 예입니다.

  • SSLHandshakeException
  • JMSException
  • UnknownHostException
  • SocketTimeoutException

해결 방법

Amazon MQ 브로커 연결 문제를 해결하려면 다음을 수행합니다.

로컬 방화벽 및 라우팅 테이블이 올바르게 구성되었는지 확인합니다.

퍼블릭 접근이 가능한 있는 브로커의 경우

다음을 확인합니다.

  • 애플리케이션이 인터넷에 액세스할 수 있습니다.
  • 로컬 방화벽과 라우팅 테이블이 공용 인터넷 트래픽을 허용합니다.
  • 서브넷 NACL 및 브로커의 보안 그룹은 Amazon MQ에서 지원하는 포트를 통한 통신을 허용합니다.
  • Amazon Virtual Private Cloud(Amazon VPC)의 브로커는 인터넷 게이트웨이에 대한 기본 경로가 있는 퍼블릭 서브넷에 있습니다. 자세한 내용은 Amazon VPC 사용 설명서의 인터넷 액세스 활성화 단원을 참조하십시오.

프라이빗 브로커의 경우

다음을 확인합니다.

  • Amazon MQ 브로커와 연결된 AWS 클라우드 서비스별 구성이 올바르게 설정되었습니다.
  • 로컬 방화벽과 라우팅 테이블은 연결된 가상 사설 네트워크(VPN) 간의 인바운드 및 아웃바운드 트래픽을 허용합니다.
  • 서브넷 NACL 및 브로커의 보안 그룹은 Amazon MQ에서 지원하는 포트를 통한 통신을 허용합니다.

Amazon MQ 브로커의 네트워크 연결 테스트

Amazon MQ 개발자 안내서의브로커 웹 콘솔 또는 엔드포인트에 연결할 수 없습니다.단원의 5단계에 있는 지침을 따르십시오.

참고: nslookup 명령 요청 시간이 초과되거나 명령 출력의 응답 섹션에 값이 없는 경우 다음을 수행합니다.

  • 로컬 DNS 캐시를 지웁니다.
  • 로컬 네트워킹 장비 및 클라이언트를 다시 시작합니다.
  • 로컬 DNS 서버가 올바르게 구성되었는지 확인합니다.

지원되는 SDK 클라이언트를 사용 중인지 확인

사용 중인 브로커 엔진과 호환되는 최신 SDK 클라이언트 구현을 사용하고 있는지 확인합니다.

ActiveMQ용 Amazon MQ의 경우 AMQP 1.0 프로토콜을 사용해야 합니다. RabbitMQ용 Amazon MQ의 경우 AMPQ 0-9-1 프로토콜을 사용해야 합니다.

SSL/TLS를 사용하여 AWS 리소스와 통신하고 있는지 확인합니다.

참고: Amazon MQ는 현재 상호 전송 계층 보안(TLS) 인증을 지원하지 않습니다.

잘못된 SSL/TLS 버전 및 지원되지 않는 암호 집합을 사용하면 SSL 오류가 발생합니다. 자세한 내용은 Amazon MQ 개발자 안내서에서 Amazon MQ의 데이터 보호를 참조하십시오.

RabbitMQ 및 ActiveMQ에 대해 지원되는 암호 목록은 Amazon MQ 개발자 안내서의 전송 중 데이터 암호화를 참조하십시오.

참고: 일부 클라이언트 라이브러리는 SSL을 명시적으로 활성화해야 합니다. 다음은 Java 및 Ruby 프로그래밍 언어에 대한 명시적 SSL 활성화의 예입니다.

(Java) 명시적 SSL 활성화 코드 예제

ConnectionFactory factory=new ConnectionFactory();
factory.useSslProtocol()

(Ruby) 명시적 SSL 활성화 코드 예제

conn = Bunny.new(:tls => true, :verify_peer  => false)

Amazon MQ 브로커 엔드포인트 인증서가 최신 상태인지 확인합니다

자세한 내용은 Amazon MQ 개발자 안내서의 SSL 예외 섹션을 참조하십시오.

Amazon Trust Services Certificate(CA)가 신뢰 저장소에 있는지 확인하는 방법에 대한 지침은 다음 문서를 참조하십시오. AWS가 자체 인증 기관으로의 이전을 준비하는 방법


AWS 공식
AWS 공식업데이트됨 2년 전