Accesso privato in Azure Cosmos DB for PostgreSQL

SI APPLICA A: Azure Cosmos DB for PostgreSQL (con tecnologia basata sull'estensione di database Citus per PostgreSQL)

Azure Cosmos DB for PostgreSQL supporta tre opzioni di rete:

  • Nessun accesso
    • È l'impostazione predefinita per un cluster appena creato, se non è abilitato l'accesso pubblico o privato. Nessun computer, all'interno o all'esterno di Azure, può connettersi ai nodi del database.
  • Accesso pubblico
    • Un indirizzo IP pubblico viene assegnato al nodo coordinatore.
    • L'accesso al nodo coordinatore è protetto dal firewall.
    • Facoltativamente, è possibile abilitare l'accesso a tutti i nodi di lavoro. In questo caso, gli indirizzi IP pubblici vengono assegnati ai nodi di lavoro e sono protetti dallo stesso firewall.
  • Accesso privato
    • Ai nodi del cluster sono assegnati solo gli indirizzi IP privati.
    • Ogni nodo richiede un endpoint privato per consentire agli host nella rete virtuale selezionata di accedere ai nodi.
    • Per il controllo di accesso è possibile usare le funzionalità di sicurezza delle reti virtuali di Azure, ad esempio i gruppi di sicurezza di rete.

Quando si crea un cluster, è possibile abilitare l'accesso pubblico o privato o scegliere l'impostazione predefinita di nessun accesso. Dopo aver creato il cluster, è possibile scegliere di alternare tra accesso pubblico o privato, oppure attivarli entrambi contemporaneamente.

Questa pagina descrive l'opzione di accesso privato. Per l'accesso pubblico, vedere qui.

Definizioni

Rete virtuale. Una Rete virtuale di Azure (VNet) è il blocco predefinito fondamentale per la rete privata in Azure. Le reti virtuali consentono a molti tipi di risorse di Azure, ad esempio server di database e macchine virtuali di Azure, di comunicare in modo sicuro tra loro. Le reti virtuali supportano le connessioni locali, consentono agli host in più reti virtuali di interagire tra loro tramite peering e offrono vantaggi aggiuntivi di scalabilità, opzioni di sicurezza e isolamento. Ogni endpoint privato per un cluster richiede una rete virtuale associata.

Subnet. Le subnet segmentano una rete virtuale in una o più subnet. Ogni sottorete ottiene una parte dello spazio indirizzi, migliorando l'efficienza di allocazione degli indirizzi. È possibile proteggere le risorse all'interno delle subnet con i gruppi di sicurezza di rete. Per altre informazioni, vedere Gruppi di sicurezza di rete.

Quando si seleziona una subnet per l'endpoint privato di un cluster, assicurarsi che nella subnet siano disponibili sufficienti indirizzi IP privati per le esigenze correnti e future.

Endpoint privato. Un endpoint privato è un'interfaccia di rete che usa un indirizzo IP privato di una rete virtuale. Questa interfaccia di rete si connette privatamente e in modo sicuro a un servizio basato sul collegamento privato di Azure. Gli endpoint privati portano i servizi nella rete virtuale.

L'abilitazione dell'accesso privato per Azure Cosmos DB per PostgreSQL crea un endpoint privato per il nodo coordinatore del cluster. L'endpoint consente agli host nella rete virtuale selezionata di accedere al coordinatore. Facoltativamente, è possibile creare endpoint privati anche per i nodi di lavoro.

Zona DNS privato. Una zona DNS privata di Azure risolve i nomi host all'interno di una rete virtuale collegata e all'interno di qualsiasi rete virtuale con peering. I record di dominio per i nodi vengono creati in una zona DNS privata selezionata per il cluster. Assicurarsi di usare nomi di dominio completi (FQDN) per le stringhe di connessione PostgreSQL dei nodi.

È possibile usare endpoint privati per i cluster per consentire agli host in una rete virtuale di accedere in modo sicuro ai dati tramite un collegamento privato.

L'endpoint privato del cluster usa un indirizzo IP dallo spazio di indirizzi della rete virtuale. Il traffico tra gli host nella rete virtuale e i nodi passa attraverso un collegamento privato nella rete backbone Microsoft, eliminando l'esposizione a Internet pubblico.

Le applicazioni nella rete virtuale possono connettersi facilmente ai nodi tramite l'endpoint privato, usando le stesse stringhe di connessione e gli stessi meccanismi di autorizzazione usati normalmente.

È possibile selezionare l'accesso privato durante la creazione del cluster ed è possibile passare dall'accesso pubblico all'accesso privato in qualsiasi momento.

Uso di una zona DNS privata

Viene eseguito automaticamente il provisioning di una nuova zona DNS privata per ogni endpoint privato, a meno che non si selezioni una delle zone DNS private create in precedenza da Azure Cosmos DB per PostgreSQL. Per altre informazioni, vedere la panoramica delle zone DNS private.

Il servizio Azure Cosmos DB per PostgreSQL crea record DNS, ad esempio c-mygroup01.12345678901234.privatelink.postgres.cosmos.azure.com nella zona DNS privata selezionata per ogni nodo con un endpoint privato. Quando ci si connette a un nodo da una macchina virtuale di Azure tramite endpoint privato, DNS di Azure risolve il nome di dominio completo del nodo in un indirizzo IP privato.

Le impostazioni della zona DNS privata e il peering di rete virtuale sono indipendenti l'uno dall'altro. Se ci si vuole connettere a un nodo nel cluster da un client di cui è stato effettuato il provisioning in un'altra rete virtuale (dalla stessa area o da un'area diversa), è necessario collegare la zona DNS privata alla rete virtuale. Per altre informazioni, vedere Collegare la rete virtuale.

Nota

Il servizio crea sempre record CNAME pubblici, ad esempio c-mygroup01.12345678901234.postgres.cosmos.azure.com per ogni nodo. Tuttavia, i computer selezionati su Internet pubblico possono connettersi al nome host pubblico solo se l'amministratore del database abilita l'accesso pubblico al cluster.

Se si usa un server DNS personalizzato, è necessario usare un server d'inoltro DNS per risolvere il nome di dominio completo dei nodi. L'indirizzo IP del server d'inoltro deve essere 168.63.129.16. Il server DNS personalizzato deve trovarsi all'interno della rete virtuale o raggiungibile tramite l'impostazione del server DNS della rete virtuale. Per altre informazioni, vedere risoluzione dei nomi che usa il proprio server DNS.

Consigli

Quando si abilita l'accesso privato per il cluster, prendere in considerazione:

  • Dimensioni della subnet: quando si selezionano le dimensioni della subnet per un cluster, prendere in considerazione le esigenze correnti, ad esempio gli indirizzi IP per il coordinatore o tutti i nodi del cluster e le esigenze future, ad esempio la crescita del cluster.

    Assicurarsi di disporre di un numero sufficiente di indirizzi IP privati per le esigenze correnti e future. Tenere presente che Azure riserva cinque indirizzi IP in ogni subnet.

    Per altre informazioni, vedere le domande frequenti.

  • Zona DNS privato: i record DNS con indirizzi IP privati verranno gestiti dal servizio Azure Cosmos DB per PostgreSQL. Assicurarsi di non eliminare la zona DNS privata usata per i cluster.

Limiti e limitazioni

Vedere la pagina Limiti e limitazioni di Azure Cosmos DB for PostgreSQL.

Passaggi successivi