Amazon VPC 외부에서 Amazon DocumentDB 클러스터에 연결
Amazon DocumentDB(MongoDB 호환) 클러스터는 Amazon Virtual Private Cloud (Amazon VPC) 내에 배포됩니다. Amazon EC2 인스턴스 또는 동일한 Amazon VPC에 배포된 다른 AWS 서비스에서 직접 액세스할 수 있습니다. 또한 Amazon DocumentDB는 EC2 인스턴스 또는 동일한 AWS 리전의 다른 VPC나 다른 리전에 있는 기타 AWS에서 VPC 피어링을 통해서도 액세스할 수 있습니다.
그러나 사용 사례에서 사용자 또는 사용자의 애플리케이션이 클러스터의 VPC 외부에서 Amazon DocumentDB 리소스에 액세스해야 한다고 가정합니다. 그럴 경우 SSH 터널링(포트 포워딩이라고도 함)을 사용하여 Amazon DocumentDB 리소스에 액세스할 수 있습니다.
SSH 터널링에 대한 자세한 내용은 이 주제의 범위를 벗어납니다. SSH 터널링에 대한 자세한 내용은 다음을 참조하세요.
-
SSH 포트 전송 예
, 특히 로컬 전송 섹션
SSH 터널을 만들려면 Amazon DocumentDB 클러스터와 동일한 Amazon VPC에서 실행 중인 Amazon EC2 인스턴스가 필요합니다. 클러스터와 동일한 VPC에서 기존 EC2 인스턴스를 사용하거나 새 인스턴스를 생성할 수 있습니다. 자세한 내용은 사용 중인 운영 체제에 해당하는 주제를 참조하세요.
일반적으로 다음 명령을 사용하여 EC2 인스턴스에 연결할 수 있습니다.
ssh -i "ec2Access.pem" ubuntu@ec2-34-229-221-164.compute-1.amazonaws.com
그 경우 로컬 컴퓨터에서 다음 명령을 사용하여 SSH 터널을 Amazon DocumentDB 클러스터 sample-cluster.node.us-east-1.docdb.amazonaws.com
으로 설정할 수 있습니다. -L
플래그는 로컬 포트를 전달하는 데 사용됩니다. SSH 터널을 사용하는 경우 클러스터 엔드포인트를 사용하여 클러스터에 연결하고, 오류가 발생하므로 복제본 집합 모드(예: 연결 문자열에 replicaSet=rs0
지정)로 연결을 시도하지 않는 것이 좋습니다.
ssh -i "ec2Access.pem" -L 27017:sample-cluster.node.us-east-1.docdb.amazonaws.com:27017 ubuntu@ec2-34-229-221-164.compute-1.amazonaws.com -N
SSH 터널이 생성된 이후에 localhost:27017
에 대해 실행한 명령은 Amazon VPC에서 실행 중인 Amazon DocumentDB 클러스터 sample-cluster
에 전달됩니다. Amazon DocumentDB 클러스터에서 전송 계층 보안 (TLS) 이 활성화된 경우 Amazon DocumentDB의 퍼블릭 키를 에서 다운로드해야 합니다. https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem
wget https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem
참고
새 Amazon DocumentDB 클러스터에는 기본적으로 TLS가 사용 설정되어 있습니다. 그러나 비활성화는 가능합니다. 자세한 내용은 Amazon DocumentDB 클러스터 TLS 설정 관리 섹션을 참조하세요.
Amazon VPC 외부에서 Amazon DocumentDB 클러스터에 연결하려면 다음 명령을 사용하세요.
mongo --sslAllowInvalidHostnames --ssl --sslCAFile global-bundle.pem --username <yourUsername> --password <yourPassword>