Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2023-11-14 GMT+08:00

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

  1. Para obter detalhes sobre como criar e fazer logon em um ECS, consulte Compra de um ECS e Logon em um ECS.
  2. 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?

  3. 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.

  1. Na página Instances, clique no nome da instância.
  2. No painel de navegação à esquerda, escolha Connections.
  3. Na área Basic Information, clique em ao lado do campo SSL.
  4. 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.

  5. 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>

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.

  1. Efetue logon no ECS.
  2. 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>