

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Configure los componentes necesarios para ejecutarse CodeBuild en un servidor proxy
<a name="use-proxy-server-transparent-components"></a>

 Necesita estos componentes para ejecutarse AWS CodeBuild en un servidor proxy transparente o explícito: 
+  Una VPC. 
+  Una subred pública en la VPC para el servidor proxy. 
+  Una subred privada en la VPC para CodeBuild. 
+  Una gateway de Internet que permita la comunicación entre la VPC e Internet. 

 En el siguiente diagrama, se muestran cómo interactúan los componentes. 

![\[El diagrama muestra cómo interactúan los componentes.\]](http://docs.aws.amazon.com/es_es/codebuild/latest/userguide/images/codebuild-proxy-transparent.png)


## Configuración de una VPC, varias subredes y una gateway de red
<a name="use-proxy-server-transparent-setup"></a>

 Los siguientes pasos son necesarios para ejecutarse AWS CodeBuild en un servidor proxy transparente o explícito. 

1. Cree una VPC. Para obtener más información, consulte [Creación de una VPC](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#Create-VPC) en la *Guía del usuario de Amazon VPC*.

1. Cree dos subredes en la VPC. Una será una subred pública llamada `Public Subnet` en la que se ejecutará el servidor proxy. La otra es una subred privada denominada `Private Subnet` en la que CodeBuild se ejecuta. 

   Para obtener más información, consulte [Creación de una subred en la VPC](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#AddaSubnet).

1.  Cree una gateway de Internet y vincúlela a su VPC. Para obtener más información, consulte [Creación y asociación de una gateway de Internet](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html#Add_IGW_Attach_Gateway). 

1.  Agregue una regla a la tabla de enrutamiento predeterminada que direccione el tráfico saliente desde la VPC (0.0.0.0/0) a la gateway de Internet. Para obtener más información, consulte [Adición y eliminación de rutas de una tabla de enrutamiento](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html#AddRemoveRoutes). 

1.  Agregue una regla al grupo de seguridad predeterminado de la VPC que permita la entrada de tráfico SSH (TCP 22) procedente de la VPC (0.0.0.0/0). 

1.  Siga las instrucciones que se indican en [Lanzar una instancia con el asistente de inicialización de instancias](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/launching-instance.html) en la *Guía del usuario de Amazon EC2* para lanzar una instancia de Amazon Linux. Cuando el asistente esté en ejecución, seleccione las siguientes opciones: 
   +  En **Elija un tipo de instancia**, seleccione una Imagen de máquina de Amazon (AMI) de Amazon Linux. 
   +  En **Subnet (Subred)**, seleccione la subred pública que creó anteriormente en este tema. Si utilizó el nombre recomendado, se llamará **Public Subnet** (Subred pública). 
   +  En **Auto-assign Public IP** (IP de asignación automática), elija **Enable** (Habilitar). 
   +  En la página **Configure Security Group (Configurar grupo de seguridad)**, en **Assign a security group (Asignar un grupo de seguridad)**, seleccione **Select an existing security group (Seleccionar un grupo de seguridad existente)**. A continuación, seleccione el grupo de seguridad predeterminado. 
   +  Cuando haga clic en **Launch (Lanzar)**, seleccione un par de claves existente o cree uno. 

    Seleccione la configuración predeterminada de todas las demás opciones. 

1.  Una vez ejecutada la instancia EC2, deshabilite las source/destination comprobaciones. Para obtener más información, consulte [Inhabilitar las Source/Destination comprobaciones](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_NAT_Instance.html#EIP_Disable_SrcDestCheck) en la Guía del *usuario de Amazon VPC*. 

1.  Cree una tabla de enrutamiento en la VPC. Agregue una regla a la tabla de enrutamiento que direccione el tráfico destinado a Internet al servidor proxy. Asocie esta tabla de enrutamiento con la subred privada. Esto es necesario para que las solicitudes salientes de las instancias de su subred privada, donde CodeBuild se ejecuta, se enruten siempre a través del servidor proxy. 

## Instalación y configuración de un servidor proxy
<a name="use-proxy-server-squid-install"></a>

 Existen muchos servidores proxy entre los que elegir. Aquí se utiliza un servidor proxy de código abierto, Squid, para demostrar cómo se AWS CodeBuild ejecuta en un servidor proxy. Puede emplear estos mismos conceptos con otros servidores proxy. 

 Para instalar Squid, utilice un repositorio yum ejecutando los siguientes comandos: 

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

 Después de instalar Squid, edite el archivo `squid.conf` siguiendo las instrucciones que se indican más adelante en este tema. 

## Configuración de Squid para el tráfico HTTPS
<a name="use-proxy-server-squid-configure-https"></a>

 En HTTPS, el tráfico HTTP se encapsula en una conexión Transport Layer Security (TLS). Squid utiliza una función llamada [SslPeekAndSplice](https://wiki.squid-cache.org/Features/SslPeekAndSplice)para recuperar la indicación del nombre del servidor (SNI) de la dirección TLS que contiene el servidor de Internet solicitado. Esta operación es necesaria, ya que Squid no necesita descifrar el tráfico HTTPS. Para habilitarla SslPeekAndSplice, Squid necesita un certificado. Cree este certificado con 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
```

**nota**  
 En el caso de HTTP, Squid no requiere configuración. En todos los mensajes de solicitud HTTP/1.1, puede recuperar el campo del encabezado de host, donde se especifica el host de Internet que se está solicitando. 