Conexão a réplicas de leitura usando Mongo Shell
O Mongo shell é o cliente padrão para o servidor de banco de dados MongoDB. Você pode usar o Mongo Shell para se conectar a instâncias de BD e consultar, atualizar e gerenciar dados em bancos de dados. Para usar o Mongo Shell, baixe e instale o cliente de MongoDB primeiro e, em seguida, use o Mongo shell para se conectar à instância de BD.
Por padrão, uma instância do DDS fornece um endereço IP privado. Se suas aplicações forem implementadas em um ECS e estiverem na mesma região e VPC que as instâncias do DDS, você poderá se conectar a instâncias do DDS usando um endereço IP privado para obter uma taxa de transmissão rápida e alta segurança.
Esta seção descreve como usar o Mongo Shell para se conectar a uma réplica de leitura em uma rede privada.
Você pode se conectar a uma réplica de leitura 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.
- Instale o cliente de MongoDB no ECS. Para garantir a autenticação bem-sucedida, instale o cliente de MongoDB da mesma versão da instância de destino.
Para obter detalhes sobre como instalar um cliente de MongoDB, consulte Como instalar um cliente de MongoDB?
- O ECS pode se comunicar com a instância do DDS. Para mais detalhes, consulte Configuração de regras de grupo de segurança.
Conexão 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.
- 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.
- Faça upload do certificado raiz para o ECS a ser conectado à instância.
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 a uma instância do DDS. O console do DDS fornece o endereço de conexão da réplica de leitura. Você pode usar esse endereço para se conectar à réplica de leitura.
Exemplo de comando:
./mongo "<Read replica connection address>" --ssl --sslCAFile<FILE_PATH> --sslAllowInvalidHostnames
Descrição do parâmetro:
- Read Replica Connection Address: na página Instances, clique na instância para ir para a página Basic Information. Escolha Connections. Clique na guia Private Connection Na área Address, obtenha o endereço de conexão da instância de réplica de leitura.
Figura 1 Obter o endereço de conexão de réplica de leitura
O formato do endereço de conexão de réplica de leitura é 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 de réplica de leitura:
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 (!) ou sinais de porcentagem (%), 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
Endereço IP e porta da réplica de leitura da instância do conjunto de réplicas
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: o certificado do conjunto de réplicas é gerado usando o endereço IP de gerenciamento interno para garantir que a comunicação interna não ocupe recursos como o endereço IP do usuário e a largura de banda. --sslAllowInvalidHostnames é necessário para a conexão SSL por meio de uma rede privada.
Exemplo de comando:
./mongo "mongodb://rwuser:<password>@192.168.xx.xx:8635/test?authSource=admin" --ssl --sslCAFile/tmp/ca.crt --sslAllowInvalidHostnames
Ao se conectar a uma instância usando o endereço de conexão de réplica de leitura, adicione aspas duplas (") antes e depois das informações de conexão.
Se as seguintes informações forem exibidas, a instância será conectada com êxito:replica:SECONDARY>
- Read Replica Connection Address: na página Instances, clique na instância para ir para a página Basic Information. Escolha Connections. Clique na guia Private Connection Na área Address, obtenha o endereço de conexão da instância de réplica de leitura.
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 a uma instância do DDS. O console do DDS fornece o endereço de conexão da réplica de leitura. Você pode usar esse endereço para se conectar à réplica de leitura.
Exemplo de comando:
./mongo "<Read replica connection address>"
Read Replica Connection Address: na página Instances, clique na instância para ir para a página Basic Information. Escolha Connections. Clique na guia Private Connection Na área Address, obtenha o endereço de conexão da instância de réplica de leitura.
Figura 2 Obter o endereço de conexão de réplica de leitura
O formato do endereço de conexão de réplica de leitura é 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 HA privado:
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 (!) ou sinais de porcentagem (%), 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
Endereço IP e porta da réplica de leitura da instância do conjunto de réplicas
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"
Se as seguintes informações forem exibidas, a instância será conectada com êxito:replica:SECONDARY>