Conectar-se a um cluster do Amazon DocumentDB de fora de uma Amazon VPC
Os clusters do Amazon DocumentDB (compatível com MongoDB) são implantados dentro de uma Amazon Virtual Private Cloud (Amazon VPC). Eles podem ser acessados diretamente por instâncias do Amazon EC2 ou outros serviços AWS que são implantados no mesmo Amazon VPC. Além disso, o Amazon DocumentDB pode ser acessado por instâncias do EC2 ou outros serviços AWS em VPCs diferentes na mesma Região da AWS ou em outras regiões da por meio do emparelhamento de VPC.
No entanto, suponha que seu caso de uso exija que você (ou seu aplicativo) acesse seus recursos do Amazon DocumentDB de fora da VPC do cluster. Nesse caso, é possível usar o tunelamento SSH (também conhecido como encaminhamento de porta) para acessar seus recursos do Amazon DocumentDB.
Não faz parte da finalidade deste tópico abordar detalhadamente o tunelamento SSH. Para obter mais informações sobre o tunelamento SSH, consulte o seguinte:
-
Exemplo de encaminhamento de porta SSH
, especificamente a seção Encaminhamento local
Para criar um túnel SSH, você precisa de uma instância do Amazon EC2 em execução na mesma Amazon VPC que seu cluster do Amazon DocumentDB. É possível usar uma instância do EC2 existente na mesma VPC que seu cluster ou criar uma instância. Para obter mais informações, consulte o tópico apropriado para seu sistema operacional:
Normalmente, é possível se conectar a uma instância do EC2 com o seguinte comando.
ssh -i "ec2Access.pem" ubuntu@ec2-34-229-221-164.compute-1.amazonaws.com
Se esse for o caso, será possível configurar um túnel SSH para o cluster do Amazon DocumentDB sample-cluster.node.us-east-1.docdb.amazonaws.com
executando o comando a seguir no seu computador local. O sinalizador -L
é usado para encaminhar uma porta local. Ao usar um túnel SSH, recomendamos que você se conecte ao cluster usando o endpoint do cluster e não tente se conectar no modo de conjunto de réplicas (ou seja, especificando replicaSet=rs0
em sua string de conexão), pois isso resultará em um erro.
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
Depois que o túnel SSH for criado, todos os comandos que você emitir para localhost:27017
serão encaminhados para o cluster do Amazon DocumentDB sample-cluster
em execução na Amazon VPC. Se o Transport Layer Security (TLS) estiver ativado no cluster do Amazon DocumentDB, será necessário fazer o download da chave pública para o Amazon DocumentDB em https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem
wget https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem
nota
O TLS está habilitado por padrão para todos os novos clusters do Amazon DocumentDB. No entanto, você poderá desabilitá-lo. Para ter mais informações, consulte Gerenciar configurações de TLS de cluster do Amazon DocumentDB.
Para conectar-se ao seu cluster do Amazon DocumentDB de fora do Amazon VPC, use o comando a seguir.
mongo --sslAllowInvalidHostnames --ssl --sslCAFile global-bundle.pem --username <yourUsername> --password <yourPassword>