Acesso privado no Azure Cosmos DB para PostgreSQL
APLICA-SE A: Azure Cosmos DB para PostgreSQL (alimentado pela extensão de banco de dados Citus para PostgreSQL)
O Azure Cosmos DB para PostgreSQL suporta três opções de rede:
- Sem acesso
- Esse é o padrão para um cluster recém-criado se o acesso público ou privado não estiver habilitado. Nenhum computador, dentro ou fora do Azure, pode se conectar aos nós do banco de dados.
- Acesso do público
- Um endereço IP público é atribuído ao nó coordenador.
- O acesso ao nó coordenador é protegido por firewall.
- Opcionalmente, o acesso a todos os nós de trabalho pode ser habilitado. Nesse caso, os endereços IP públicos são atribuídos aos nós de trabalho e são protegidos pelo mesmo firewall.
- Acesso privado
- Apenas endereços IP privados são atribuídos aos nós do cluster.
- Cada nó requer um ponto de extremidade privado para permitir que os hosts na rede virtual selecionada acessem os nós.
- Os recursos de segurança das redes virtuais do Azure, como grupos de segurança de rede, podem ser usados para controle de acesso.
Ao criar um cluster, você pode habilitar o acesso público ou privado ou optar pelo padrão de nenhum acesso. Depois que o cluster for criado, você poderá optar por alternar entre acesso público ou privado ou ativá-los ambos de uma só vez.
Esta página descreve a opção de acesso privado. Para acesso público, veja aqui.
Definições
Rede virtual. Uma Rede Virtual do Azure (VNet) é o bloco de construção fundamental para a rede privada no Azure. As redes virtuais permitem que muitos tipos de recursos do Azure, como servidores de banco de dados e Máquinas Virtuais (VM) do Azure, se comuniquem entre si com segurança. As redes virtuais suportam conexões locais, permitem que hosts em várias redes virtuais interajam uns com os outros por meio de emparelhamento e fornecem benefícios adicionais de escala, opções de segurança e isolamento. Cada ponto de extremidade privado para um cluster requer uma rede virtual associada.
Sub-rede. As sub-redes segmentam uma rede virtual em uma ou mais sub-redes. Cada sub-rede obtém uma parte do espaço de endereçamento, melhorando a eficiência de alocação de endereços. Você pode proteger recursos em sub-redes usando Grupos de Segurança de Rede. Para obter mais informações, consulte Grupos de segurança de rede.
Ao selecionar uma sub-rede para o ponto de extremidade privado de um cluster, verifique se há endereços IP privados suficientes disponíveis nessa sub-rede para suas necessidades atuais e futuras.
Ponto de extremidade privado. Um ponto de extremidade privado é uma interface de rede que usa um endereço IP privado de uma rede virtual. Essa interface de rede se conecta de forma privada e segura a um serviço com tecnologia do Azure Private Link. Os pontos de extremidade privados trazem os serviços para sua rede virtual.
Habilitar o acesso privado para o Azure Cosmos DB para PostgreSQL cria um ponto de extremidade privado para o nó coordenador do cluster. O ponto de extremidade permite que os hosts na rede virtual selecionada acessem o coordenador. Opcionalmente, você também pode criar pontos de extremidade privados para nós de trabalho.
Zona DNS privada. Uma zona DNS privada do Azure resolve nomes de host dentro de uma rede virtual vinculada e em qualquer rede virtual emparelhada. Os registros de domínio para nós são criados em uma zona DNS privada selecionada para seu cluster. Certifique-se de usar nomes de domínio totalmente qualificados (FQDN) para cadeias de conexão PostgreSQL dos nós.
Ligação privada
Você pode usar pontos de extremidade privados para seus clusters para permitir que hosts em uma rede virtual (VNet) acessem dados com segurança por meio de um Link Privado.
O ponto de extremidade privado do cluster usa um endereço IP do espaço de endereçamento da rede virtual. O tráfego entre hosts na rede virtual e nós passa por um link privado na rede de backbone da Microsoft, eliminando a exposição à Internet pública.
Os aplicativos na rede virtual podem se conectar aos nós através do ponto de extremidade privado perfeitamente, usando as mesmas cadeias de conexão e mecanismos de autorização que eles usariam de outra forma.
Você pode selecionar acesso privado durante a criação do cluster e pode alternar de acesso público para acesso privado a qualquer momento.
Usando uma zona DNS privada
Uma nova zona DNS privada é provisionada automaticamente para cada ponto de extremidade privado, a menos que você selecione uma das zonas DNS privadas criadas anteriormente pelo Azure Cosmos DB para PostgreSQL. Para obter mais informações, consulte a visão geral das zonas DNS privadas.
O serviço Azure Cosmos DB para PostgreSQL cria registros DNS como c-mygroup01.12345678901234.privatelink.postgres.cosmos.azure.com
na zona DNS privada selecionada para cada nó com um ponto de extremidade privado. Quando você se conecta a um nó de uma VM do Azure por meio de ponto de extremidade privado, o DNS do Azure resolve o FQDN do nó em um endereço IP privado.
As configurações de zona DNS privada e o emparelhamento de rede virtual são independentes uns dos outros. Se você quiser se conectar a um nó no cluster a partir de um cliente provisionado em outra rede virtual (da mesma região ou de uma região diferente), será necessário vincular a zona DNS privada à rede virtual. Para obter mais informações, consulte Vincular a rede virtual.
Nota
O serviço também sempre cria registros CNAME públicos, como c-mygroup01.12345678901234.postgres.cosmos.azure.com
para cada nó. No entanto, os computadores selecionados na Internet pública podem se conectar ao nome de host público somente se o administrador do banco de dados habilitar o acesso público ao cluster.
Se você estiver usando um servidor DNS personalizado, deverá usar um encaminhador DNS para resolver o FQDN dos nós. O endereço IP do encaminhador deve ser 168.63.129.16. O servidor DNS personalizado deve estar dentro da rede virtual ou acessível através da configuração do servidor DNS da rede virtual. Para saber mais, consulte Resolução de nomes que usa seu próprio servidor DNS.
Recomendações
Ao habilitar o acesso privado para seu cluster, considere:
Tamanho da sub-rede: ao selecionar o tamanho da sub-rede para um cluster, considere as necessidades atuais, como endereços IP para o coordenador ou todos os nós desse cluster, e as necessidades futuras, como o crescimento desse cluster.
Certifique-se de que tem endereços IP privados suficientes para as necessidades atuais e futuras. Lembre-se de que o Azure reserva cinco endereços IP em cada sub-rede.
Veja mais detalhes neste FAQ.
Zona DNS privada: os registros DNS com endereços IP privados serão mantidos pelo serviço Azure Cosmos DB for PostgreSQL. Certifique-se de que não elimina a zona DNS privada utilizada para clusters.
Limites e limitações
Consulte a página de limites e limitações do Azure Cosmos DB para PostgreSQL.
Próximos passos
- Saiba como ativar e gerir o acesso privado
- Siga um tutorial para ver o acesso privado em ação.
- Saiba mais sobre endpoints privados
- Saiba mais sobre redes virtuais
- Saiba mais sobre zonas DNS privadas