Conexão a uma instância de cluster usando Mongo Shell (rede pública)
Nos cenários a seguir, você pode acessar uma instância do DDS da Internet vinculando um EIP à instância.
Cenário 1: suas aplicações são implementadas em um ECS e não estão na mesma região que a instância do DDS.
Cenário 2: suas aplicações são implementadas em um servidor de nuvem fornecido por outros fornecedores.
Esta seção descreve como usar o Mongo Shell para se conectar a uma instância de cluster em uma rede pública.
Você pode se conectar a uma instância usando uma conexão SSL ou uma conexão não criptografada. A conexão SSL é criptografada e mais segura. Para melhorar a segurança da transmissão de dados, conecte-se a instâncias usando SSL.
Pré-requisitos
- Para obter detalhes sobre como criar e fazer logon em um ECS, consulte Compra de um ECS e Logon em um ECS.
- Vincular um EIP à instância de cluster e definir regras de grupo de segurança para garantir que a instância possa ser acessada a partir do ECS.
- Instale o cliente de MongoDB no ECS.
Para obter detalhes sobre como instalar um cliente de MongoDB, consulte Como instalar um cliente de MongoDB?
SSL
Se você se conectar a uma instância por meio da conexão SSL, ative SSL primeiro. Caso contrário, um erro é relatado. Para obter detalhes sobre como ativar SSL, consulte Ativação e desativação de SSL.
- Faça logon no console de gerenciamento.
- Clique em no canto superior esquerdo e selecione uma região e um projeto.
- Clique em no canto superior esquerdo da página e escolha Databases > Document Database Service.
- Na página Instances, clique no nome da instância.
- No painel de navegação à esquerda, escolha Connections.
- Na área Basic Information, clique em ao lado do campo SSL.
- Carregue o certificado raiz obtido na 6 no ECS.
A seguir, descrevemos como fazer upload do certificado para um ECS do Linux e Window:
- No Linux, execute o seguinte comando:
scp<IDENTITY_FILE><REMOTE_USER>@<REMOTE_ADDRESS>:<REMOTE_DIR>
- IDENTITY_FILE é o diretório onde o certificado raiz reside. A permissão de acesso ao arquivo é 600.
- REMOTE_USER é o usuário do sistema operacional ECS.
- REMOTE_ADDRESS é o endereço do ECS.
- REMOTE_DIR é o diretório do ECS no qual o certificado raiz é carregado.
- No Windows, carregue o certificado raiz usando uma ferramenta de conexão remota.
- No Linux, execute o seguinte comando:
- Conecte-se à instância no diretório em que o cliente de MongoDB está localizado.
Método 1: utilizar um endereço de conexão de rede pública
Exemplo de comando:
./mongo <Public network connection address> --ssl --sslCAFile <FILE_PATH> --sslAllowInvalidHostnames
Descrição do parâmetro:
- Public Network Connection Address: na página Instances, clique na instância para navegar até a página Basic Information. No painel de navegação à esquerda, escolha Connections. Na página exibida, clique na guia Public Connection. Na área Address, obtenha o endereço de conexão da instância no campo Public Network Connection Address.
Figura 3 Obter o endereço de conexão de rede pública
O formato do endereço de conexão pública é o seguinte. O nome de usuário do banco de dados rwuser e o banco de dados de autenticação admin não podem ser alterados.
mongodb://rwuser:<password>@192.168.xx.xx:8635/test?authSource=admin
Preste atenção aos seguintes parâmetros no endereço de conexão pública:
Tabela 1 Descrição do parâmetro Parâmetro
Descrição
rwuser
Nome da conta, ou seja, o nome de usuário do banco de dados.
<password>
Senha da conta do banco de dados. Substitua-a pela senha atual.
Se a senha contiver sinais de arroba (@), pontos de exclamação (!), substitua-os por códigos de URL hexadecimais (ASCII) %40, %21 e %25, respectivamente.
Por exemplo, se a senha for ****@ %***!, o código de URL correspondente será **** %40%25*** %21.
192.168.xx.xx:8635
EIP e porta vinculados ao nó mongos da instância de cluster
test
O nome do banco de dados de teste. Você pode definir esse parâmetro com base em seus requisitos de serviço.
authSource=admin
O banco de dados de autenticação do usuário rwuser deve ser admin. authSource=admin é corrigido no comando.
- FILE_PATH é o caminho para armazenar o certificado raiz.
- --sslAllowInvalidHostnames: para garantir que a comunicação interna do cluster não ocupe recursos como o endereço IP do usuário e a largura de banda, o certificado do cluster é gerado usando o endereço IP de gerenciamento interno. --sslAllowInvalidHostnames é necessário para a conexão SSL por meio de uma rede pública.
Exemplo de comando:
./mongo mongodb://rwuser:<password>@192.168.xx.xx:8635/test?authSource=admin --ssl --sslCAFile /tmp/ca.crt --sslAllowInvalidHostnames
Método 2: conectar-se a uma instância usando um EIP.
Exemplo de comando:
./mongo --host <DB_HOST> --port <DB_PORT> -u <DB_USER> -p --authenticationDatabase admin --ssl --sslCAFile <FILE_PATH> --sslAllowInvalidHostnames
Descrição do parâmetro:
- DB_HOST é o EIP vinculado à instância a ser conectada.
você pode clicar no nome da instância para ir para a página Basic Information. No painel de navegação à esquerda, escolha Connections. Na guia Public Connection, obtenha o EIP vinculado ao nó mongos na coluna EIP.
Se houver vários nós do MongoDB, o EIP de qualquer nó pode ser usado para se conectar à instância.
Figura 4 Obter um EIP
- DB_PORT é a porta da instância a ser conectada. O número de porta padrão é 8635.
Você pode clicar na instância para ir para a página Basic Information. No painel de navegação à esquerda, escolha Connections. Na página exibida, clique na guia Public Connection e obtenha a porta no campo Database Port na área Basic Information.
Figura 5 Obter a porta
- DB_USER é o usuário do banco de dados. O valor padrão é rwuser.
- FILE_PATH é o caminho para armazenar o certificado raiz.
- --sslAllowInvalidHostnames: para garantir que a comunicação interna do cluster não ocupe recursos como o endereço IP do usuário e a largura de banda, o certificado do cluster é gerado usando o endereço IP de gerenciamento interno. --sslAllowInvalidHostnames é necessário para a conexão SSL por meio de uma rede pública.
Digite a senha da conta do banco de dados quando solicitado:
Enter password:
Exemplo de comando:
./mongo --host 192.168.xx.xx --port 8635 -u rwuser -p --authenticationDatabase admin --ssl --sslCAFile /tmp/ca.crt --sslAllowInvalidHostnames
- Public Network Connection Address: na página Instances, clique na instância para navegar até a página Basic Information. No painel de navegação à esquerda, escolha Connections. Na página exibida, clique na guia Public Connection. Na área Address, obtenha o endereço de conexão da instância no campo Public Network Connection Address.
- Verifique o resultado da conexão. Se as informações a seguir forem exibidas, a conexão será bem-sucedida.
mongos>
Conexão não criptografada
Se você se conectar a uma instância por meio de uma conexão não criptografada, desative SSL primeiro. Caso contrário, um erro é relatado. Para obter detalhes sobre como desabilitar SSL, consulte Ativação e desativação de SSL.
- Efetue logon no ECS.
- Conecte-se à instância no diretório em que o cliente de MongoDB está localizado.
Método 1: utilizar um endereço de conexão de rede pública
Exemplo de comando:
./mongo <Public network address>
Public Network Connection Address: você pode clicar no nome da instância para ir para a página Basic Information. No painel de navegação à esquerda, escolha Connections. Na página exibida, clique na guia Public Connection. Na área Address, obtenha o endereço de conexão da instância no campo Public Network Connection Address.
Figura 6 Obter o endereço de conexão de rede pública
O formato do endereço de conexão pública é o seguinte. O nome de usuário do banco de dados rwuser e o banco de dados de autenticação admin não podem ser alterados.
mongodb://rwuser:<password>@192.168.xx.xx:8635/test?authSource=admin
A tabela a seguir descreve os parâmetros necessários no endereço de conexão pública.
Tabela 2 Descrição do parâmetro Parâmetro
Descrição
rwuser
Nome da conta, ou seja, o nome de usuário do banco de dados.
<password>
Senha da conta do banco de dados. Substitua-a pela senha atual.
Se a senha contiver sinais de arroba (@), pontos de exclamação (!), substitua-os por códigos de URL hexadecimais (ASCII) %40, %21 e %25, respectivamente.
Por exemplo, se a senha for ****@ %***!, o código de URL correspondente será **** %40%25*** %21.
192.168.xx.xx:8635
EIP e porta vinculados ao nó mongos da instância de cluster
test
O nome do banco de dados de teste. Você pode definir esse parâmetro com base em seus requisitos de serviço.
authSource=admin
O banco de dados de autenticação do usuário rwuser deve ser admin. authSource=admin é corrigido no comando.
Exemplo de comando:
./mongo mongodb://rwuser:<password>@192.168.xx.xx:8635/test?authSource=admin
Método 2: usar um EIP
Exemplo de comando:
./mongo --host <DB_HOST> --port <DB_PORT> -u <DB_USER> -p --authenticationDatabase admin
Descrição do parâmetro:
- DB_HOST é o EIP vinculado à instância a ser conectada.
você pode clicar no nome da instância para ir para a página Basic Information. No painel de navegação à esquerda, escolha Connections. Na guia Public Connection, obtenha o EIP vinculado ao nó mongos na coluna EIP.
Se houver vários nós do MongoDB, o EIP de qualquer nó pode ser usado para se conectar à instância.
Figura 7 Obter um EIP
- DB_PORT é a porta da instância a ser conectada. O número de porta padrão é 8635.
Você pode clicar na instância para ir para a página Basic Information. No painel de navegação à esquerda, escolha Connections. Na página exibida, clique na guia Public Connection e obtenha a porta no campo Database Port na área Basic Information.
Figura 8 Obter a porta
- DB_USER é o usuário do banco de dados. O valor padrão é rwuser.
Digite a senha da conta do banco de dados quando solicitado:
Enter password:
Exemplo de comando:
./mongo --host 192.168.xx.xx --port 8635 -u rwuser -p --authenticationDatabase admin
- DB_HOST é o EIP vinculado à instância a ser conectada.
- Verifique o resultado da conexão. Se as informações a seguir forem exibidas, a conexão será bem-sucedida.
mongos>