

 **Ayude a mejorar esta página** 

Para contribuir a esta guía del usuario, elija el enlace **Edit this page on GitHub** que se encuentra en el panel derecho de cada página.

# Configuración del acceso privado al punto de conexión para Argo CD
<a name="argocd-private-access"></a>

De forma predeterminada, puede acceder al punto de conexión de Argo CD a través de la Internet pública. Puede configurar el acceso privado al punto de conexión para que el tráfico entre su VPC y el punto de conexión de Argo CD permanezca dentro de la red de AWS, sin pasar por la Internet pública.

Al habilitar el acceso privado, AWS actualiza el sistema de nombres de dominio (DNS) para que el nombre de host del punto de conexión de Argo CD se resuelva en direcciones IP privadas asociadas al punto de conexión de VPC. Debe tener conectividad de red con estas IP privadas (a través de la VPC, una conexión de red privada virtual [VPN] o AWS Direct Connect) para acceder al punto de conexión de Argo CD.

## Cómo funciona el acceso privado
<a name="_how_private_access_works"></a>

Al configurar el acceso privado para la capacidad de Argo CD:

1. Creará un punto de conexión de VPC para el servicio de `com.amazonaws.region-code.eks-capabilities` en la VPC.

1. Proporcionará el ID de punto de conexión de VPC al crear o actualizar la capacidad de Argo CD.

1.  AWS configura los registros de DNS para que el nombre de host del punto de conexión de Argo CD se resuelva en direcciones IP privadas asociadas al punto de conexión de VPC.

1. Todo el tráfico al punto de conexión de Argo CD fluye de forma privada a través del punto de conexión de VPC.

## Requisitos previos
<a name="_prerequisites"></a>
+ Un clúster de Amazon Elastic Kubernetes Service (Amazon EKS) con la capacidad de Argo CD activa (consulte [Creación de una capacidad de Argo CD](create-argocd-capability.md))
+ Familiaridad con los conceptos de Amazon VPC, lo que incluye las subredes, los grupos de seguridad y los puntos de conexión de VPC de interfaz
+ Una VPC con subredes en las zonas de disponibilidad en las que desea un acceso privado
+  Versión de la Interfaz de la línea de comandos de AWS (AWS CLI) `2.12.3` o posterior

## Paso 1: creación de un punto de conexión de VPC para eks-capabilities
<a name="_step_1_create_a_vpc_endpoint_for_eks_capabilities"></a>

Cree un punto de conexión de VPC de interfaz para el servicio de `com.amazonaws.region-code.eks-capabilities`.

------
#### [ Console ]

1. Abra la [Consola de Amazon VPC](https://console.aws.amazon.com/vpc/).

1. En el panel de navegación izquierdo, seleccione **Puntos de conexión**.

1. Seleccione **Crear punto de conexión**.

1. En **Categoría de servicio**, elija **Servicios de AWS**.

1. En el campo de búsqueda, ingrese `eks-capabilities` y seleccione `com.amazonaws.region-code.eks-capabilities`.

1. En **VPC**, seleccione la VPC desde la que desea acceder al punto de conexión de Argo CD.

1. En **Subredes**, seleccione una subred en cada zona de disponibilidad en la que desee un acceso privado.

1. En **Grupos de seguridad**, seleccione lun grupo de seguridad que permita el tráfico entrante HTTPS (puerto 443) desde las redes de clientes.

1. Seleccione **Crear punto de conexión**.

1. Anote el ID de punto de conexión de VPC (por ejemplo, `vpce-0123456789abcdef0`).

------
#### [ CLI ]

Sustituya {{region-code}} por la región de AWS, {{vpc-id}} por el ID de VPC, {{subnet-id-1 subnet-id-2}} por los ID de subred en diferentes zonas de disponibilidad y {{sg-id}} por un grupo de seguridad que permita el tráfico entrante HTTPS.

```
aws ec2 create-vpc-endpoint \
  --region {{region-code}} \
  --vpc-endpoint-type Interface \
  --service-name com.amazonaws.{{region-code}}.eks-capabilities \
  --vpc-id {{vpc-id}} \
  --subnet-ids {{subnet-id-1 subnet-id-2}} \
  --security-group-ids {{sg-id}}
```

Tenga en cuenta los `VpcEndpointId` en la respuesta.

------

**importante**  
Asegúrese de que el grupo de seguridad asociado al punto de conexión de VPC permita el tráfico HTTPS (puerto 443) entrante. El origen del tráfico debe incluir todas las redes desde las que los usuarios o las aplicaciones acceden al punto de conexión de Argo CD.

## Paso 2: configuración del acceso privado en la capacidad de Argo CD
<a name="_step_2_configure_private_access_on_the_argo_cd_capability"></a>

Después de que el punto de conexión de VPC esté disponible, configure la capacidad de Argo CD para utilizarlo. Puede configurar el acceso privado al crear una nueva capacidad o si actualiza una existente.

### Creación de una nueva capacidad con acceso privado
<a name="_create_a_new_capability_with_private_access"></a>

Incluya `networkAccess` en el comando `create-capability`. Sustituya {{region-code}}, {{my-cluster}} y otros marcadores de posición por sus valores:

```
aws eks create-capability \
  --region {{region-code}} \
  --cluster-name {{my-cluster}} \
  --capability-name my-argocd \
  --type ARGOCD \
  --role-arn {{arn:aws:iam::111122223333:role/ArgoCDCapabilityRole}} \
  --configuration '{
    "argoCd": {
      "awsIdc": {
        "idcInstanceArn": "arn:aws:sso:::instance/ssoins-1234567890abcdef",
        "idcRegion": "idc-region-code"
      },
      "rbacRoleMappings": [{
        "role": "ADMIN",
        "identities": [{
          "id": "user-id",
          "type": "SSO_USER"
        }]
      }],
      "networkAccess": {
        "vpceIds": ["vpce-0123456789abcdef0"]
      }
    }
  }'
```

### Actualización de una capacidad existente para habilitar el acceso privado
<a name="_update_an_existing_capability_to_enable_private_access"></a>

Sustituya {{region-code}}, {{my-cluster}}, {{my-argocd}} y el ID de punto de conexión de VPC por sus valores:

```
aws eks update-capability \
  --region {{region-code}} \
  --cluster-name {{my-cluster}} \
  --capability-name {{my-argocd}} \
  --configuration '{
    "argoCd": {
      "networkAccess": {
        "vpceIds": ["vpce-0123456789abcdef0"]
      }
    }
  }'
```

Espere a que se complete la actualización de la capacidad:

```
aws eks describe-capability \
  --region {{region-code}} \
  --cluster-name {{my-cluster}} \
  --capability-name {{my-argocd}} \
  --query 'capability.status' \
  --output text
```

El estado vuelve a `ACTIVE` cuando se completa la actualización.

## Paso 3: verificación de la conectividad y la resolución de DNS
<a name="_step_3_verify_dns_resolution_and_connectivity"></a>

Después de que la capacidad se active con el acceso privado configurado, verifique que el nombre de host del punto de conexión de Argo CD se resuelva en direcciones IP privadas.

Ejecute el comando `nslookup` siguiente desde cualquier red:

```
nslookup {{your-argocd-endpoint.eks-capabilities.region-code.amazonaws.com}}
```

La respuesta debe mostrar direcciones IP privadas (por ejemplo, direcciones en los rangos de RFC 1918, como `10.x.x.x` o `172.16.x.x`).

Si el punto de conexión no se resuelve en direcciones IP privadas, verifique lo siguiente:
+ El estado de la capacidad es `ACTIVE` (AWS crea registros de DNS después de que se active la capacidad)
+ El estado del punto de conexión de VPC es `available`
+ El ID de punto de conexión de VPC en la configuración de la capacidad coincide con el punto de conexión que creó

**nota**  
Después de configurar el acceso privado, el nombre de host del punto de conexión de Argo CD se resuelve en direcciones IP privadas. Para conectarse, debe tener conectividad de red con esas IP privadas a través de la VPC, una conexión de VPN o AWS Direct Connect.

## Deshabilitación del acceso privado
<a name="_disable_private_access"></a>

Para deshabilitar el acceso privado y restaurar el acceso a los puntos de conexión públicos, actualice la capacidad para eliminar los ID de punto de conexión de VPC:

```
aws eks update-capability \
  --region {{region-code}} \
  --cluster-name {{my-cluster}} \
  --capability-name {{my-argocd}} \
  --configuration '{
    "argoCd": {
      "networkAccess": {
        "vpceIds": []
      }
    }
  }'
```

## Consideraciones
<a name="_considerations"></a>
+ Después de habilitar el acceso privado, solo se puede acceder al punto de conexión de Argo CD desde la VPC o las redes conectadas a ella (por ejemplo, a través de una VPN o AWS Direct Connect).
+ El punto de conexión de VPC debe permanecer en el estado `available` para que funcione el acceso privado. Si elimina el punto de conexión de VPC, perderá el acceso al punto de conexión de Argo CD hasta que cree un nuevo punto de conexión y actualice la capacidad.
+  AWS actualmente no admite políticas de punto de conexión de VPC para el punto de conexión del servicio `eks-capabilities`.