2016-10-18 3 views
0

세 개의 ec2 인스턴스가 있으며 주소는 ec2-xx-yyy-zz-www.us-west-2.compute.amazonaws.com입니다. 이 세 가지 사이에 복제본을 설정하고 싶습니다.하지만 시작하기 전에 구성원 사이의 연결 테스트를 권장하는이 trouble-shooting guide을 확인했습니다. 내 테스트의 결과는 다음과 같습니다Amazon EC2 인스턴스에서 MongoDB Replica Set을 (를) 설정하지 못했습니다.

  • 서버 1 서버 2에 연결하지만 서버 1에 연결할 수있는 서버 1과 3
  • 서버 3에 연결할 수있는 서버 3
  • 서버 2에 연결할 수 있지만에 없습니다

나는 그것이

mongo --host ec2-54-149-51-166.us-west-2.compute.amazonaws.com --port 27017 
MongoDB shell version: 3.2.10 
connecting to: ec2-54-149-51-166.us-west-2.compute.amazonaws.com:27017/test 
2016-10-18T19:46:52.223+0000 W NETWORK [thread1] Failed to connect to 172.31.16.185:27017 after 5000 milliseconds, giving up. 
2016-10-18T19:46:52.223+0000 E QUERY [thread1] Error: couldn't connect to server ec2-54-149-51-166.us-west-2.compute.amazonaws.com:27017, connection attempt failed : 
[email protected]/mongo/shell/mongo.js:231:14 
@(connect):1:6 

exception: connect failed 

이해가 안이 메시지와 함께 실패 의미 연결할 수없는 말을 서버 2 이 문제를 해결하는 방법. 보안 그룹과 관련이 있습니까? 또는 어디에 문제가 될 수 있습니다. 모든 서버에 핑할 수 없으므로 그 중 하나입니다. 디버깅하고 해결할 수있는 다른 방법은 무엇입니까? 감사합니다

답변

3

이 문제를 해결하는 방법을 모르겠다. 보안 그룹과 관련이 있습니까?

예 보안 그룹 설정과 직접 관련이 있습니다. 보안 그룹에서 포트를 올바르게 열어야합니다. 같은 보안 그룹에 모든 인스턴스가있는 경우가 많으므로 보안 그룹 안의 인스턴스가 동일한 그룹의 다른 인스턴스의 올바른 포트에 액세스 할 수 있도록하는 규칙을 추가해야합니다.

또한 인스턴스의 공용 IP에 매핑되는 인스턴스의 공개 DNS를 사용하는 것처럼 보입니다. 이렇게하면 모든 네트워크 트래픽이 VPC 외부로 이동하여 보안 그룹 규칙 및 VPC의 다른 모든 보안 설정을 우회합니다. 일반적으로 VPC 안에 모든 트래픽을 유지하는 것보다 안전성이 낮고 속도가 느립니다. VPC 내에 모든 네트워크 트래픽을 유지하려면 해당 서버 간의 모든 통신에서 해당 인스턴스에 할당 된 개인 IP 주소를 사용해야합니다.

모든 서버에 핑할 수 없습니다.

EC2에서 기본적으로 핑이 비활성화됩니다. 테스트 도구로 ping을 사용하지 마십시오.

+0

인스턴스 연결에 문제가 있습니다. 이걸로 12 시간 후에 다시 보자. –

+0

나는 그것을 해결했다. 두 번째 서버의 mongod 서버가 복제 세트와 함께 실행되도록 구성되지 않았습니다. 그래서 문제가되었습니다. 이제 그것이 정렬됩니다. 모두 멋지다. –

관련 문제