Partie 3 - Préparer le déploiement de Tableau Server en entreprise

La Partie 3 décrit les exigences de préparation de votre infrastructure pour déployer l’architecture de référence Tableau Server. Avant de commencer, nous vous recommandons de consulter Partie 2 - Comprendre l’architecture de référence du déploiement de Tableau Server.

Outre la description des exigences, cette rubrique fournit un exemple d’implémentation de l’architecture de référence dans un environnement AWS. Le reste de ce guide s’appuie sur l’exemple d’architecture de référence AWS démarré dans cette rubrique.

L’un des principes fondamentaux de l’architecture de référence est la standardisation avec les meilleures pratiques de sécurité des centres de données. Plus précisément, l’architecture est conçue pour séparer les services en sous-réseaux de réseau protégés. La communication entre les sous-réseaux est limitée à un protocole et à un trafic de port spécifiques.

Le diagramme suivant illustre la conception du sous-réseau dans l’architecture de référence pour un déploiement sur site ou un déploiement cloud géré par le client. Pour un exemple de déploiement cloud, consultez la section ci-dessous, Exemple : Configurer des sous-réseaux et des groupes de sécurité dans AWS.

Sous-réseaux

Créez trois sous-réseaux : 

  • Un niveau Web
  • Un niveau Application
  • Un sous-réseau de données.

Règles de pare-feu/groupe de sécurité

Les onglets ci-dessous décrivent les règles de pare-feu pour chaque niveau du centre de données. Pour les règles de groupe de sécurité spécifiques à AWS, consultez la section plus loin dans cette rubrique.

Le niveau Web est un sous-réseau DMZ public qui gérera les demandes HTTPS entrantes et transmettra les demandes au niveau Application. Cette conception fournit une couche de défense contre les logiciels malveillants susceptibles de cibler votre entreprise. Le niveau Web bloque l’accès au niveau application/données.

TraficTypeProtocolePlage de portsSource

Entrant

SSHTCP22Sous-réseau bastion (pour les déploiements cloud)
EntrantHTTPTCP80Internet (0.0.0.0/0)
EntrantHTTPSTCP443Internet (0.0.0.0/0)
SortantTout le traficToutTout 

Le sous-réseau Application est l’endroit où réside le déploiement de Tableau Server. Le sous-réseau Application comprend les serveurs d’applications Tableau (Nœud 1 et Nœud 2). Les serveurs d’applications Tableau traitent les demandes des utilisateurs envoyées aux serveurs de données et exécutent la logique métier principale.

Le sous-réseau Application comprend également les serveurs de données Tableau (Nœud 3 et Nœud 4).

Tout le trafic client vers le niveau Application est authentifié au niveau Web. L’accès administratif au sous-réseau Application est authentifié et acheminé via l’hôte bastion.

TraficTypeProtocolePlage de portsSource

Entrant

SSHTCP22Sous-réseau bastion (pour les déploiements cloud)
EntrantHTTPSTCP443Sous-réseau de niveau Web
SortantTout le traficToutTout 

Le serveur de base de données PostgreSQL externe réside dans le sous-réseau de données.

TraficTypeProtocolePlage de portsSource

Entrant

SSHTCP22Sous-réseau bastion (pour les déploiements cloud)
EntrantPostgreSQLTCP5432Sous-réseau de niveau Application
SortantTout le traficToutTout 

La plupart des équipes de sécurité d’entreprise n’autorisent pas la communication directe entre le système administratif sur site et les nœuds déployés dans le cloud. Au lieu de cela, tout le trafic SSH administratif vers les nœuds cloud est transféré via un hôte bastion (également appelé « jump server »). Pour les déploiements cloud, nous recommandons une connexion hôte proxy bastion à toutes les ressources de l’architecture de référence. Il s’agit d’une configuration facultative pour les environnements sur site.

L’hôte bastion authentifie l’accès administratif et autorise uniquement le trafic via le protocole SSH.

TraficTypeProtocolePlage de portsSourceDestination

Entrant

SSHTCP22Adresse IP de l’ordinateur administrateur 
SortantSSHTCP22 Sous-réseau de niveau Web
SortantSSHTCP22 Sous-réseau de niveau Application

Exemple : Configurer des sous-réseaux et des groupes de sécurité dans AWS

Cette section fournit des procédures détaillées de création et de configuration de l’environnement VPC et réseau pour le déploiement de l’architecture de référence Tableau Server dans AWS.

Les diapositives ci-dessous montrent l’architecture de référence en quatre couches. Au fur et à mesure que vous progressez dans les diapositives, les éléments des composants sont superposés sur la carte de topologie :

  1. Topologie de sous-réseau VPC et instances EC2 : un hôte bastion, deux serveurs proxy inverses, quatre serveurs Tableau et au moins un serveur PostgreSQL.
  2. Flux de protocole et connectivité Internet. Tout le trafic entrant est géré via la passerelle Internet AWS. Le trafic vers Internet est acheminé via le NAT.
  3. Zones de disponibilité. Le proxy, Tableau Server ainsi que les hôtes PostgreSQL sont déployés uniformément sur les deux zones de disponibilité.
  4. Groupes de sécurité. Quatre groupes de sécurité (Public, Privé, Données et Bastion) protègent chaque niveau au niveau du protocole.

Zones de disponibilité AWS et haute disponibilité

L’architecture de référence telle que présentée dans ce Guide spécifie un déploiement qui assure la disponibilité via la redondance en cas de défaillance d’un seul hôte. Cependant, dans le cas AWS où l’architecture de référence est déployée sur deux zones de disponibilité, la disponibilité est compromise dans le cas très rare où une zone de disponibilité échoue.

Configuration de VPC

Cette section décrit comment :

  • Installer et configurer le VPC
  • Configurer la connectivité Internet
  • Configurer les sous-réseaux
  • Créer et configurer des groupes de sécurité

Configurer VPC

La procédure décrite dans cette section correspond à l’interface utilisateur de l’expérience VPC « classique ». Vous pouvez changer l’interface utilisateur sur la vue classique en désactivant la nouvelle expérience VPC dans le coin supérieur gauche du tableau de bord AWS VPC.

Exécutez l’assistant VPC pour créer des sous-réseaux privés et publics par défaut ainsi qu’un routage et une liste ACL réseau par défaut.

  1. Avant de configurer un VPC, vous devez créer une adresse IP Elastic. Créez une allocation en utilisant toutes les valeurs par défaut.
  2. Exécutez l’assistant VPC > « VPC avec des sous-réseaux publics et privés »
  3. Acceptez toutes les valeurs par défaut. À l’exception des éléments suivants : 
    • Entrez un nom de VPC.
    • Spécifiez l’ID d’allocation d’adresses IP Elastic.
    •  Spécifiez les masques CIDR suivants :
      • CIDR IPv4 du sous-réseau public : 10.0.1.0/24. Renommez ce sous-réseau en Public-a.
      • CIDR IPv4 du sous-réseau privé : 10.0.30.0/24. Renommez ce sous-réseau en Private-a.
    • Zone de disponibilité : pour les deux sous-réseaux, sélectionnez l’option a pour la région dans laquelle vous vous trouvez.

      Remarque : pour les besoins de cet exemple, nous utilisons a et b pour distinguer les zones de disponibilité dans un centre de données AWS donné. Dans AWS, les noms des zones de disponibilité peuvent ne pas correspondre aux exemples présentés ici. Par exemple, certaines zones de disponibilité incluent des zones c et d dans un centre de données.

  4. Cliquez sur Créer un VPC.
  5. Une fois le VPC créé, créez les sous-réseaux Public-b ,Private-b ,Data et Bastion. Pour créer un sous-réseau, cliquez sur Sous-réseaux > Créer un sous-réseau.
    • Public-b : pour la zone de disponibilité, sélectionnez l’option b pour la région dans laquelle vous vous trouvez. Bloc CIDR : 10.0.2.0/24

    • Private-b : pour la zone de disponibilité, sélectionnez l’option b pour la région dans laquelle vous vous trouvez. Bloc CIDR : 10.0.31.0/24
    • Data : pour la zone de disponibilité, sélectionnez la zone a pour la région dans laquelle vous vous trouvez. Bloc CIDR : 10.0.50.0/24. Facultatif : si vous prévoyez de répliquer la base de données externe sur un cluster PostgreSQL, créez un sous-réseau Data-b dans la zone de disponibilité b avec un bloc CIDR de 10.0.51.0/24.
    • Bastion : sélectionnez une des deux zones comme zone de disponibilité. Bloc CIDR : 10.0.0.0/24
  6. Une fois les sous-réseaux créés, modifiez les tables de routage sur les sous-réseaux Public et Bastion de manière à utiliser la table de routage configurée pour la passerelle Internet associée (IGW). Modifiez également les sous-réseaux Privé et Données de manière à utiliser la table de routage configurée pour le traducteur d’adresses réseau (NAT).
    • Pour déterminer quelle table de routage est configurée avec l’IGW ou le NAT, cliquez sur Tables de routage dans le tableau de bord AWS. Sélectionnez l’une des deux tables de routage pour ouvrir la page de propriétés. Examinez la valeur cible dans Routes > Destination > 0.0.0.0/0. La valeur cible différencie le type de route et commencera par la chaîne igw- ou nat-.
    • Pour mettre à jour les tables de routage, VPC > Sous-réseaux > [subnet_name] > Table de routage > Modifier l’association de table de routage.

Configurer les groupes de sécurité

L’assistant VPC crée un seul groupe de sécurité que vous n’utiliserez pas. Créez les groupes de sécurité suivants (Groupes de sécuritéCréer un groupe de sécurité). Les hôtes EC2 seront installés dans ces groupes sur deux zones de disponibilité, comme montré dans le diagramme de diapositives ci-dessus.

  • Créez un nouveau groupe de sécurité : Privé. C’est là que les 4 nœuds de Tableau Server seront installés. À un stade ultérieur du processus d’installation, le groupe de sécurité Privé sera associé aux sous-réseaux 10.0.30.0/24 et 10.0.31.0/24.
  • Créez un nouveau groupe de sécurité : Public. C’est là que les serveurs proxy seront installés. À un stade ultérieur du processus d’installation, le groupe de sécurité Public sera associé aux sous-réseaux 10.0.1.0/24 et 10.0.2.0/24.
  • Créez un nouveau groupe de sécurité : Données. C’est là que le référentiel externe Tableau PostgreSQL sera installé. À un stade ultérieur du processus d’installation, le groupe de sécurité Données sera associé au sous-réseau 10.0.50.0/24 (et éventuellement 10.0.51.0/24).
  • Créez un nouveau groupe de sécurité : Bastion. C’est là que vous installerez l’hôte bastion. À un stade ultérieur du processus d’installation, le groupe de sécurité Bastion sera associé aux sous-réseaux et 10.0.0.0/24.

Spécifier les règles de trafic entrant et sortant

Dans AWS, les groupes de sécurité sont analogues à des pare-feu dans un environnement local. Vous devez spécifier le type de trafic (par exemple, http, https, etc.), le protocole (TCP ou UDP) et les ports ou la plage de ports (par exemple 80, 443, etc.) qui sont autorisés à entrer dans le groupe de sécurité et/ou à en sortir. Pour chaque protocole, vous devez également spécifier la destination ou le trafic source.

Règles du groupe de sécurité Public

Règles de trafic entrant
TypeProtocolePlage de portsSource
HTTPTCP800.0.0.0/0
HTTPSTCP4430.0.0.0/0
SSHTCP22Groupe de sécurité Bastion

 

Règles de trafic sortant
TypeProtocolePlage de portsDestination
Tout le traficToutTout0.0.0.0/0

Règles du groupe de sécurité Privé

Le groupe de sécurité Privé inclut une règle entrante pour autoriser le trafic HTTP à partir du groupe de sécurité Public. Autorisez le trafic HTTP uniquement pendant le processus de déploiement pour vérifier la connectivité. Nous vous recommandons de supprimer la règle HTTP entrante une fois que vous avez terminé de déployer le proxy inverse et de configurer SSL sur Tableau.

Règles de trafic entrant
TypeProtocolePlage de portsSource
HTTPTCP80Groupe de sécurité Public
HTTPSTCP443Groupe de sécurité Public
PostgreSQLTCP5432Groupe de sécurité Données
SSHTCP22Groupe de sécurité Bastion
Tout le traficToutToutGroupe de sécurité Privé

 

Règles de trafic sortant
TypeProtocolePlage de portsDestination
Tout le traficToutTout0.0.0.0/0
PostgreSQLTCP5432Groupe de sécurité Données
SSHTCP22Groupe de sécurité Bastion

Règles du groupe de sécurité Données

Règles de trafic entrant
TypeProtocolePlage de portsSource
PostgreSQLTCP5432Groupe de sécurité Privé
SSHTCP22Groupe de sécurité Bastion

 

Règles de trafic sortant
TypeProtocolePlage de portsDestination
Tout le traficToutTout0.0.0.0/0
PostgreSQLTCP5432Groupe de sécurité Privé
SSHTCP22Groupe de sécurité Bastion

Règles du groupe de sécurité de l’hôte Bastion

Règles de trafic entrant
TypeProtocolePlage de portsSource
SSHTCP22Adresse IP et masque réseau de l’ordinateur que vous utiliserez pour vous connecter à AWS (ordinateur administrateur).
SSHTCP22Groupe de sécurité Privé
SSHTCP22Groupe de sécurité Public

 

Règles de trafic sortant
TypeProtocolePlage de portsDestination
SSHTCP22Adresse IP et masque réseau de l’ordinateur que vous utiliserez pour vous connecter à AWS (ordinateur administrateur).
SSHTCP22Groupe de sécurité Privé
SSHTCP22Groupe de sécurité Public
SSHTCP22Groupe de sécurité Données
HTTPSTCP4430.0.0.0/0 (Facultatif : créez cette règle si vous devez accéder à Internet pour télécharger le logiciel de support sur l’hôte bastion)

Activer l’attribution automatique de l’adresse IP publique

Vous obtenez ainsi une adresse IP pour vous connecter aux serveurs proxy et à l’hôte bastion.

Pour les sous-réseaux Public et Bastion :

  1. Sélectionnez le sous-réseau
  2. Dans le menu Actions, sélectionnez « Modify auto-assign IP settings » (Modifier les paramètres IP d’attribution automatique).
  3. Cliquez sur « Enable auto-assign public IPv4 addresses » (Activer l’attribution automatique d’adresses IPv4 publiques).
  4. Cliquez sur Enregistrer.

Équilibreur de charge

Remarque : si vous effectuez l’installation dans AWS et suivez l’exemple de déploiement de ce guide, vous devez installer et configurer l’équilibreur de charge AWS plus tard dans le processus de déploiement, comme décrit dans la Partie 5 - Configuration du niveau Web.

Pour les déploiements sur site, travaillez avec vos administrateurs réseau pour déployer des équilibreurs de charge afin de prendre en charge le niveau Web de l’architecture de référence :

  • Un équilibreur de charge d’application Web qui accepte les requêtes HTTPS des clients Tableau et communique avec les serveurs proxy inverses.
  • Serveur proxy inverse : 
    • Nous recommandons un minimum de deux serveurs proxy pour la redondance et pour gérer la charge client.
    • Reçoit le trafic HTTPS de l’équilibreur de charge.
    • Prend en charge la session persistante vers l’hôte Tableau.
    • Configurez le proxy pour l’équilibrage de charge à tour de rôle sur chaque Tableau Server exécutant le processus de passerelle.
    • Gère les demandes d’authentification de l’IdP externe.
  • Proxy de transfert : Tableau Server a besoin d’un accès à Internet pour les licences et les fonctionnalités de carte. En fonction de votre environnement de proxy de transfert, vous devrez peut-être configurer des listes d’autorisations de proxy de transfert pour les URL de service Tableau. Voir Communication avec Internet (Linux(Le lien s’ouvre dans une nouvelle fenêtre)).

Configurer les ordinateurs hôtes

Matériel minimal recommandé

Les recommandations suivantes sont basées sur nos tests de données réelles dans l’architecture de référence.

Serveurs d’applications :

  • Processeur : 8 cœurs physiques (16 vCPU),
  • RAM : 128 Go (16 Go par cœur physique)
  • Espace disque : 100 Go

Serveurs de données :

  • Processeur : 8 cœurs physiques (16 vCPU),
  • RAM : 128 Go (16 Go par cœur physique)
  • Espace disque : 1 To. Si votre déploiement utilise un stockage externe pour le répertoire de fichiers Tableau, vous devrez calculer l’espace disque approprié. Consultez Installer Tableau Server avec un répertoire de fichiers externe (Linux(Le lien s’ouvre dans une nouvelle fenêtre)).

Serveurs proxy

  • Processeur : 2 cœurs physiques (4 vCPU),
  • RAM : 8 Go (4 Go par cœur physique)
  • Espace disque : 100 Go

Base de données du référentiel externe

  • Processeur : 8 cœurs physiques (16 vCPU),
  • RAM : 128 Go (16 Go par cœur physique)
  • L’espace disque requis dépend de la charge de vos données et de son impact sur la sauvegarde. Consultez la section Processus de sauvegarde et de restauration dans la rubrique Espace disque requis (Linux(Le lien s’ouvre dans une nouvelle fenêtre)).

Structure du répertoire

L’architecture de référence recommande d’installer le package Tableau Server et les données dans des emplacements autres que ceux par défaut :

  • Installez le package sur  /app/tableau_server. Créez ce chemin de répertoire avant d’installer le package Tableau Server, puis spécifiez ce chemin lors de l’installation.
  • Installez les données Tableau sur /data/tableau_data. Ne créez pas ce répertoire avant d’installer Tableau Server. Au lieu de cela, vous devez spécifier le chemin lors de l’installation, puis le programme d’installation de Tableau créera et autorisera le chemin de manière appropriée.

Consultez Exécuter le package d’installation et initialiser TSM pour plus de détails sur la mise en œuvre.

Exemple : Installer et préparer les ordinateurs hôtes dans AWS

Cette section explique comment installer les hôtes EC2 pour chaque type de serveur dans l’architecture de référence Tableau Server.

L’architecture de référence nécessite huit hôtes :

  • Quatre instances pour Tableau Server.
  • Deux instances pour serveurs proxy (Apache).
  • Une instance pour l’hôte bastion.
  • Une ou deux instances de base de données PostgreSQL EC2

Détails de l’instance hôte

Installez les ordinateurs hôtes selon les détails ci-dessous.

Tableau Server

  • Amazon Linux 2
  • Type d’instance : m5a.8xlarge
  • ID du groupe de sécurité : Privé
  • Stockage : EBS, 150 Gio, type de volume gp2. Si votre déploiement utilise un stockage externe pour le répertoire de fichiers Tableau, vous devrez calculer l’espace disque approprié. Consultez Installer Tableau Server avec un répertoire de fichiers externe (Linux(Le lien s’ouvre dans une nouvelle fenêtre)).
  • Réseau : installez deux hôtes EC2 dans chaque sous-réseau privé (10.0.30.0/24 et 10.0.31.0/24).
  • Copiez la version de maintenance la plus récente du dernier package rpm de Tableau Server 2021.2 (ou ultérieur) depuis la page Téléchargements de Tableau(Le lien s’ouvre dans une nouvelle fenêtre) sur chaque hôte Tableau.

Hôte Bastion

  • Amazon Linux 2
  • Type d’instance : t3.micro
  • ID du groupe de sécurité : Bastion
  • Stockage : EBS, 50 Gio, type de volume gp2
  • Réseau : sous-réseau Bastion 10.0.0.0/24

Tableau Server Independent Gateway

  • Amazon Linux 2
  • Type d’instance : t3.xlarge
  • ID du groupe de sécurité : Public
  • Stockage : EBS, 100 Gio, type de volume gp2
  • Réseau : installez une instance EC2 dans chaque sous-réseau public (10.0.1.0/24 et 10.0.2.0/24)

Hôte PostgreSQL EC2

  • Amazon Linux 2
  • Type d’instance : r5.4xlarge
  • ID du groupe de sécurité : Données
  • Espace de stockage : l’espace disque requis dépend de la charge de vos données et de son impact sur la sauvegarde. Consultez la section Processus de sauvegarde et de restauration dans la rubrique Espace disque requis (Linux(Le lien s’ouvre dans une nouvelle fenêtre)).
  • Réseau : sous-réseau de données 10.0.50.0/24. (Si vous répliquez PostgreSQL dans un cluster HA, installez le deuxième hôte dans le sous-réseau 10.0.51.0/24)

Vérification : connectivité VPC

Après avoir installé les ordinateurs hôtes, vérifiez la configuration du réseau. Vérifiez la connectivité entre les hôtes en vous connectant avec SSH depuis l’hôte du groupe de sécurité Bastion aux hôtes de chaque sous-réseau.

Exemple : connexion à l’hôte bastion dans AWS

  1. Configurez votre ordinateur administrateur pour ssh-agent. Cela vous permet de vous connecter aux hôtes dans AWS sans placer votre fichier de clé privée sur une instance EC2.

    Pour configurer ssh-agent sur un Mac, exécutez la commande suivante :

    ssh-add -K myPrivateKey.pem ou pour le dernier Mac OS, ssh-add --apple-use-keychain myPrivateKey.pem

    Pour Windows, consultez la rubrique Se connecter en toute sécurité aux instances Linux s’exécutant dans un VPC Amazon privé(Le lien s’ouvre dans une nouvelle fenêtre).


  2. Connectez-vous à l’hôte bastion en exécutant la commande suivante :

    ssh -A ec2-user@<public-IP>

  3. Vous pouvez ensuite vous connecter à d’autres hôtes sur le VPC à partir de l’hôte bastion, en utilisant l’adresse IP privée, par exemple :

    ssh -A ec2-user@10.0.1.93

Merci de vos commentaires !Avis correctement envoyé. Merci