> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devinenterprise.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Red privada para despliegue dedicado

Algunos clientes empresariales requieren que Devin se conecte de forma privada a sistemas internos como GitHub Enterprise Server, GitLab, Bitbucket Data Center, Artifactory, Nexus u otra infraestructura de desarrollo.

El despliegue dedicado de Devin es compatible con esto mediante AWS PrivateLink. Este modelo mantiene todo el tráfico dentro de la red troncal de AWS y evita exponerlo a la Internet pública.

<div id="overview">
  ## Descripción general
</div>

PrivateLink ofrece conectividad privada mediante direcciones IP desde tu entorno de despliegue dedicado de Devin a tus endpoints internos. Para habilitarlo, tu equipo expone un AWS VPC Endpoint Service delante de cada sistema interno al que Devin necesita acceder. Luego, Cognition crea Interface VPC Endpoints que consumen ese servicio.
PrivateLink se configura de forma independiente para cada dominio. Si Devin debe acceder a varios dominios, necesitarás un Endpoint Service y un Interface Endpoint para cada dominio.

<div id="requirements">
  ## Requisitos
</div>

Debe proporcionar lo siguiente:

* Un Network Load Balancer (NLB) en su cuenta de AWS que haga de front-end para cada servicio interno (GitLab, Artifactory, etc.)
* Un VPC Endpoint Service que use el NLB como destino
* El nombre de servicio para cada Endpoint Service
* Permisos de principal permitido que incluyan la cuenta de AWS de Cognition
* Confirmación de los puertos admitidos para cada servicio
* Información de DNS para los dominios que Devin debe resolver de forma privada

Cognition proporcionará:

* El ID de la cuenta de AWS que se debe agregar como principal permitido
* La configuración de DNS del lado de Devin una vez que se haya establecido la conectividad

<div id="cross-region-privatelink-if-your-services-are-in-a-different-region">
  ## PrivateLink entre regiones (si sus servicios están en una región diferente)
</div>

Si sus servicios internos se ejecutan en una región diferente a su tenant de despliegue dedicado de Cognition, puede seguir utilizando PrivateLink. AWS permite el consumo de puntos de enlace entre regiones, siempre que el propietario del servicio lo habilite.

<div id="customer-steps">
  ### Pasos para el cliente
</div>

1. **Crear o reutilizar el Network Load Balancer**
   El NLB debe apuntar a los sistemas internos a los que Devin debe acceder. El NLB debe admitir todos los puertos necesarios.

2. **Crear un VPC Endpoint Service a partir del NLB**
   Esto hace que el servicio esté disponible para su consumo a través de PrivateLink.

3. **Habilitar compatibilidad entre regiones (cross region)**
   En la consola de AWS:

   ```
   VPC Console → Endpoint Services → Select service → Actions → Modify supported Regions
   ```

   Agrega la región donde está desplegado tu tenant de Cognition.
   Ejemplo con CLI:

   ```bash theme={null}
   aws ec2 modify-vpc-endpoint-service-configuration \
       --service-id vpce-svc-0abc123 \
       --add-supported-regions us-west-2  # Región de tu tenant de Cognition
   ```

4. **Agregar la cuenta de AWS de Cognition como principal permitido**
   ```bash theme={null}
   aws ec2 modify-vpc-endpoint-service-permissions \
       --service-id vpce-svc-0abc123 \
       --add-allowed-principals arn:aws:iam::<COGNITION_ACCOUNT_ID>:root
   ```

5. **Proporcionar los siguientes detalles a Cognition**
   * Nombre del Endpoint Service\
     Ejemplo: `com.amazonaws.vpce.us-west-2.vpce-svc-0abc123`
   * Puertos que admite el servicio
   * Los dominios que deberían resolverse a través de PrivateLink

<div id="what-happens-next">
  ### Qué ocurre a continuación
</div>

Una vez que proporciones los detalles anteriores, Cognition hará lo siguiente:

1. **Creará endpoints de interfaz de VPC** en tu entorno de tenant dedicado usando los nombres de servicio que proporcionaste.
2. **Enviará una solicitud de conexión** que deberás aprobar (ya sea manualmente o mediante aceptación automática, si está configurada).
3. **Configurará el DNS** para que los dominios que especifiques se resuelvan de forma privada dentro del entorno de Devin.

<div id="architecture-diagram">
  ## Diagrama de arquitectura
</div>

<Frame caption="Conectividad de PrivateLink entre regiones desde Cognition hacia los servicios internos del cliente">
  <img src="https://mintcdn.com/cognitionai-enterprise/G1KUV0opl7B4FiVt/images/privatelink-architecture.svg?fit=max&auto=format&n=G1KUV0opl7B4FiVt&q=85&s=17d8611558974f3c70f9c100feaea8b7" alt="Arquitectura de PrivateLink" width="900" height="480" data-path="images/privatelink-architecture.svg" />
</Frame>

<div id="gateway-load-balancer-gwlb-support">
  ## Compatibilidad con Gateway Load Balancer (GWLB)
</div>

Si su organización utiliza un appliance de seguridad como Zscaler para la inspección del tráfico, puede usar un AWS Gateway Load Balancer (GWLB) en lugar de un Network Load Balancer. Esto permite que el tráfico de Devin pase por su appliance de seguridad para su inspección antes de llegar a sus servicios internos.

En este modelo:

* Un **Gateway Load Balancer** se sitúa delante de su appliance de seguridad (por ejemplo, Zscaler)
* Se crea un **Gateway Load Balancer Endpoint** en el entorno de Devin para enrutar el tráfico a través del appliance
* El tráfico es inspeccionado por su appliance de seguridad y luego se reenvía al servicio interno de destino

Para usar esta opción, proporcione a Cognition:

* El nombre del servicio de endpoint de GWLB
* El proveedor del appliance de seguridad y los detalles de configuración
* Los dominios que se deben enrutar a través del GWLB

<Note>
  Las configuraciones basadas en GWLB siguen los mismos principios de PrivateLink que las configuraciones basadas en NLB, pero añaden una capa de inspección de tráfico. Póngase en contacto con su equipo de cuenta de Cognition para obtener instrucciones detalladas de configuración.
</Note>

<div id="key-considerations">
  ## Consideraciones clave
</div>

| Tema                          | Guía                                                                                                                   |
| ----------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| Configuración requerida       | Un Endpoint Service por dominio, un Interface Endpoint por dominio                                                     |
| Compatibilidad entre regiones | Debe habilitarse explícitamente en el Endpoint Service                                                                 |
| Principales permitidos        | El cliente debe agregar el ID de cuenta de AWS de Cognition                                                            |
| DNS                           | Los dominios del cliente se resolverán en IP privadas de Interface Endpoint del lado de Cognition                      |
| Puertos                       | Los listeners de NLB deben coincidir con los puertos que Devin usa para acceder a cada servicio                        |
| Disponibilidad                | El NLB y los targets subyacentes deben configurarse en varias Availability Zones                                       |
| Latencia                      | Puede producirse un ligero aumento de la latencia entre regiones, ya que el tráfico permanece en la red troncal de AWS |

<div id="information-to-provide-to-cognition">
  ## Información que debes proporcionar a Cognition
</div>

Cuando tu configuración esté lista, envía a Cognition:

* Nombres de AWS Endpoint Service para cada dominio interno
* Confirmación de que el soporte entre regiones está habilitado (si corresponde)
* Confirmación de que la configuración de principals permitidos está completa
* Puertos expuestos por el NLB
* La lista de dominios que deben enrutarse a través de PrivateLink

A continuación, Cognition aprovisionará los Interface Endpoints, configurará el DNS y confirmará la conectividad.
