Amazon DocumentDB 클러스터에 연결할 때 문제를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 1월 24일

Amazon DocumentDB(MongoDB 호환) 클러스터에 연결할 수 없습니다. 연결할 수 없는 이유는 무엇이며 연결 문제를 해결하려면 어떻게 해야 합니까?

간략한 설명

Amazon DocumentDB는 VPC 전용 서비스이며 퍼블릭 엔드포인트를 지원하지 않습니다. 따라서 AWS 외부 환경에서는 Amazon DocumentDB 클러스터에 직접 연결할 수 없습니다. 다음 방법을 사용하여 Amazon DocumentDB에 연결할 수 있습니다.

  1. Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스 또는 동일한 Amazon Virtual Private Cloud(Amazon VPC)에 있는 다른 AWS 서비스(예: AWS Lambda 또는 Amazon SageMaker)에서 연결합니다.
  2. VPC 피어링을 사용하여 다른 VPC에 있는 EC2 인스턴스에서 연결합니다.
  3. SSH 터널을 사용하여 AWS 외부 머신에서 연결합니다.

해결 방법

동일한 VPC의 EC2 인스턴스에서 연결

1.    소스 머신에서 SSH로 연결할 수 있는 동일한 VPC에 EC2 인스턴스를 생성합니다.

2.    Amazon DocumentDB 클러스터의 보안 그룹에 EC2 인스턴스로부터의 연결을 허용하는 규칙이 있는지 확인합니다. 기본적으로 Amazon DocumentDB 클러스터의 보안 그룹은 포트 27017에서 인바운드 연결을 허용해야 합니다.

3.    SSH를 사용하여 EC2 인스턴스에 연결합니다. Linux 인스턴스의 경우 다음 예제를 참조하십시오.

ssh -i "keypairfile.pem" ec2-user@<EC2 DNS endpoint>

4.    아직 설치하지 않은 경우 EC2 인스턴스에 mongo 셸을 설치합니다.

5.    클러스터에 연결:

mongo --ssl --host <Cluster endpoint> :27017 --sslCAFile rds-combined-ca-bundle.pem --username <username> --password >password>

MongoDB 셸 버전: 3.2.11

connecting to: <Cluster>:27017/<user>
rs0:PRIMARY> 

다른 VPC의 EC2 인스턴스에서 연결

1.    Amazon DocumentDB 클러스터와 다른 VPC에서 실행 중인 EC2 인스턴스에서 VPC 피어링 연결을 생성합니다.

2.    피어링 연결에 성공한 후 동일한 VPC의 EC2 인스턴스에서 연결에서 앞서 나열된 단계를 따릅니다.

SSH 터널을 사용하여 AWS 외부 머신에서 연결

1.    로컬 컴퓨터에서 EC2 인스턴스로 SSH 터널을 설정합니다. 이 EC2 인스턴스는 Amazon DocumentDB 클러스터와 동일한 VPC에서 실행되어야 합니다. 자세한 내용은 Amazon VPC 외부에서 Amazon DocumentDB 클러스터에 연결을 참조하십시오.

ssh -i "keypairfile.pem" -L 27017:<cluster endpoint>:27017 ec2-user@<EC2 tunnel endpoint> -N

이렇게 하면 명령을 로컬 호스트(27017)로 직접 실행할 수 있으며, 명령은 Amazon DocumentDB 클러스터로 전송됩니다. 그러나 프로덕션 환경에서는 이 방법을 사용하지 않는 것이 좋습니다. 또는 Amazon DocumentDB 클러스터를 연결에 대한 복제본 세트로 사용하는 경우에도 이 방법을 사용하지 않는 것이 좋습니다. 자세한 내용은 Amazon DocumentDB를 복제본 세트로 연결을 참조하십시오.

문제 해결

이러한 방법 중 하나를 사용 중이지만 여전히 연결에 문제가 있는 경우 다음을 확인하십시오.

  1. Amazon DocumentDB 클러스터에는 하나 이상의 인스턴스가 있으며, 클러스터의 인스턴스는 사용 가능 상태입니다. 인스턴스가 사용 가능 상태가 아닌 경우 연결을 수락할 수 없습니다.
  2. 인스턴스에 연결하는 데 사용하는 원본은 네트워크 ACL(액세스 제어 목록), 로컬 방화벽 및 보안 그룹 규칙에서 클러스터에 액세스할 수 있는 권한이 있는 원본으로 나열됩니다.
  3. Amazon DocumentDB 클러스터에 연결하는 데 올바른 DNS 이름 또는 엔드포인트가 사용됩니다. DNS 및 연결 문제 해결은 Amazon DocumentDB 엔드포인트에 연결할 수 없음을 참조하십시오.
  4. 클러스터에 연결할 때 사용자 이름과 암호를 올바르게 입력합니다. 암호를 잊은 경우 Amazon DocumentDB 클러스터를 수정하여 암호를 재설정할 수 있습니다.
  5. SSL 인증서는 클라이언트 또는 애플리케이션에서 연결할 때 전달됩니다. 기본적으로 TLS 구성은 Amazon DocumentDB 클러스터에 대해 활성화되어 있습니다. TLS 구성을 비활성화하려면 새 사용자 지정 Amazon DocumentDB 클러스터 파라미터 그룹을 생성하고, tls 파라미터를 disables로 설정한 다음, 새 클러스터 파라미터 그룹을 사용하도록 클러스터를 수정합니다. 자세한 내용은 Amazon DocumentDB 클러스터 파라미터 그룹 관리를 참조하십시오.

이 문서가 도움이 되었습니까?

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?