---
schema_version: "1"
id: 12350387ad7c49c074233e5c685dc4636f176815c89fdca85913b6dbfb8180b5
title: Annexe - Boîte à outils de déploiement AWS
collection: tableau
version: next
locale: fr-fr
portal_url: https://docs.salesforce.com/tableau/next/fr-fr/guides/enterprise-deployment/edg_part_app-aws.md
canonical_url: https://help.tableau.com/v0.0/guides/enterprise-deployment/fr-fr/edg_part_app-aws.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 0e194a4e9e9c05c2f0f6b5d63b8a0db42e40e53ae7da0cf0a46330f8d3c2c65a
description: AWS deployment toolbox with the TabDeploy4EDG script and Terraform automation examples.
---
[Passer au contenu principal](#main-content)

# Annexe - Boîte à outils du déploiement AWS

**Remarque** : Tableau ne met plus à jour le Guide de déploiement en entreprise. Nous recommandons toujours l’architecture de référence décrite ici comme modèle de déploiement valide pour Tableau Server dans AWS. Par contre, les procédures de configuration spécifiques peuvent avoir changé depuis la dernière mise à jour. Pour garantir l’exactitude, reportez-vous toujours à ces étapes avec la documentation d’[Aide de Tableau Server](https://help.tableau.com/current/server/fr-fr/get_started_server.htm) la plus récente.

Cette rubrique présente des outils et d’autres options de déploiement pour l’architecture de référence lorsqu’elle est déployée dans AWS. Plus précisément, cette rubrique décrit comment automatiser l’exemple de déploiement AWS décrit dans EDG.

## Script d’installation automatisée TabDeploy4EDG

Le [script TabDeploy4EDG](https://help.tableau.com/samples/en-us/edg/tabdeploy4edg.txt) automatise la mise en œuvre du déploiement Tableau sur quatre nœuds décrit dans la [Partie 4 - Installer et configurer Tableau Server](https://help.tableau.com/v0.0/guides/enterprise-deployment/fr-fr/edg_part4.htm). Si vous suivez l’exemple d’implémentation AWS décrit dans ce guide, vous pourrez peut-être exécuter le script TabDeploy4EDG.

**Exigences.** Pour exécuter le script, vous devez préparer et configurer l’environnement AWS conformément à l’exemple d’implémentation décrit dans [Partie 3 - Préparer le déploiement de Tableau Server en entreprise](https://help.tableau.com/v0.0/guides/enterprise-deployment/fr-fr/edg_part3.htm) :

- Le VPC, le sous-réseau et les groupes de sécurité ont été configurés comme décrit. Les adresses IP ne doivent pas nécessairement correspondre à celles qui sont affichées dans l’exemple d’implémentation.
- Quatre instances EC2 exécutant les dernières versions mises à jour d’AWS Linux 2
- PostgreSQL est installé et a été configuré comme décrit dans [Installer, configurer PostgreSQL et créer une sauvegarde tar](https://help.tableau.com/v0.0/guides/enterprise-deployment/fr-fr/edg_part4.htm#Install,).
- Un fichier de sauvegarde tar de l’étape 1 se trouve sur l’instance EC2 où PostgreSQL est installé, comme décrit dans [Effectuer une sauvegarde tar PostgreSQL de l’Étape 1](https://help.tableau.com/v0.0/guides/enterprise-deployment/fr-fr/edg_part4.htm#Take).
- L’instance EC2 qui exécutera le Nœud 1 du déploiement de Tableau Server a été configurée pour communiquer avec PostgreSQL comme décrit dans [Partie 4 - Installer et configurer Tableau Server](https://help.tableau.com/v0.0/guides/enterprise-deployment/fr-fr/edg_part4.htm#Configur).
- Vous vous êtes connecté à chaque instance EC2 avec une session SSH depuis l’hôte bastion.

Il faut compter environ 1,5 à 2 heures pour installer et configurer les quatre serveurs Tableau à l’aide du script. Le script configure Tableau en fonction des paramètres prescrits de l’architecture de référence. Le script effectue les actions suivantes :

- Restaure la sauvegarde de l’Étape 1 de l’hôte PostgreSQL si vous spécifiez un chemin vers le fichier tar de l’hôte PostgreSQL.
- Oblitère les installations Tableau existantes sur tous les nœuds.
- Exécute `sudo yum update` sur tous les nœuds.
- Télécharge et copie le package rpm Tableau sur chaque nœud.
- Télécharge et installe les dépendances sur chaque nœud.
- Crée `/app/tableau_server` et installe le package sur tous les nœuds.
- Installe le Nœud 1 avec un magasin d’identités local et configure le référentiel externe avec PostgreSQL.
- Effectue l’installation du fichier bootstrap et la configuration initiale du Nœud 2 - Nœud 4.
- Supprime le fichier bootstrap et le fichier de configuration pour TabDeploy4EDG.
- Configure les services dans le cluster Tableau selon les spécifications de l’architecture de référence.
- Valide l’installation et renvoie l’état de chaque nœud.

**Télécharger et copier le script sur l’hôte bastion**

1. Copiez le script de la [page d’exemples TabDeploy4EDG](https://help.tableau.com/samples/en-us/edg/tabdeploy4edg.txt) et collez le code dans un fichier appelé `TabDeploy4EDG`.
2. Enregistrez le fichier dans le répertoire de base sur l’hôte EC2 qui sert d’hôte bastion.
3. Exécutez la commande suivante pour modifier le mode du fichier afin de le rendre exécutable :
    
     sudo chmod +x TabDeploy4EDG

**Exécuter TabDeploy4EDG**

Vous devez exécuter TabDeploy4EDG depuis l’hôte bastion. Le script a été écrit selon l’hypothèse d’une exécution dans le contexte de l’agent de transfert ssh comme décrit dans [Exemple : connexion à l’hôte bastion dans AWS](https://help.tableau.com/v0.0/guides/enterprise-deployment/fr-fr/edg_part3.htm#Example:). Si l’exécution n’a pas lieu dans le contexte de l’agent de transfert ssh, vous serez invité à saisir des mots de passe tout au long du processus d’installation.

1. Créez, modifiez et enregistrez un fichier d’enregistrement (`registration.json`). Le fichier doit être un fichier json correctement formaté. Copiez et personnalisez le modèle suivant :
    
    {
    	"zip" : "97403",
    	"country" : "USA",
    	"city" : "Springfield",
    	"last\_name" : "Simpson",
    	"industry" : "Energy",
    	"eula" : "yes",
    	"title" : "Safety Inspection Engineer",
    	"phone" : "5558675309",
    	"company" : "Example",
    	"state" : "OR",
    	"department" : "Engineering",
    	"first\_name" : "Homer",
    	"email" : "homer@example.com"
    }
2. Exécutez la commande suivante pour générer un fichier de configuration de modèle :
    
    ./TabDeploy4EDG -g edg.config
3. Ouvrez le fichier de configuration à modifier :
    
    sudo nano edg.config              
    
    Au minimum, vous devez ajouter les adresses IP de chaque hôte EC2, un chemin d’accès du fichier d’enregistrement et une clé produit valide.
4. Lorsque vous avez terminé de modifier le fichier de configuration, enregistrez-le, puis fermez-le.
5. Pour exécuter TabDeploy4EDG, exécutez la commande suivante :
    
    ./TabDeploy4EDG -f edg.config

## Exemple : Automatiser le déploiement de l’infrastructure AWS avec Terraform

Cette section décrit comment configurer et exécuter Terraform pour déployer l’architecture de référence EDG dans AWS. L’exemple de configuration Terraform présenté ici déploie un VPC AWS avec les sous-réseaux, les groupes de sécurité et les instances EC2 décrits dans [Partie 3 - Préparer le déploiement de Tableau Server en entreprise](https://help.tableau.com/v0.0/guides/enterprise-deployment/fr-fr/edg_part3.htm).

Des exemples de modèles Terraform sont disponibles sur le site Web Tableau Samples à l’adresse [https://help.tableau.com/samples/en-us/edg/edg-terraform.zip](https://help.tableau.com/samples/en-us/edg/edg-terraform.zip). Ces modèles doivent être configurés et personnalisés pour votre organisation. Le contenu de configuration fourni dans cette section décrit les modifications de modèle minimales requises que vous devez personnaliser pour le déploiement.

### Objectif

Les modèles et le contenu Terraform fournis ici sont conçus pour fournir un exemple de travail qui vous permettra de déployer EDG rapidement dans un environnement de test de développement.

Nous avons tout mis en œuvre pour tester et documenter l’exemple de déploiement de Terraform. Cependant, l’utilisation de Terraform pour déployer et maintenir EDG dans un environnement de production nécessitera une expertise Terraform qui dépasse le cadre de cet exemple. Tableau ne fournit pas de support pour l’exemple de solution Terraform documenté ici.

### État final

Suivez la procédure de cette section pour configurer un VPC dans AWS dont le fonctionnement est équivalent à celui du VPC spécifié dans [Partie 3 - Préparer le déploiement de Tableau Server en entreprise](https://help.tableau.com/v0.0/guides/enterprise-deployment/fr-fr/edg_part3.htm).

![Un diagramme d’une architecture AWS pour Tableau Server.](/tableau/next/fr-fr/guides/enterprise-deployment/fr-fr/Img/edg-vpc-terraform.png)

Exemples de modèles Terraform et contenu associé de cette section :

- Création d’un VPC avec une adresse IP élastique, deux zones de disponibilité et une organisation de sous-réseaux comme indiqué ci-dessus (les adresses IP sont différentes)
- Création des groupes de sécurité Bastion, Public, Privé et Données.
- Définition de la plupart des règles d’entrée et de sortie sur les groupes de sécurité. Vous devrez modifier les groupes de sécurité après l’exécution de Terraform.
- Création des hôtes EC2 suivants (chacun exécutant AWS Linux2) : bastion, proxy 1 proxy 2, Tableau node 1, Tableau node 2, Tableau node 3, Tableau node 4.
- Les hôtes EC2 pour PostgreSQL ne sont pas créés. Vous devez créer EC2 manuellement dans le groupe de sécurité des données, puis installer et configurer PostgreSQL comme décrit dans [Installer, configurer PostgreSQL et créer une sauvegarde tar](https://help.tableau.com/v0.0/guides/enterprise-deployment/fr-fr/edg_part4.htm#Install,).

### Exigences

- Compte AWS : vous devez avoir accès à un compte AWS qui vous permet de créer des VPC.
- Si vous exécutez Terraform à partir d’un ordinateur Windows, vous devrez installer l’interface en ligne de commande AWS.
- Une adresse IP élastique disponible dans votre compte AWS.
- Un domaine enregistré dans AWS Route 53. Terraform créera une zone DNS et les certificats SSL associés dans Route 53. Par conséquent, le profil sous lequel Terraform s’exécute doit également disposer des autorisations appropriées dans Route 53.

### Avant de commencer

- Les exemples de ligne de commande de cette procédure concernent Terminal avec Apple OS. Si vous exécutez Terraform sous Windows, vous devrez peut-être adapter les commandes avec les chemins d’accès aux fichiers, le cas échéant.
- Un projet Terraform est composé de nombreux fichiers de configuration texte (extension de fichier .tf). Vous configurez Terraform en personnalisant ces fichiers. Si vous ne disposez pas d’un éditeur de texte robuste, installez Atom ou Text++.
- Si vous partagez le projet Terraform avec d’autres personnes, nous vous recommandons de stocker le projet dans Git pour la gestion des modifications.

### Étape 1 - Préparer l’environnement

#### A. Télécharger et installer Terraform

[https://www.terraform.io/downloads](https://www.terraform.io/downloads)

#### B. Générer une paire de clés privée-publique

Il s’agit de la clé que vous utiliserez pour accéder à AWS et à l’environnement VPC résultant. Lorsque vous exécutez Terraform, vous incluez la clé publique.

Ouvrez le Terminal et entrez les commandes suivantes :

1. Create a private key. For example, `my-key.pem`:
    
    openssl genrsa -out my-key.pem 1024
2. Créez une clé publique. Ce format de clé n’est pas utilisé pour Terraform. Vous la convertirez en clé ssh plus tard dans cette procédure :
    
    openssl rsa -in my-key.pem -pubout > my-key.pub
3. Définissez les autorisations pour la clé privée :
    
    sudo chmod 0600 my-key.pem
    
    Pour définir des autorisations sous Windows :
    
    - Localisez le fichier dans l’Explorateur Windows, faites un clic droit dessus puis sélectionnez Propriétés. Accédez à l’onglet Sécurité, puis cliquez sur Avancé.
    - Modifiez le propriétaire sur votre nom, désactivez l’héritage et supprimez toutes les autorisations. Accordez-vous le Contrôle total , puis cliquez sur Enregistrer. Marquez le fichier en lecture seule.
4. Créez une clé publique ssh. Il s’agit de la clé que vous copierez dans Terraform plus tard dans le processus.
    
    ssh-keygen -y -f my-key.pem >my-key-ssh.pub

#### C. Télécharger le projet et ajouter le répertoire d’état

1. Téléchargez et décompressez le [projet EDG Terraform](https://help.tableau.com/samples/en-us/edg/edg-terraform.zip) et enregistrez-les sur votre ordinateur local. Après avoir décompressé le téléchargement, vous aurez un répertoire de niveau supérieur, edg-terraform, et une série de sous-répertoires.
2. Créez un répertoire appelé `state`, en tant qu’homologue du répertoire supérieur `edg-terraform`.

### Étape 2 : Personnaliser les modèles Terraform

Vous devez personnaliser les modèles Terraform en fonction de votre environnement AWS et EDG. Le présent exemple fournit les personnalisations de modèle minimales que la plupart des organisations devront effectuer. Il est probable que votre environnement particulier nécessitera d’autres personnalisations.

Cette section est organisée par nom de modèle.

Assurez-vous d’enregistrer toutes les modifications avant de passer à l’_Étape 3 - Exécuter Terraform_.

#### versions.tf

There are three instances of `versions.tf` files where the `required_version` field must match the version of terraform.exe you're using. Check the version of terraform (`terraform.exe -version`) and update each of the following instances:

- `edg-terraform\versions.tf`
- `edg-terraform\modules\proxy\versions.tf`
- `edg-terraform\modules\tableau_instance\versions.tf`

#### key-pair.tf

1. Ouvrez la clé publique que vous avez générée à l’étape 1B et copiez-la :
    
     less my-key-ssh.pub
    
    Windows : Copiez le contenu de votre clé publique.
2. Copiez la chaîne de clé publique dans l’argument public\_key, par exemple :
    
    resource "aws\_key\_pair" "tableau" {
    key\_name = "my-key"
    public\_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQ (truncated example) dZVHambOCw=="

Ensure that the `key_name` value is unique in the datacenter or `terraform apply` will fail.

#### locals.tf

Update `user.owner` to your name or alias. The value you enter here will be used for the "Name" tag in AWS on the resources that Terraform creates.

#### providers.tf

1. Ajoutez des balises selon les exigences de votre organisation. Par exemple :
    
    default\_tags {
      tags = {
          
       "Application" = "tableau",
       "Creator" = "alias@example.com",
       "DeptCode" = "8675309",
       "Description" = "EDG",
       "Environment" = "test",
       "Group" = "itcloud@example.com"
      }
    }
2. If using `provider`, comment out the `assume_role` lines:
    
    /\* assume\_role {
    role\_arn     = "arn:aws:iam::310946706895:role/terraform-backend"
    session\_name = "terraform"
    }\*/

#### elb.tf

Under `'resource "aws_lb" "tableau" {'` choose a unique value to use for `name` and `tags.Name`.

If another AWS load balancer has the same name in the datacenter, then `terraform apply` will fail.

Add `idle_timeout`:

resource "aws\_lb" "tableau" {
name                       = "edg-again-alb"
load\_balancer\_type         = "application"
subnets                    = \[for subnet in aws\_subnet.public : subnet.id\]
security\_groups            = \[aws\_security\_group.public.id\]
drop\_invalid\_header\_fields = true
idle\_timeout               = 400
tags = {
Name = "edg-again-alb"
}
			}

#### variables.tf

Mettez à jour le nom de domaine racine. Ce nom doit correspondre au domaine que vous avez enregistré dans Route 53.

variable "root\_domain\_name" {
 default = "example.com"
 }

Par défaut, le sous-domaine `tableau` est indiqué comme nom de domaine DNS VPC. Pour le modifier, mettez à jour `subdomain` :

variable "subdomain" {
 default = "tableau"
}

#### modules/tableau\_instance/ec2.tf

There are two ec2.tf files in the project. This customization is for the Tableau instance of the ec2.tf in the directory: `modules/tableau_instance/ec2.tf`.

- Si nécessaire, ajoutez des balises blob :
    
    tags = { 
     "Name" : var.ec2\_name,
     "user.owner" = "ALIAS",
     "Application" = "tableau",
     "Creator" = "ALIAS@example.com",
     "DeptCode" = "8675309",
     "Description" = "EDG",
     "Environment" = "test",
     "Group" = "itcloud@example.com"
     }
    }
- Si nécessaire, mettez éventuellement à jour votre espace de stockage pour gérer vos besoins en données :
    
    Volume racine :
    
    root\_block\_device {
     volume\_size = 100
     volume\_type = "gp3"
    }
    
    Volume d’applications :
    
    resource "aws\_ebs\_volume" "tableau" {
     availability\_zone = data.aws\_subnet.tableau.availability\_zone
     size              = 500
     type              = "gp3"
    }

### Étape 3 - Exécuter Terraform

#### A. Initialiser Terraform

Dans le Terminal, passez au répertoire `edg-terraform` et exécutez la commande suivante :

terraform init

Si l’initialisation réussit, passez à l’étape suivante. Si l’initialisation a échoué, suivez les instructions de la sortie Terraform.

#### B. Planifier Terraform

Depuis le même répertoire, exécutez la commande plan :

terraform plan

Cette commande peut être exécutée plusieurs fois. Exécutez-la autant de fois que nécessaire pour corriger les erreurs. Une fois que cette commande s’exécute sans erreur, passez à l’étape suivante.

#### C. Appliquer Terraform

Depuis le même répertoire, exécutez la commande apply :

terraform apply

Terraform will prompt you to verify deployment, type `Yes`.

#### Facultatif : Supprimer Terraform

Vous pouvez supprimer l’intégralité du VPC en exécutant la commande destroy :

terraform destroy

La commande destroy ne détruira que ce qu’elle a créé. Si vous avez apporté des modifications manuelles à certains objets dans AWS (par exemple, des groupes de sécurité, des sous-réseaux, etc.), la commande `destroy` échouera. Pour sortir d’une opération de destruction en échec/suspendue, tapez `Control + C`. Vous devez ensuite nettoyer manuellement le VPC pour le remettre dans l’état où il se trouvait lorsque Terraform l’avait créé à l’origine. Vous pouvez alors exécuter la commande `destroy`.

### Étape 4 - Connexion à bastion

Toutes les connexions en ligne de commande se font via l’hôte bastion sur TCP 22 (protocole SSH).

1. Dans AWS, créez une règle entrante dans le groupe de sécurité bastion (**AWS** > **Groupes de sécurité** > **Bastion SG** > **Modifier les règles entrantes**) et créez une règle pour autoriser les connexions SSH (TCP 22) à partir de l’adresse IP ou du masque de sous-réseau où vous exécuterez les commandes Terminal .
    
    Facultatif : vous trouverez peut-être utile d’autoriser la copie de fichiers entre les instances EC2 dans les groupes privé et public pendant le déploiement. Créez des règles SSH entrantes :
    
    - Privé : créez une règle entrante pour autoriser SSH depuis Public
    - Public : créer une règle entrante pour autoriser SSH depuis le privé et depuis le public
2. Utilisez la clé pem que vous avez créée à l’étape 1.B pour vous connecter à l’hôte bastion :
    
    **Sur le Terminal Mac :**
    
    Exécutez les commandes suivantes à partir du répertoire sur lequel la clé pem est stockée :
    
    ssh-add —apple-use-keychain <keyName>.pem
    
    If you get a warning about private key being accessible by others, then run this command: `chmod 600 <keyName.pem>` and then run the `ssh-add` command again.
    
    Connect to the bastion host with this command: `ssh -A ec2-user@IPaddress`
    
    For example: `ssh -A ec2-user@3.15.12.112`.
    
    **Sous Windows avec PuTTY et Pageant :**
    
    1. Créer ppk à partir de la clé pem : utilisez le générateur de clé PuTTY. Chargez la clé pem que vous avez créée à l’Étape 1.B. Une fois la clé importée, cliquez sur **Enregistrer la clé privée**. Cela crée un fichier ppk.
    2. Dans PuTTY : ouvrez la configuration et apportez les modifications suivantes :
        
        - Sessions>Nom d’hôte : ajoutez l’adresse IP de l’hôte bastion.
        - Sessions>Port : 22
        - Connexion> Données> Nom d’utilisateur de connexion automatique : ec2-user
        - Connexion>SSH>Auth>Autoriser le transfert de l’agent
        - Connexion>SSH>Auth> Pour la clé privée, cliquez sur Parcourir et sélectionnez le fichier .ppk que vous venez de créer.
    3. Installez Pageant et chargez le ppk dans l’application.
    
    ### Étape 5 - Installer PostgreSQL
    
    Le modèle Terraform n’installe pas PostgreSQL pour une utilisation en tant que référentiel externe. Par contre, le groupe de sécurité et le sous-réseau associés sont créés. Si vous installez le référentiel externe sur une instance EC2 exécutant PostgreSQL, vous devez déployer l’instance EC2 comme décrit dans [Partie 3 - Préparer le déploiement de Tableau Server en entreprise](https://help.tableau.com/v0.0/guides/enterprise-deployment/fr-fr/edg_part3.htm).
    
    Ensuite, installez, configurez PostgreSQL et sauvegardez-le au format tar comme décrit dans [Partie 4 - Installer et configurer Tableau Server](https://help.tableau.com/v0.0/guides/enterprise-deployment/fr-fr/edg_part4.htm).
    
    ### Étape 6 - (Facultatif) Exécuter DeployTab4EDG
    
    Le script TabDeploy4EDG automatise l’exemple d’installation du déploiement Tableau à quatre nœuds qui est décrit dans la Partie 4. Voir [Script d’installation automatisée TabDeploy4EDG](#EDGSetup).