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

Figura 1 Acessar o DDS a partir do ECS em todas as regiões

Cenário 2: suas aplicações são implementadas em um servidor de nuvem fornecido por outros fornecedores.

Figura 2 Acessar o DDS de outros servidores em nuvem

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

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

  1. Faça logon no console de gerenciamento.
  2. Clique em no canto superior esquerdo e selecione uma região e um projeto.
  3. Clique em no canto superior esquerdo da página e escolha Databases > Document Database Service.
  4. Na página Instances, clique no nome da instância.
  5. No painel de navegação à esquerda, escolha Connections.
  6. Na área Basic Information, clique em ao lado do campo SSL.
  7. 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.

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

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

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

  3. Verifique o resultado da conexão. Se as informações a seguir forem exibidas, a conexão será bem-sucedida.

    mongos>