Parte 3 - Preparazione per la distribuzione di Tableau Server per le organizzazioni di grandi dimensioni
Nella parte 3 sono descritti i requisiti per preparare la tua infrastruttura alla distribuzione dell’architettura di riferimento di Tableau Server. Prima di iniziare, è consigliabile esaminare la sezione Parte 2 - Informazioni sull’architettura di riferimento per la distribuzione di Tableau Server.
Oltre alle descrizioni dei requisiti, questo argomento fornisce un esempio di implementazione dell’architettura di riferimento in un ambiente AWS. Il resto di questa guida si basa sull’esempio dell’architettura di riferimento AWS iniziato in questo argomento.
Un principio fondamentale dell’architettura di riferimento è la standardizzazione con le procedure consigliate di sicurezza per i data center. In particolare, l’architettura è progettata per separare i servizi in subnet di rete protette. La comunicazione tra le subnet è limitata al traffico di protocolli e porte specifici.
Il diagramma seguente illustra la progettazione delle subnet dell’architettura di riferimento per una distribuzione in locale o una distribuzione cloud gestita dal cliente. Per un esempio di distribuzione cloud, consulta la sezione seguente Esempio: configurare subnet e gruppi di sicurezza in AWS.
Subnet
Crea tre subnet:
- Un livello Web
- Un livello applicazione
- Una subnet dati.
Regole firewall/dei gruppi di sicurezza
Le schede seguenti descrivono le regole firewall per ogni livello del data center. Per le regole dei gruppi di sicurezza specifiche di AWS, consulta la sezione più avanti in questo argomento.
Il livello Web è una subnet DMZ pubblica che gestirà le richieste HTTPS in entrata e invierà le richieste al livello applicazione. Questa struttura fornisce un livello di difesa dal malware che potrebbe colpire la tua organizzazione. Il livello Web blocca l’accesso al livello applicazione/dati.
Traffico | Tipo | Protocollo | Intervallo di porte | Origine |
---|---|---|---|---|
In entrata | SSH | TCP | 22 | Subnet bastion (per le distribuzioni cloud) |
In entrata | HTTP | TCP | 80 | Internet (0.0.0.0/0) |
In entrata | HTTPS | TCP | 443 | Internet (0.0.0.0/0) |
In uscita | Tutto il traffico | Tutti | Tutti |
La subnet applicazione è quella in cui risiede la distribuzione di Tableau Server. La subnet applicazione include i server applicazioni di Tableau (Nodo 1 e Nodo 2). I server applicazioni di Tableau elaborano le richieste degli utenti ai Data Server ed eseguono la logica di business principale.
La subnet applicazione include anche i Data Server di Tableau (Nodo 3 e Nodo 4).
Tutto il traffico client verso il livello applicazione viene autenticato al livello Web. L’accesso amministrativo alla subnet applicazione viene autenticato e instradato tramite l’host bastion.
Traffico | Tipo | Protocollo | Intervallo di porte | Origine |
---|---|---|---|---|
In entrata | SSH | TCP | 22 | Subnet bastion (per le distribuzioni cloud) |
In entrata | HTTPS | TCP | 443 | Subnet del livello Web |
In uscita | Tutto il traffico | Tutti | Tutti |
La subnet dei dati è quella in cui risiede il server di database PostgreSQL esterno.
Traffico | Tipo | Protocollo | Intervallo di porte | Origine |
---|---|---|---|---|
In entrata | SSH | TCP | 22 | Subnet bastion (per le distribuzioni cloud) |
In entrata | PostgreSQL | TCP | 5432 | Subnet del livello applicazione |
In uscita | Tutto il traffico | Tutti | Tutti |
La maggior parte dei team di sicurezza aziendale non consente la comunicazione diretta dal sistema amministrativo locale ai nodi distribuiti nel cloud. Invece, tutto il traffico SSH amministrativo verso i nodi cloud viene inoltrato tramite proxy attraverso un host bastion (anche denominato "server jump"). Per le distribuzioni cloud, è consigliabile una connessione proxy host bastion a tutte le risorse nell’architettura di riferimento. Questa è una configurazione facoltativa per gli ambienti locali.
L’host bastion autentica l’accesso amministrativo e consente solo il traffico tramite il protocollo SSH.
Traffico | Tipo | Protocollo | Intervallo di porte | Origine | Destinazione |
---|---|---|---|---|---|
In entrata | SSH | TCP | 22 | Indirizzo IP del computer di amministrazione | |
In uscita | SSH | TCP | 22 | Subnet del livello Web | |
In uscita | SSH | TCP | 22 | Subnet del livello applicazione |
Esempio: configurare subnet e gruppi di sicurezza in AWS
In questa sezione vengono fornite le procedure dettagliate per creare e configurare l’ambiente VPC e di rete per la distribuzione dell’architettura di riferimento di Tableau Server in AWS.
Le diapositive seguenti mostrano l’architettura di riferimento in quattro livelli. Man mano che procedi nelle diapositive, gli elementi dei componenti vengono sovrapposti sulla mappa della topologia:
- Topologia della sottorete VPC e istanze EC2: un host bastion, due server proxy inversi, quattro sistemi Tableau Server e almeno un server PostgreSQL.
- Flusso del protocollo e connettività Internet. Tutto il traffico in entrata viene gestito tramite il gateway Internet di AWS. Il traffico verso Internet viene instradato attraverso il NAT.
- Aree di disponibilità. Il proxy, Tableau Server e gli host PostgreSQL vengono distribuiti uniformemente in due aree di disponibilità.
- Gruppi di sicurezza. Quattro gruppi di sicurezza (Pubblico, Privato, Dati e Bastion) proteggono ogni livello a livello di protocollo.
Aree di disponibilità AWS e disponibilità elevata
L’architettura di riferimento presentata in questa Guida specifica una distribuzione che assicura la disponibilità tramite ridondanza in caso di problemi di un singolo host. Tuttavia, nel caso AWS in cui l’architettura di riferimento è distribuita in due aree di disponibilità, la disponibilità risulta compromessa nella situazione molto rara in cui si verifica un problema in un’area di disponibilità.
Configurazione del VPC
In questa sezione viene descritto come:
- Installare e configurare il VPC
- Configurare la connettività Internet
- Configurare le subnet
- Creare e configurare i gruppi di sicurezza
Configurare il VPC
La procedura in questa sezione viene mappata all’interfaccia utente nell’esperienza VPC "classica". Puoi attivare o disattivare l’interfaccia utente per mostrare la visualizzazione classica disattivando la nuova esperienza VPC nell’angolo in alto a sinistra di AWS VPC Dashboard.
Esegui la procedura guidata VPC per creare le subnet private e pubbliche predefinite, il routing predefinito e gli ACL di rete.
- Prima di configurare un VPC, devi creare un IP Elastic. Crea un’allocazione utilizzando tutte le impostazioni predefinite.
- Esegui la procedura guidata VPC > "VPC con subnet pubbliche e private"
- Accetta la maggior parte delle impostazioni predefinite, ad eccezione di quanto segue:
- Immetti il nome di un VPC.
- Specifica l’ID di allocazione dell’IP Elastic.
- Specifica le seguenti maschere CIDR:
- CIDR IPv4 della subnet pubblica: 10.0.1.0/24, rinomina questa subnet
Public-a
. - CIDR IPv4 della subnet privata: 10.0.30.0/24, rinomina questa subnet
Private-a
.
- CIDR IPv4 della subnet pubblica: 10.0.1.0/24, rinomina questa subnet
- Area di disponibilità: per entrambe le subnet, seleziona l’opzione a per la regione in cui ti trovi.
Nota: ai fini di questo esempio, vengono utilizzati a e b per distinguere tra le aree di disponibilità in un determinato data center AWS. In AWS, i nomi delle aree di disponibilità potrebbero non corrispondere agli esempi riportati in questo documento. Ad esempio, alcune aree di disponibilità includono le aree c e d all’interno di un data center.
- Fai clic su Crea VPC.
- Dopo aver creato il VPC, crea le subnet
Public-b
,Private-b
,Data
eBastion
. Per creare una subnet, fai clic su Subnet > Crea subnet.Public-b
: per l’area di disponibilità, seleziona l’opzione b per la regione in cui ti trovi. Blocco CIDR: 10.0.2.0/24Private-b
: per l’area di disponibilità, seleziona l’opzione b per la regione in cui ti trovi. Blocco CIDR: 10.0.31.0/24Data
: per l’area di disponibilità, seleziona l’area a per la regione in cui ti trovi. Blocco CIDR: 10.0.50.0/24. Facoltativo: se prevedi di replicare il database esterno in un cluster PostgreSQL, crea una subnet Data-b nell’area di disponibilità b con un blocco CIDR di 10.0.51.0/24.Bastion
: per l’area di disponibilità, seleziona una delle due aree. Blocco CIDR: 10.0.0.0/24
- Dopo aver creato le subnet, modifica le tabelle di route sulle subnet Public e Bastion in modo da utilizzare la tabella di route configurata per il gateway Internet (IGW) associato. Modifica inoltre le subnet Private e Data in modo da utilizzare la tabella di route configurata per Network Address Translation (NAT).
- Per determinare quale tabella di route è configurata con IGW o NAT, fai clic su Tabelle di route nella dashboard di AWS. Seleziona uno dei due collegamenti alla tabella di route per aprire la pagina delle proprietà. Osserva il valore Destinazione in Route > Destinazione > 0.0.0.0/0. Il valore Destinazione differenzia il tipo di route e inizierà con la stringa
igw-
onat-
. - Per aggiornare le tabelle di route, scegli VPC > Subnet > [nome_subnet] > Tabella di route > Modifica associazione tabella di route.
- Per determinare quale tabella di route è configurata con IGW o NAT, fai clic su Tabelle di route nella dashboard di AWS. Seleziona uno dei due collegamenti alla tabella di route per aprire la pagina delle proprietà. Osserva il valore Destinazione in Route > Destinazione > 0.0.0.0/0. Il valore Destinazione differenzia il tipo di route e inizierà con la stringa
Configurare i gruppi di sicurezza
La procedura guidata VPC crea un singolo gruppo di sicurezza che non verrà utilizzato. Crea i seguenti gruppi di sicurezza (Gruppi di sicurezza > Crea gruppo di sicurezza). Gli host EC2 verranno installati in questi gruppi in due aree di disponibilità, come mostrato nel diagramma precedente.
- Crea un nuovo gruppo di sicurezza: Privato. Qui verranno installati tutti e 4 i nodi di Tableau Server. In una fase successiva del processo di installazione, il gruppo di sicurezza Privato sarà associato alle subnet 10.0.30.0/24 e 10.0.31.0/24.
- Crea un nuovo gruppo di sicurezza: Pubblico. Qui verranno installati i server proxy. In una fase successiva del processo di installazione, il gruppo di sicurezza Pubblico sarà associato alle subnet 10.0.1.0/24 e 10.0.2.0/24.
- Crea un nuovo gruppo di sicurezza: Dati. Qui verrà installato il repository di Tableau esterno PostgreSQL. In una fase successiva del processo di installazione, il gruppo di sicurezza Dati sarà associato alle subnet 10.0.50.0/24 (e, facoltativamente, 10.0.51.0/24).
- Crea un nuovo gruppo di sicurezza: Bastion. Qui verrà installato l’host bastion. In una fase successiva del processo di installazione, il gruppo di sicurezza Bastion sarà associato alla subnet 10.0.0.0/24.
Specificare le regole in entrata e in uscita
In AWS, i gruppi di sicurezza sono analoghi ai firewall in un ambiente locale. Devi specificare il tipo di traffico (ad esempio, https, http e così via), il protocollo (TCP o UDP) e le porte o l’intervallo di porte (ad esempio, 80, 443 e così via) a cui è consentito il passaggio verso e/o dal gruppo di sicurezza. Per ogni protocollo devi specificare anche il traffico di destinazione o di origine.
Regole del gruppo di sicurezza Pubblico
Regole in entrata | |||
---|---|---|---|
Tipo | Protocollo | Intervallo di porte | Origine |
HTTP | TCP | 80 | 0.0.0.0/0 |
HTTPS | TCP | 443 | 0.0.0.0/0 |
SSH | TCP | 22 | Gruppo di sicurezza Bastion |
Regole in uscita | |||
---|---|---|---|
Tipo | Protocollo | Intervallo di porte | Destinazione |
Tutto il traffico | Tutti | Tutti | 0.0.0.0/0 |
Regole del gruppo di sicurezza Privato
Il gruppo di sicurezza Privato include una regola in entrata per consentire il traffico HTTP dal gruppo di sicurezza Pubblico. Consenti il traffico HTTP solo durante il processo di distribuzione per verificare la connettività. È consigliabile rimuovere la regola in entrata HTTP dopo aver completato la distribuzione del proxy inverso e la configurazione di SSL in Tableau.
Regole in entrata | |||
---|---|---|---|
Tipo | Protocollo | Intervallo di porte | Origine |
HTTP | TCP | 80 | Gruppo di sicurezza Pubblico |
HTTPS | TCP | 443 | Gruppo di sicurezza Pubblico |
PostgreSQL | TCP | 5432 | Gruppo di sicurezza Dati |
SSH | TCP | 22 | Gruppo di sicurezza Bastion |
Tutto il traffico | Tutti | Tutti | Gruppo di sicurezza Privato |
Regola in uscita | |||
---|---|---|---|
Tipo | Protocollo | Intervallo di porte | Destinazione |
Tutto il traffico | Tutti | Tutti | 0.0.0.0/0 |
PostgreSQL | TCP | 5432 | Gruppo di sicurezza Dati |
SSH | TCP | 22 | Gruppo di sicurezza Bastion |
Regole del gruppo di sicurezza Dati
Regole in entrata | |||
---|---|---|---|
Tipo | Protocollo | Intervallo di porte | Origine |
PostgreSQL | TCP | 5432 | Gruppo di sicurezza Privato |
SSH | TCP | 22 | Gruppo di sicurezza Bastion |
Regole in uscita | |||
---|---|---|---|
Tipo | Protocollo | Intervallo di porte | Destinazione |
Tutto il traffico | Tutti | Tutti | 0.0.0.0/0 |
PostgreSQL | TCP | 5432 | Gruppo di sicurezza Privato |
SSH | TCP | 22 | Gruppo di sicurezza Bastion |
Regole del gruppo di sicurezza host Bastion
Regole in entrata | |||
---|---|---|---|
Tipo | Protocollo | Intervallo di porte | Origine |
SSH | TCP | 22 | L’indirizzo IP e la subnet mask del computer che utilizzerai per accedere ad AWS (computer di amministrazione). |
SSH | TCP | 22 | Gruppo di sicurezza Privato |
SSH | TCP | 22 | Gruppo di sicurezza Pubblico |
Regole in uscita | |||
---|---|---|---|
Tipo | Protocollo | Intervallo di porte | Destinazione |
SSH | TCP | 22 | L’indirizzo IP e la subnet mask del computer che utilizzerai per accedere ad AWS (computer di amministrazione). |
SSH | TCP | 22 | Gruppo di sicurezza Privato |
SSH | TCP | 22 | Gruppo di sicurezza Pubblico |
SSH | TCP | 22 | Gruppo di sicurezza Dati |
HTTPS | TCP | 443 | 0.0.0.0/0 (facoltativo: crea questa regola se è necessario accedere a Internet per scaricare software di supporto sull’host bastion) |
Abilitare l’assegnazione automatica dell’IP pubblico
In questo modo, ti viene fornito un indirizzo IP per la connessione ai server proxy e all’host bastion.
Per le subnet Public e Bastion:
- Seleziona la subnet
- Nel menu Azioni seleziona "Modifica impostazioni IP di assegnazione automatica".
- Fai clic su "Abilita assegnazione automatica indirizzi IPv4 pubblici".
- Fai clic su Salva.
Servizio di bilanciamento del carico
Nota : se stai effettuando l’installazione in AWS e seguendo la distribuzione di esempio in questa guida, devi installare e configurare il servizio di bilanciamento del carico AWS in una fase successiva del processo di distribuzione, come descritto in Parte 5 - Configurazione del livello Web.
Per le distribuzioni locali, collabora con gli amministratori di rete per distribuire i servizi di bilanciamento del carico in modo da supportare il livello Web dell’architettura di riferimento:
- Un servizio di bilanciamento del carico dell’applicazione rivolto al Web che accetta le richieste HTTPS dai client Tableau e comunica con i server proxy inversi.
- Proxy inverso:
- È consigliabile un minimo di due server proxy per la ridondanza e per gestire il carico client.
- Riceve il traffico HTTPS dal servizio di bilanciamento del carico.
- Supporta la sessione permanente per l’host Tableau.
- Configura il proxy per il bilanciamento del carico round robin in ogni sistema Tableau Server che esegue il processo Gateway.
- Gestisce le richieste di autenticazione dall’IdP esterno.
- Proxy di inoltro: Tableau Server richiede l’accesso a Internet per la gestione delle licenze e le funzionalità per le mappe. A seconda dell’ambiente del proxy di inoltro, potrebbe essere necessario configurare gli elenchi consentiti del proxy di inoltro per gli URL del servizio Tableau. Vedi Comunicare con Internet (Linux(Il collegamento viene aperto in una nuova finestra)).
Configurare computer host
Hardware minimo consigliato
Le seguenti raccomandazioni si basano sui nostri test con dati reali nell’architettura di riferimento.
Server applicazioni:
- CPU: 8 core fisici (16 vCPU),
- RAM: 128 GB (16 GB/core fisico)
- Spazio su disco: 100 GB
Data Server
- CPU: 8 core fisici (16 vCPU),
- RAM: 128 GB (16 GB/core fisico)
- Spazio su disco: 1 TB. Se la tua distribuzione utilizzerà l’archiviazione esterna per l’archivio file di Tableau, dovrai calcolare lo spazio su disco appropriato. Vedi Installare Tableau Server con l’archivio file esterno (Linux(Il collegamento viene aperto in una nuova finestra)).
Server proxy
- CPU: 2 core fisici (4 vCPU),
- RAM: 8 GB (4 GB/core fisico)
- Spazio su disco: 100 GB
Database del repository esterno
- CPU: 8 core fisici (16 vCPU),
- RAM: 128 GB (16 GB/core fisico)
- Il requisito per lo spazio su disco dipende dal carico dei dati e dall’impatto che avrà sul backup. Consulta la sezione Processi di backup e ripristino nell’argomento Requisiti di spazio su disco (Linux(Il collegamento viene aperto in una nuova finestra)).
Struttura delle directory
In base all’architettura di riferimento, è consigliabile installare il pacchetto di Tableau Server e i dati in percorsi non predefiniti:
- Installa il pacchetto in:
/app/tableau_server
. Crea questo percorso di directory prima di installare il pacchetto di Tableau Server, quindi specifica questo percorso durante l’installazione. - Installa i dati di Tableau in:
/data/tableau_data
. Non creare questa directory prima di installare Tableau Server. Devi invece specificare il percorso durante l’installazione, quindi il programma di installazione di Tableau creerà e autorizzerà il percorso in modo appropriato.
Consulta Eseguire il pacchetto di installazione e inizializzare TSM per i dettagli sull’implementazione.
Esempio: installare e preparare i computer host in AWS
In questa sezione viene descritto come installare gli host EC2 per ogni tipo di server nell’architettura di riferimento di Tableau Server.
L’architettura di riferimento richiede otto host:
- Quattro istanze per Tableau Server.
- Due istanze per i server proxy (Apache).
- Un’istanza per l’host bastion.
- Una o due istanze di database PostgreSQL EC2
Dettagli dell’istanza host
Installa i computer host in base alle informazioni riportate di seguito.
Tableau Server
- Amazon Linux 2
- Tipo di istanza: m5a.8xlarge
- ID gruppo di sicurezza: Privato
- Archiviazione: EBS, 150 GiB, tipo di volume gp2. Se la tua distribuzione utilizzerà l’archiviazione esterna per l’archivio file di Tableau, dovrai calcolare lo spazio su disco appropriato. Vedi Installare Tableau Server con l’archivio file esterno (Linux(Il collegamento viene aperto in una nuova finestra)).
- Rete: installa due host EC2 in ciascuna subnet privata (10.0.30.0/24 e 10.0.31.0/24).
- Copia la versione di manutenzione più recente del pacchetto rpm di Tableau Server 2021.2 (o versione successiva) dalla pagina dei download di Tableau(Il collegamento viene aperto in una nuova finestra) in ciascun host Tableau.
Host bastion
- Amazon Linux 2
- Tipo di istanza: t3.micro
- ID gruppo di sicurezza: Bastion
- Archiviazione: EBS, 50 GiB, tipo di volume gp2
- Rete: subnet Bastion 10.0.0.0/24
Gateway indipendente Tableau Server
- Amazon Linux 2
- Tipo di istanza: t3.xlarge
- ID gruppo di sicurezza: Pubblico
- Archiviazione: EBS, 100 GiB, tipo di volume gp2
- Rete: installa un’istanza EC2 in ciascuna subnet pubblica (10.0.1.0/24 e 10.0.2.0/24)
Host EC2 PostgreSQL
- Amazon Linux 2
- Tipo di istanza: r5.4xlarge
- ID gruppo di sicurezza: Dati
- Archiviazione: il requisito per lo spazio su disco dipende dal carico dei dati e dall’impatto che avrà sul backup. Consulta la sezione Processi di backup e ripristino nell’argomento Requisiti di spazio su disco (Linux(Il collegamento viene aperto in una nuova finestra)).
- Rete: subnet Data 10.0.50.0/24. Se prevedi di replicare PostgreSQL in un cluster a disponibilità elevata, installa il secondo host nella subnet 10.0.51.0/24)
Verifica: connettività del VPC
Dopo aver installato i computer host, verifica la configurazione di rete. Verifica la connettività tra gli host connettendoti con SSH dall’host nel gruppo di sicurezza Bastion agli host in ogni subnet.
Esempio: connettersi all’host bastion in AWS
Configura il computer di amministrazione per ssh-agent. Questo ti consente di connetterti agli host in AWS senza posizionare il file della chiave privata in un’istanza EC2.
Per configurare ssh-agent su un Mac, esegui questo comando:
ssh-add -K myPrivateKey.pem
o per l’ultimo Mac OS:ssh-add --apple-use-keychain myPrivateKey.pem
Per Windows, consulta l’argomento Securely Connect to Linux Instances Running in a Private Amazon VPC(Il collegamento viene aperto in una nuova finestra).
Connettiti all’host bastion eseguendo questo comando:
ssh -A ec2-user@<public-IP>
Potrai quindi connetterti agli altri host nel VPC dall’host bastion utilizzando l’indirizzo IP privato, ad esempio:
ssh -A ec2-user@10.0.1.93