

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Configuration des composants nécessaires à l'exécution CodeBuild sur un serveur proxy
<a name="use-proxy-server-transparent-components"></a>

 Les composants suivants sont nécessaires pour fonctionner AWS CodeBuild sur un serveur proxy transparent ou explicite : 
+  Un VPC. 
+  Un sous-réseau public dans votre VPC pour le serveur proxy 
+  Un sous-réseau privé dans votre VPC pour CodeBuild 
+  Une passerelle Internet qui permet la communication entre le VPC et Internet. 

 Le schéma suivant illustre la manière dont les deux composants interagissent. 

![\[Le schéma montre comment les composants interagissent.\]](http://docs.aws.amazon.com/fr_fr/codebuild/latest/userguide/images/codebuild-proxy-transparent.png)


## Configuration d'un VPC, de sous-réseaux et d'une passerelle réseau
<a name="use-proxy-server-transparent-setup"></a>

 Les étapes suivantes sont requises pour fonctionner AWS CodeBuild sur un serveur proxy transparent ou explicite. 

1. Créez un VPC. Pour plus d'informations, consultez [Création d'un VPC](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#Create-VPC) dans le *Guide de l'utilisateur Amazon VPC*.

1. Créez deux sous-réseaux dans votre VPC. L'un des deux est un sous-réseau public, nommé `Public Subnet`, dans lequel le serveur proxy s'exécute. L'autre est un sous-réseau privé nommé `Private Subnet` dans lequel CodeBuild s'exécute. 

   Pour de plus amples informations, veuillez consulter [Création d'un sous-réseau dans votre VPC](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#AddaSubnet).

1.  Créez et attachez une passerelle Internet à votre VPC. Pour de plus amples informations, veuillez consulter [Création et attachement d'une passerelle Internet](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html#Add_IGW_Attach_Gateway). 

1.  Ajoutez une règle à la table de routage par défaut qui achemine le trafic sortant à partir du VPC (0.0.0.0/0) vers la passerelle Internet. Pour de plus amples informations, veuillez consulter [Ajout et retrait de routes d'une table de routage](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html#AddRemoveRoutes). 

1.  Ajoutez une règle au groupe de sécurité par défaut de votre VPC qui autorise le trafic SSH entrant (TCP 22) à partir de votre VPC (0.0.0.0/0). 

1.  Suivez les instructions de la section [Lancement d'une instance à l'aide de l'assistant de lancement d'instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/launching-instance.html) du *guide de l'utilisateur Amazon EC2* pour lancer une instance Amazon Linux. Lorsque vous exécutez l'assistant, choisissez les options suivantes : 
   +  Dans **Choisir un type d'instance**, choisissez une Amazon Linux Amazon Machine Image (AMI). 
   +  Dans **Subnet (Sous-réseau)**, choisissez le sous-réseau public que vous avez créé précédemment dans cette rubrique. Si vous avez utilisé le nom suggéré, il s'agit de **Public Subnet**. 
   +  Pour **Auto-assign Public IP (Attribuer automatiquement) l'adresse IP publique**, sélectionnez **(Enable) Activer**. 
   +  Sur la page **Configure Security Group (Configurer un groupe de sécurité)**, pour **Assign a security group (Affecter un groupe de sécurité)**, choisissez **Select an existing security group (Sélectionner un groupe de sécurité existant)**. Ensuite, choisissez le groupe de sécurité par défaut. 
   +  Après avoir choisir **Launch (Lancer)**, choisissez une paire de clés existante ou créez-en une. 

    Choisissez les paramètres par défaut pour toutes les autres options. 

1.  Une fois que votre instance EC2 est en cours d'exécution, désactivez les source/destination vérifications. Pour plus d'informations, consultez la section [Désactivation Source/Destination des contrôles](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_NAT_Instance.html#EIP_Disable_SrcDestCheck) dans le guide de l'*utilisateur Amazon VPC.* 

1.  Créez une table de routage dans votre VPC. Ajoutez une règle à la table de routage qui achemine le trafic destiné à Internet vers votre serveur proxy. Associez cette table de routage à votre sous-réseau privé. Cela est nécessaire pour que les demandes sortantes provenant des instances de votre sous-réseau privé, où CodeBuild s'exécute, soient toujours acheminées via le serveur proxy. 

## Installation et configuration d'un serveur proxy
<a name="use-proxy-server-squid-install"></a>

 Il existe de nombreux serveurs proxy parmi lesquels choisir. Un serveur proxy open source, Squid, est utilisé ici pour montrer comment AWS CodeBuild fonctionne un serveur proxy. Vous pouvez appliquer les mêmes concepts à d'autres serveurs proxy. 

 Pour installer Squid, utilisez un référentiel yum en exécutant les commandes suivantes : 

```
sudo yum update -y
sudo yum install -y squid
```

 Après avoir installé Squid, modifiez son fichier `squid.conf` en suivant les instructions plus loin dans cette rubrique. 

## Configuration de Squid pour le trafic HTTPS
<a name="use-proxy-server-squid-configure-https"></a>

 Pour HTTPS, le trafic HTTP est encapsulé dans une connexion à protocole TLS (Transport Layer Security, Sécurité de la couche transport). Squid utilise une fonctionnalité appelée [SslPeekAndSplice](https://wiki.squid-cache.org/Features/SslPeekAndSplice)pour récupérer l'indication du nom du serveur (SNI) à partir de l'initiation TLS qui contient l'hôte Internet demandé. Cette opération est requise pour que Squid ne soit pas obligé de déchiffrer le trafic HTTPS. Pour l'activer SslPeekAndSplice, Squid a besoin d'un certificat. Créez ce certificat à l'aide d'OpenSSL : 

```
sudo mkdir /etc/squid/ssl
cd /etc/squid/ssl
sudo openssl genrsa -out squid.key 2048
sudo openssl req -new -key squid.key -out squid.csr -subj "/C=XX/ST=XX/L=squid/O=squid/CN=squid"
sudo openssl x509 -req -days 3650 -in squid.csr -signkey squid.key -out squid.crt
sudo cat squid.key squid.crt | sudo tee squid.pem
```

**Note**  
 Pour HTTP, Squid ne nécessite aucune configuration. À partir de tous les messages de demande HTTP/1.1, il peut extraire le champ d'en-tête de l'hôte, qui spécifie l'hôte Internet demandé. 