Deel 3 – De implementatie van Tableau Server Enterprise voorbereiden
In deel 3 worden de vereisten beschreven voor het voorbereiden van uw infrastructuur voor de implementatie van de Tableau Server-referentiearchitectuur. Voordat u begint, raden wij u aan om Deel 2 – De basisprincipes van de referentiearchitectuur voor de implementatie van Tableau Server nogmaals door te nemen.
Naast beschrijvingen van vereisten biedt dit onderwerp een implementatievoorbeeld van de referentiearchitectuur in een AWS-omgeving. De rest van deze gids bouwt voort op het voorbeeld van een AWS-referentiearchitectuur dat in dit onderwerp is gestart.
Een kernprincipe van de referentiearchitectuur is standaardisatie met best practices voor datacenterbeveiliging. De architectuur is specifiek ontworpen om services te scheiden in beveiligde netwerksubnetten. Communicatie tussen subnetten is beperkt tot specifiek protocol- en poortverkeer.
Het onderstaande diagram illustreert het subnetontwerp voor de referentiearchitectuur voor een on-premises implementatie of een door de klant beheerde cloud-implementatie. In de sectie Voorbeeld: subnetten en beveiligingsgroepen configureren in AWS hieronder, vindt u een voorbeeld van een cloud-implementatie.
Subnetten
Maak drie subnetten:
- een weblaag
- een toepassingslaag
- een datasubnet
Regels voor firewall-/beveiligingsgroep
De tabbladen hieronder beschrijven de firewallregels voor elke laag van het datacenter. Zie de sectie verderop in dit onderwerp voor AWS-specifieke beveiligingsgroepsregels.
De weblaag is een openbaar DMZ-subnet dat inkomende HTTPS-verzoeken verwerkt en doorstuurt naar de toepassingslaag. Dit ontwerp biedt een verdedigingslaag tegen malware waarmee een mogelijke aanval op uw organisatie gericht zou kunnen worden. De weblaag blokkeert de toegang tot de toepassings-/datalaag.
Verkeer | Type | Protocol | Poortbereik | Bron |
---|---|---|---|---|
Inkomend | SSH | TCP | 22 | Bastion-subnet (voor cloud-implementaties) |
Inkomend | HTTP | TCP | 80 | Internet (0.0.0.0/0) |
Inkomend | HTTPS | TCP | 443 | Internet (0.0.0.0/0) |
Uitgaand | Alle verkeer | Alle | Alle |
Het toepassingssubnet is de locatie waar de Tableau Server-implementatie zich bevindt. Het toepassingssubnet omvat de Tableau-toepassingsservers (Knooppunt 1 en Knooppunt 2). De Tableau-toepassingsservers verwerken gebruikersverzoeken aan de dataservers en voeren de belangrijkste bedrijfslogica uit.
Het toepassingssubnet omvat ook de Tableau-dataservers (Knooppunt 3 en Knooppunt 4).
Al het clientverkeer naar de toepassingslaag wordt geverifieerd op de weblaag. Beheerderstoegang tot het subnet van de toepassing wordt geverifieerd en gerouteerd via de bastionhost.
Verkeer | Type | Protocol | Poortbereik | Bron |
---|---|---|---|---|
Inkomend | SSH | TCP | 22 | Bastion-subnet (voor cloud-implementaties) |
Inkomend | HTTPS | TCP | 443 | Subnet van weblaag |
Uitgaand | Alle verkeer | Alle | Alle |
Het datasubnet is de plek waar de externe PostgreSQL-databaseserver zich bevindt.
Verkeer | Type | Protocol | Poortbereik | Bron |
---|---|---|---|---|
Inkomend | SSH | TCP | 22 | Bastion-subnet (voor cloud-implementaties) |
Inkomend | PostgreSQL | TCP | 5432 | Subnet van toepassingslaag |
Uitgaand | Alle verkeer | Alle | Alle |
De meeste beveiligingsteams in bedrijven staan geen directe communicatie toe van het on-premises beheersysteem naar de knooppunten die in de cloud zijn geïmplementeerd. In plaats daarvan wordt al het beheerde SSH-verkeer naar de cloudknooppunten doorgestuurd via een bastionhost (ook wel een 'jumpserver' genoemd). Voor cloud-implementaties adviseren wij een bastionhostproxyverbinding met alle resources in de referentiearchitectuur. Dit is een optionele configuratie voor on-premises omgevingen.
De bastionhost verifieert beheerderstoegang en staat alleen verkeer toe via het SSH-protocol.
Verkeer | Type | Protocol | Poortbereik | Bron | Bestemming |
---|---|---|---|---|---|
Inkomend | SSH | TCP | 22 | IP-adres van de beheerderscomputer | |
Uitgaand | SSH | TCP | 22 | Subnet van weblaag | |
Uitgaand | SSH | TCP | 22 | Subnet van toepassingslaag |
Voorbeeld: subnetten en beveiligingsgroepen configureren in AWS
In deze sectie vindt u stapsgewijze procedures voor het maken en configureren van de VPC- en netwerkomgeving voor de implementatie van de Tableau Server-referentiearchitectuur in AWS.
De onderstaande afbeeldingen tonen de referentiearchitectuur in vier lagen. De afbeeldingen laten zien hoe de componentelementen op de topologiekaart worden gelaagd:
- VPC-subnettopologie en EC2-instanties: één bastionhost, twee reverse-proxyservers, vier Tableau-servers en ten minste één PostgreSQL-server.
- Protocolflow en internetconnectiviteit. Al het inkomende verkeer wordt beheerd via de AWS-internetgateway. Verkeer naar het internet wordt via de NAT gerouteerd.
- Beschikbaarheidszones. De proxy-, Tableau Server- en PostgreSQL-hosts zijn gelijkmatig verdeeld over twee beschikbaarheidszones.
- Beveiligingsgroepen. Vier beveiligingsgroepen (Openbaar, Privé, Data en Bastion) beschermen elke laag op protocolniveau.
AWS-beschikbaarheidszones en hoge beschikbaarheid
De referentiearchitectuur zoals gepresenteerd in deze gids specificeert een implementatie die beschikbaarheid biedt via redundantie wanneer een van de hosts uitvalt. In het geval van AWS, waarbij de referentiearchitectuur is geïmplementeerd in twee beschikbaarheidszones, komt de beschikbaarheid echter in gevaar in het zeldzame geval dat een beschikbaarheidszone uitvalt.
VPC-configuratie
In deze sectie wordt het volgende beschreven:
- De VPC installeren en configureren
- Internetconnectiviteit configureren
- Subnetten configureren
- Beveiligingsgroepen maken en configureren
VPC configureren
De procedure in deze sectie komt overeen met de gebruikersinterface in de klassieke VPC-ervaring. U kunt de gebruikersinterface omschakelen naar de klassieke weergave door de optie Nieuwe VPC-ervaring in de linkerbovenhoek van het AWS VPC-dashboard uit te schakelen.
Voer de VPC-wizard uit om de standaard subnetten Privé en Openbaar, de standaardroutering en het netwerk-ACL te maken.
- Voordat u een VPC configureert, moet u een elastisch IP-adres maken. Maak een toewijzing met behulp van alle standaardwaarden.
- VPC-wizard uitvoeren > VPC met subnetten Openbaar en Privé
- Accepteer de meeste standaardinstellingen. Met uitzondering van het volgende:
- Voer een VPC-naam in.
- Geef de Elastische IP-toewijzings-ID op.
- Geef de volgende CIDR-maskers op:
- IPv4 CIDR van Openbaar subnet: 10.0.1.0/24, hernoem dit subnet
Public-a
. - IPv4 CIDR van Privé subnet: 10.0.30.0/24, hernoem dit subnet
Private-a
.
- IPv4 CIDR van Openbaar subnet: 10.0.1.0/24, hernoem dit subnet
- Beschikbaarheidszone: selecteer voor beide subnetten de optie a voor de regio waarin u zich bevindt.
Opmerking: In dit voorbeeld gebruiken we a en b om onderscheid te maken tussen beschikbaarheidszones in een bepaald AWS-datacenter. In AWS komen de namen van beschikbaarheidszones mogelijk niet overeen met de hier getoonde voorbeelden. Sommige beschikbaarheidszones omvatten bijvoorbeeld zones c en d binnen een datacenter.
- Klik op VPC maken.
- Nadat de VPC is gemaakt, maakt u de subnetten
Public-b
,Private-b
,Data
enBastion
. Om een subnet te maken, klikt u op Subnetten > Subnet maken.Public-b
: selecteer bij Beschikbaarheidszone optie b voor de regio waarin u zich bevindt. CIDR-blok: 10.0.2.0/24Private-b
: selecteer bij Beschikbaarheidszone optie b voor de regio waarin u zich bevindt. CIDR-blok: 10.0.31.0/24Data
: selecteer bij Beschikbaarheidszone optie a voor de regio waarin u zich bevindt. CIDR-blok: 10.0.50.0/24. Optioneel: als u van plan bent de externe database te repliceren over een PostgreSQL-cluster, maak dan een Data-b-subnet in Beschikbaarheidszone b met een CIDR-blok van 10.0.51.0/24.Bastion
: selecteer een van beide zones voor Beschikbaarheidszone. CIDR-blok: 10.0.0.0/24
- Nadat de subnetten zijn gemaakt, bewerkt u de routetabellen in de subnetten Openbaar en Bastion, zodat de routetabel wordt gebruikt die is geconfigureerd voor de bijbehorende internetgateway (IGW). Bewerk ook de subnetten Privé en Data, zodat de routetabel wordt gebruikt die is geconfigureerd voor de network address translator (NAT).
- Om te bepalen welke routetabel is geconfigureerd met de IGW of de NAT, klikt u op Routetabellen in het AWS-dashboard. Selecteer een van de twee routetabelkoppelingen om de eigenschappenpagina te openen. Kijk naar de Doelwaarde bij Routes > Bestemming> 0.0.0.0/0. De Doelwaarde onderscheidt het type route en zal ofwel beginnen met de tekenreeks
igw-
ofnat-
. - Om routetabellen bij te werken, gaat u naar VPC > Subnetten > [subnet_naam] > Routetabel > Routetabelkoppeling bewerken.
- Om te bepalen welke routetabel is geconfigureerd met de IGW of de NAT, klikt u op Routetabellen in het AWS-dashboard. Selecteer een van de twee routetabelkoppelingen om de eigenschappenpagina te openen. Kijk naar de Doelwaarde bij Routes > Bestemming> 0.0.0.0/0. De Doelwaarde onderscheidt het type route en zal ofwel beginnen met de tekenreeks
Beveiligingsgroepen configureren
De VPC-wizard maakt één beveiligingsgroep die u niet zult gebruiken. Maak de volgende beveiligingsgroepen (Beveiligingsgroepen > Beveiligingsgroep maken). De EC2-hosts worden in deze groepen geïnstalleerd in twee beschikbaarheidszones, zoals weergegeven in het bovenstaande diagram met afbeeldingen.
- Maak een nieuwe beveiligingsgroep: Privé. Hier worden alle vier de knooppunten van Tableau Server geïnstalleerd. Later in het installatieproces wordt de beveiligingsgroep Privé gekoppeld aan de subnetten 10.0.30.0/24 en 10.0.31.0/24.
- Maak een nieuwe beveiligingsgroep: Openbaar. Hier worden proxyservers geïnstalleerd. Later in het installatieproces wordt de beveiligingsgroep Openbaar gekoppeld aan de subnetten 10.0.1.0/24 en 10.0.2.0/24.
- Maak een nieuwe beveiligingsgroep: Data. Hier wordt de externe Tableau-opslagplaats van PostgreSQL geïnstalleerd. Later in het installatieproces wordt de beveiligingsgroep Data gekoppeld aan het subnet 10.0.50.0/24 (en optioneel 10.0.51.0/24).
- Maak een nieuwe beveiligingsgroep: Bastion. Hier installeert u de bastionhost. Later in het installatieproces wordt de beveiligingsgroep Bastion gekoppeld aan het subnet 10.0.0.0/24.
Geef inkomende en uitgaande regels op
In AWS zijn beveiligingsgroepen te vergelijken met firewalls in een on-premises omgeving. U moet het type verkeer (bijv. http, https, enz.), het protocol (TCP of UDP) en de poorten of het poortbereik (bijv. 80, 443, enz.) opgeven die de beveiligingsgroep mogen in- en/of uitgaan. Voor elk protocol moet u ook het bestemmings- of bronverkeer opgeven.
Regels voor beveiligingsgroep Openbaar
Inkomende regels | |||
---|---|---|---|
Type | Protocol | Poortbereik | Bron |
HTTP | TCP | 80 | 0.0.0.0/0 |
HTTPS | TCP | 443 | 0.0.0.0/0 |
SSH | TCP | 22 | Beveiligingsgroep Bastion |
Uitgaande regels | |||
---|---|---|---|
Type | Protocol | Poortbereik | Bestemming |
Alle verkeer | Alle | Alle | 0.0.0.0/0 |
Regels voor beveiligingsgroep Privé
De beveiligingsgroep Privé bevat een inkomende regel om HTTP-verkeer van de beveiligingsgroep Openbaar toe te staan. Sta HTTP-verkeer alleen toe tijdens het implementatieproces om de connectiviteit te verifiëren. Wij raden u aan de regel voor inkomend HTTP-verkeer te verwijderen nadat u de reverse-proxy hebt geïmplementeerd en SSL voor Tableau hebt geconfigureerd.
Inkomende regels | |||
---|---|---|---|
Type | Protocol | Poortbereik | Bron |
HTTP | TCP | 80 | Beveiligingsgroep Openbaar |
HTTPS | TCP | 443 | Beveiligingsgroep Openbaar |
PostgreSQL | TCP | 5432 | Beveiligingsgroep Data |
SSH | TCP | 22 | Beveiligingsgroep Bastion |
Alle verkeer | Alle | Alle | Beveiligingsgroep Privé |
Uitgaande regel | |||
---|---|---|---|
Type | Protocol | Poortbereik | Bestemming |
Alle verkeer | Alle | Alle | 0.0.0.0/0 |
PostgreSQL | TCP | 5432 | Beveiligingsgroep Data |
SSH | TCP | 22 | Beveiligingsgroep Bastion |
Regels voor beveiligingsgroep Data
Inkomende regels | |||
---|---|---|---|
Type | Protocol | Poortbereik | Bron |
PostgreSQL | TCP | 5432 | Beveiligingsgroep Privé |
SSH | TCP | 22 | Beveiligingsgroep Bastion |
Uitgaande regels | |||
---|---|---|---|
Type | Protocol | Poortbereik | Bestemming |
Alle verkeer | Alle | Alle | 0.0.0.0/0 |
PostgreSQL | TCP | 5432 | Beveiligingsgroep Privé |
SSH | TCP | 22 | Beveiligingsgroep Bastion |
Regels voor beveiligingsgroep Bastion
Inkomende regels | |||
---|---|---|---|
Type | Protocol | Poortbereik | Bron |
SSH | TCP | 22 | Het IP-adres en netmasker van de computer waarmee u zich aanmeldt bij AWS (beheerderscomputer). |
SSH | TCP | 22 | Beveiligingsgroep Privé |
SSH | TCP | 22 | Beveiligingsgroep Openbaar |
Uitgaande regels | |||
---|---|---|---|
Type | Protocol | Poortbereik | Bestemming |
SSH | TCP | 22 | Het IP-adres en netmasker van de computer waarmee u zich aanmeldt bij AWS (beheerderscomputer). |
SSH | TCP | 22 | Beveiligingsgroep Privé |
SSH | TCP | 22 | Beveiligingsgroep Openbaar |
SSH | TCP | 22 | Beveiligingsgroep Data |
HTTPS | TCP | 443 | 0.0.0.0/0 (Optioneel: maak deze regel als u toegang tot internet nodig hebt om ondersteunende software op de bastionhost te downloaden) |
Automatisch toewijzen van openbare IP-adressen inschakelen
Hiermee krijgt u een IP-adres waarmee u verbinding kunt maken met de proxyservers en de bastionhost.
Voor subnetten Openbaar en Bastion:
- Selecteer het subnet.
- Selecteer onder het menu Acties Instellingen voor automatisch toewijzen van IP-adressen wijzigen.
- Klik op Automatisch toewijzen van openbare IPv4-adressen inschakelen.
- Klik op Opslaan.
Loadbalancer
Opmerking: Als u in AWS installeert en de voorbeeldimplementatie in deze gids volgt, moet u de AWS-loadbalancer later in het implementatieproces installeren en configureren, zoals beschreven in Deel 5 - Weblaag configureren.
Voor on-premises implementaties werkt u samen met uw netwerkbeheerders om loadbalancers te implementeren ter ondersteuning van de weblaag van de referentiearchitectuur:
- Een webgerichte toepassings-loadbalancer die HTTPS-verzoeken van Tableau-clients accepteert en communiceert met de reverse-proxyservers.
- Reverse-proxy:
- Wij adviseren minimaal twee proxyservers voor redundantie en om de belasting van de client te verwerken.
- Ontvangt HTTPS-verkeer van loadbalancer.
- Ondersteunt sticky session naar Tableau-host.
- Configureert een proxy voor round robin loadbalancing voor elke Tableau Server waarop het Gateway-proces wordt uitgevoerd.
- Verwerkt verificatieverzoeken van externe IdP.
- Forward-proxy: Tableau Server vereist toegang tot internet voor licenties en kaartfunctionaliteit. Afhankelijk van uw forward-proxy-omgeving moet u mogelijk forward-proxy-toelatingslijsten configureren voor Tableau-service-URL's. Zie Communiceren met internet (Linux(Link wordt in een nieuw venster geopend)).
Hostcomputers configureren
Minimaal aanbevolen hardware
De volgende aanbevelingen zijn gebaseerd op onze tests van echte data in de referentiearchitectuur.
Toepassingsservers:
- CPU: 8 fysieke kernen (16vCPU's)
- RAM: 128 GB (16 GB/fysieke kern)
- Schijfruimte: 100 GB
Dataservers
- CPU: 8 fysieke kernen (16vCPU's)
- RAM: 128 GB (16 GB/fysieke kern)
- Schijfruimte: 1 TB. Als uw implementatie gebruikmaakt van externe opslag voor het Tableau Bestandsarchief, moet u de juiste schijfruimte berekenen. Zie Tableau Server installeren met extern bestandsarchief (Linux(Link wordt in een nieuw venster geopend)).
Proxyservers
- CPU: 2 fysieke kernen (4vCPU's)
- RAM: 8 GB (4 GB/fysieke kern)
- Schijfruimte: 100 GB
Externe opslagplaats-database
- CPU: 8 fysieke kernen (16vCPU's)
- RAM: 128 GB (16 GB/fysieke kern)
- De benodigde schijfruimte is afhankelijk van de hoeveelheid data die u verzamelt en de gevolgen hiervan voor de back-up. Zie de sectie Back-up- en herstelprocessen in het onderwerp Vereisten voor schijfruimte (Linux(Link wordt in een nieuw venster geopend)).
Directorystructuur
De referentiearchitectuur beveelt aan om het Tableau Server-pakket en de data te installeren op niet-standaardlocaties:
- Pakket installeren op:
/app/tableau_server
. Maak dit directorypad voordat u het Tableau Server-pakket installeert en geef dit pad vervolgens op tijdens de installatie. - Installeer Tableau-data op:
/data/tableau_data
. Maak deze directory niet aan voordat u Tableau Server installeert. In plaats daarvan moet u het pad opgeven tijdens de installatie. Tableau Setup zal vervolgens het pad maken en de juiste machtigingen toekennen.
Zie Het installatiepakket uitvoeren en TSM initialiseren voor implementatiedetails.
Voorbeeld: hostcomputers installeren en voorbereiden in AWS
In deze sectie wordt uitgelegd hoe u EC2-hosts installeert voor elk servertype in de Tableau Server-referentiearchitectuur.
De referentiearchitectuur vereist acht hosts:
- Vier instanties voor Tableau Server
- Twee instanties voor proxyservers (Apache)
- Eén instantie voor bastionhost
- Eén of twee EC2 PostgreSQL-database-instanties
Details voor host-instantie
Installeer de hostcomputers volgens de onderstaande details.
Tableau Server
- Amazon Linux 2
- Instantietype: m5a.8xlarge
- Beveiligingsgroep-ID: Privé
- Opslag: EBS, 150 GiB, gp2-volumetype. Als uw implementatie gebruikmaakt van externe opslag voor het Tableau Bestandsarchief, moet u de juiste schijfruimte berekenen. Zie Tableau Server installeren met extern bestandsarchief (Linux(Link wordt in een nieuw venster geopend)).
- Netwerk: installeer twee EC2-hosts in elk privé-subnet (10.0.30.0/24 en 10.0.31.0/24).
- Kopieer de nieuwste onderhoudsverklaring van het rpm-pakket van Tableau Server 2021.2 (of later) van Tableau-downloadpagina(Link wordt in een nieuw venster geopend) naar elke Tableau-host.
Bastionhost
- Amazon Linux 2
- Instantietype: t3.micro
- Beveiligingsgroep-ID: Bastion
- Opslag: EBS, 50 GiB, gp2-volumetype
- Netwerk: subnet Bastion 10.0.0.0/24
Onafhankelijke gateway van Tableau Server
- Amazon Linux 2
- Instantietype: t3.xlarge
- Beveiligingsgroep-ID: Openbaar
- Opslag: EBS, 100 GiB, gp2-volumetype
- Netwerk: installeer één EC2-instantie in elk openbaar subnet (10.0.1.0/24 en 10.0.2.0/24)
PostgreSQL EC2-host
- Amazon Linux 2
- Instantietype: r5.4xlarge
- Beveiligingsgroep-ID: Data
- Opslag: De benodigde schijfruimte is afhankelijk van de hoeveelheid data die u verzamelt en de gevolgen hiervan voor de back-up. Zie de sectie Back-up- en herstelprocessen in het onderwerp Vereisten voor schijfruimte (Linux(Link wordt in een nieuw venster geopend)).
- Netwerk: subnet Data 10.0.50.0/24. (Als u PostgreSQL in een hoge beschikbaarheidscluster repliceert, installeert u de tweede host in het subnet 10.0.51.0/24.)
Verificatie: VPC-connectiviteit
Nadat u de hostcomputers hebt geïnstalleerd, controleert u de netwerkconfiguratie. Controleer de connectiviteit tussen de hosts door verbinding te maken via SSH vanaf de host in de beveiligingsgroep Bastion naar de hosts in elk subnet.
Voorbeeld: verbinding maken met bastionhost in AWS
Stel uw beheerderscomputer in voor ssh-agent. Hierdoor kunt u verbinding maken met hosts in AWS zonder dat u uw privésleutelbestand op EC2-instanties hoeft te plaatsen.
Om ssh-agent op een Mac te configureren, voert u de volgende opdracht uit:
ssh-add -K myPrivateKey.pem
of, voor het nieuwste Mac OS,ssh-add --apple-use-keychain myPrivateKey.pem
Voor Windows, zie het onderwerp Veilig verbinding maken met Linux-instanties die in een privé Amazon VPC worden uitgevoerd(Link wordt in een nieuw venster geopend).
Maak verbinding met de bastionhost door de volgende opdracht uit te voeren:
ssh -A ec2-user@<public-IP>
U kunt vervolgens verbinding maken met andere hosts in de VPC vanaf de bastionhost, met behulp van het privé-IP-adres, bijvoorbeeld:
ssh -A ec2-user@10.0.1.93