Amazon Virtual Private Cloud
Guía del usuario

Servicios de punto de conexión de la VPC (AWS PrivateLink)

Puede crear su propia aplicación en la VPC y configurarla como servicio basado en AWS PrivateLink (lo que se conoce como servicio de punto de enlace). Otras entidades principales de AWS pueden crear una conexión desde su propia VPC al servicio de punto de conexión utilizando un punto de enlace de la VPC de tipo interfaz. Usted es el proveedor del servicio y las entidades principales de AWS que crean conexiones con el servicio son los consumidores del servicio.

Información general

A continuación se indican los pasos generales para crear un servicio de punto de conexión:

  1. Crear un Balanceador de carga de red para la aplicación en la VPC y configurarlo para cada subred (zona de disponibilidad) en la que el servicio deba estar disponible. El balanceador de carga recibe solicitudes de los consumidores y las dirige al servicio. Para obtener más información, consulte Introducción a Network Load Balancers en la Guía del usuario de Network Load Balancers. Le recomendamos que configure su servicio en todas las zonas de disponibilidad de la región.

  2. Crear una configuración de servicio de punto de enlace de VPC y especificar el Balanceador de carga de red.

A continuación se indican los pasos generales para permitir que los consumidores del servicio se conecten al servicio.

  1. Conceder permisos a consumidores del servicio específicos (cuentas de AWS, usuarios de IAM y roles de IAM) para crear una conexión con el servicio de punto de enlace.

  2. Un consumidor del servicio al que se le hayan concedido permisos crea un punto de enlace de interfaz al servicio, y de forma opcional, en cada zona de disponibilidad en la que se haya configurado el servicio.

  3. Para activar la conexión, acepte la solicitud de conexión del punto de enlace de interfaz. De forma predeterminada, las solicitudes de conexión se deben aceptan manualmente. Sin embargo, puede configurar las opciones de aceptación del servicio de punto de enlace para que todas las solicitudes de conexión se acepten automáticamente.

La combinación de permisos y opciones de aceptación puede ayudarle a controlar qué consumidores del servicio (entidades principales de AWS) pueden obtener acceso al servicio. Por ejemplo, puede otorgar permisos a determinadas entidades principales en las que confíe y aceptar automáticamente todas las solicitudes de conexión, o puede conceder permisos a un grupo más amplio de entidades principales y aceptar manualmente únicamente las solicitudes de conexión específicas en las que confíe.

En el diagrama siguiente, el propietario de la cuenta de la VPC B es un proveedor que tiene un servicio ejecutándose en instancias de la subred B. El propietario de la VPC B tiene un punto de conexión de servicio (vpce-svc-1234) con un Balanceador de carga de red asociado que apunta a las instancias de la subred B como objetivos. Las instancias de la subred A de la VPC A usan un punto de conexión de interfaz para el acceso a los servicios de la subred B.


                Uso de un punto de conexión de interfaz para el acceso a un servicio de punto de enlace

Para tolerancia a errores y baja latencia, recomendamos utilizar un Balanceador de carga de red con objetivos en cada zona de disponibilidad de la región de AWS. Para contribuir a lograr una alta disponibilidad para consumidores de servicio que utilizan nombres de host de DNS de zona para acceder al servicio, puede habilitar el equilibrio de carga entre zonas. El equilibrio de carga entre zonas permite al balanceador de carga distribuir el tráfico entre los objetivos registrados en todas las zonas de disponibilidad habilitadas. Para obtener más información, consulte el artículo relacionado con el balanceo de cargas entre zonas en la Guía del usuario de Network Load Balancers. Se podrían aplicar cargos por transferencia de datos regionales a su cuenta si habilita el balanceo de carga entre zonas.

En el siguiente diagrama, el propietario de VPC B es el proveedor de servicios y ha configurado un Balanceador de carga de red con destinos en dos zonas de disponibilidad distintas. El consumidor de servicio (VPC A) ha creado puntos de enlace de interfaz en las mismas dos zonas de disponibilidad en su VPC. Las solicitudes de servicio a partir de instancias en una VPC A pueden utilizar cualquier punto de enlace de interfaz.


                Uso de puntos de enlace de interfaz para acceder a un servicio de punto de enlace

Consideraciones sobre zonas de disponibilidad de servicio de punto de enlace

Cuando se crea un servicio de punto de enlace, el servicio se crea en la zona de disponibilidad correspondiente a su cuenta y es independiente de las demás cuentas. Cuando el proveedor de servicios y el consumidor estén en cuentas distintas, utilice el ID de zona de disponibilidad para identificar de forma inequívoca y sistemática la zona de disponibilidad del servicio de punto de enlace. Por ejemplo, use1-az1 es un ID de zona de disponibilidad para la región us-east-1 y tiene la misma ubicación en cada cuenta de AWS. Para obtener información sobre los ID de zona de disponibilidad, consulte ID de zona de disponibilidad para sus recursos en la Guía del usuario de AWS RAM o utilice describe-availability-zones.

Limitaciones de los servicios de punto de enlace

Para utilizar los servicios de punto de enlace, debe conocer sus reglas y limitaciones actuales:

  • Los servicios de punto de conexión solo admiten tráfico IPv4 sobre TCP.

  • Los consumidores del servicio deben usar nombres de host DNS específicos del punto de conexión para el acceso al servicio. No es posible usar un DNS privado. Para obtener más información, consulte Acceso a un servicio a través de un punto de conexión de interfaz.

  • Si un servicio de punto de enlace está asociado a varias instancias de Balanceador de carga de red, para una zona de disponibilidad específica, un punto de enlace de interfaz establece una conexión solo con un balanceador de carga.

  • Para el servicio de punto de enlace, el balanceador de carga de red asociado puede admitir 55 000 conexiones simultáneas o alrededor de 55 000 conexiones por minuto con cada uno de los distintos destinos (dirección IP y puerto). Si se superan estas conexiones, el riesgo de que se produzcan errores de asignación de puertos será mayor. Para solucionar los errores de asignación de puertos, añada más destinos al grupo de destino. Para obtener más información acerca de los grupos de destino del Balanceador de carga de red, consulte Grupos de destino de los balanceadores de carga de red y Registro de destinos en el grupo de destino en la Guía del usuario de Network Load Balancers.

  • Es posible que las zonas de disponibilidad de su cuenta no se correspondan con las mismas ubicaciones que las zonas de disponibilidad de otra cuenta. Por ejemplo, es posible que la zona de disponibilidad us-east-1a no se encuentre en la misma ubicación que us-east-1a de otra cuenta. Para obtener más información, consulte Conceptos de región y zona de disponibilidad. Cuando se configura un servicio de punto de enlace, se configura en las zonas de disponibilidad asignadas a su cuenta.

Creación de una configuración de servicio de punto de conexión de VPC

Puede crear una configuración de servicio de punto de conexión con la consola de Amazon VPC o la línea de comandos. Antes de comenzar, asegúrese de haber creado uno o más Balanceador de carga de red en la VPC para el servicio. Para obtener más información, consulte Introducción a Network Load Balancers en la Guía del usuario de Network Load Balancers.

Si lo desea, puede especificar en la configuración que desea aceptar manualmente todas las solicitudes de conexión al servicio que se realicen a través de un punto de enlace de interfaz. Puede crear una notificación para recibir alertas cuando se reciban solicitudes de conexión. Si no acepta una conexión, los consumidores del servicio no pueden tener acceso al servicio.

nota

Independientemente de las opciones de aceptación, los consumidores del servicio también deben tener permisos para establecer una conexión con el servicio.

Para crear un servicio de punto de conexión con la consola

  1. Abra la consola de Amazon VPC en https://console.aws.amazon.com/vpc/.

  2. En el panel de navegación, elija Endpoints Services, Create Endpoint Service.

  3. En Associate Network Load Balancers (Asociar balanceadores de carga de red), seleccione los Balanceador de carga de red que deban asociarse al servicio de punto de enlace.

  4. En Require acceptance for endpoint, marque la casilla de verificación para aceptar manualmente las solicitudes del servicio. Si no selecciona esta opción, las solicitudes a través de un punto de conexión se aceptarán automáticamente.

  5. Elija Create service.

Después de crear una configuración del servicio de punto de enlace, debe añadir permisos para permitir a los consumidores del servicio crear puntos de enlace de interfaz a su servicio.

Para crear un servicio de punto de conexión con la AWS CLI

  • Use el comando create-vpc-endpoint-service-configuration y especifique uno o más ARN para sus Balanceador de carga de red. Opcionalmente puede especificar si se requiere aceptación para conectarse al servicio.

    aws ec2 create-vpc-endpoint-service-configuration --network-load-balancer-arns arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/net/nlb-vpce/e94221227f1ba532 --acceptance-required
    { "ServiceConfiguration": { "ServiceType": [ { "ServiceType": "Interface" } ], "NetworkLoadBalancerArns": [ "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/net/nlb-vpce/e94221227f1ba532" ], "ServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-03d5ebb7d9579a2b3", "ServiceState": "Available", "ServiceId": "vpce-svc-03d5ebb7d9579a2b3", "AcceptanceRequired": true, "AvailabilityZones": [ "us-east-1d" ], "BaseEndpointDnsNames": [ "vpce-svc-03d5ebb7d9579a2b3.us-east-1.vpce.amazonaws.com" ] } }

Para crear un servicio de punto de enlace mediante Herramientas de AWS para Windows PowerShell o la API

Concesión y retirada de permisos para el servicio de punto de enlace

Después de crear una configuración del servicio de punto de enlace, puede controlar los consumidores del servicio que pueden crear un punto de enlace de interfaz para conectarse a su servicio. Los consumidores de servicios son las entidades principales de IAM: usuarios de IAM, roles de IAM y cuentas de AWS. Para añadir o eliminar permisos para una entidad principal, necesita su Nombre de recurso de Amazon (ARN).

  • Para una cuenta de AWS (y, por tanto, para todas las entidades principales de la cuenta), el ARN tiene el formato arn:aws:iam::aws-account-id:root.

  • Para un usuario de IAM específico, el ARN tiene el formato arn:aws:iam::aws-account-id:user/user-name.

  • Para un rol de IAM específico, el ARN tiene el formato arn:aws:iam::aws-account-id:role/role-name.

Para agregar o quitar permisos con la consola

  1. Abra la consola de Amazon VPC en https://console.aws.amazon.com/vpc/.

  2. En el panel de navegación, elija Endpoint Services y seleccione el servicio de punto de conexión.

  3. Elija Actions, Add principals to whitelist.

  4. Especifique el ARN de la entidad principal para la que desea agregar permisos. Para añadir más entidades principales, elija Add principal. Para quitar una entidad principal, elija el icono con una cruz junto a la entrada correspondiente.

    nota

    Especifique * para añadir permisos para todas las entidades principales. Esto permite que todas las entidades principales de todas las cuentas de AWS creen un punto de enlace de interfaz al servicio de punto de enlace.

  5. Elija Add to Whitelisted principals.

  6. Para quitar una entidad principal, selecciónela en la lista y elija Delete.

Para agregar o quitar permisos con la AWS CLI

  1. Para agregar permisos al servicio de punto de enlace, use el comando modify-vpc-endpoint-service-permissions con el parámetro --add-allowed-principals para agregar uno o varios ARN para las entidades principales.

    aws ec2 modify-vpc-endpoint-service-permissions --service-id vpce-svc-03d5ebb7d9579a2b3 --add-allowed-principals '["arn:aws:iam::123456789012:root"]'
  2. Para ver los permisos que ha agregado al servicio de punto de enlace, use el comando describe-vpc-endpoint-service-permissions.

    aws ec2 describe-vpc-endpoint-service-permissions --service-id vpce-svc-03d5ebb7d9579a2b3
    { "AllowedPrincipals": [ { "PrincipalType": "Account", "Principal": "arn:aws:iam::123456789012:root" } ] }
  3. Para quitar permisos del servicio de punto de enlace, use el comando modify-vpc-endpoint-service-permissions con el parámetro --remove-allowed-principals para quitar uno o varios ARN de entidades principales.

    aws ec2 modify-vpc-endpoint-service-permissions --service-id vpce-svc-03d5ebb7d9579a2b3 --remove-allowed-principals '["arn:aws:iam::123456789012:root"]'

Para modificar los permisos del servicio de punto de enlace mediante Herramientas de AWS para Windows PowerShell o la API

Cambio de los Balanceador de carga de red y la configuración de aceptación

Puede modificar la configuración del servicio de punto de conexión cambiando los Balanceador de carga de red asociados al servicio y la obligatoriedad de una aceptación para conectar con él.

No es posible retirar la asociación de un balanceador de carga cuando existen puntos de conexión de interfaz asociados al servicio de punto de conexión.

Para cambiar los balanceadores de carga de red de un servicio de punto de conexión con la consola

  1. Abra la consola de Amazon VPC en https://console.aws.amazon.com/vpc/.

  2. En el panel de navegación, elija Endpoint Services y seleccione el servicio de punto de conexión.

  3. Elija Actions, Associate/Disassociate Network Load Balancers.

  4. Seleccione o quite la selección de los balanceadores de carga como sea necesario y elija Save.

Para modificar la opción de aceptación con la consola

  1. Abra la consola de Amazon VPC en https://console.aws.amazon.com/vpc/.

  2. En el panel de navegación, elija Endpoint Services y seleccione el servicio de punto de conexión.

  3. Elija Actions, Modify endpoint acceptance setting.

  4. Seleccione o quite la selección de Require acceptance for endpoint y elija Modify.

Para modificar los balanceadores de carga y las opciones de aceptación con la AWS CLI

  1. Para cambiar los balanceadores de carga del servicio de punto de enlace, use el comando modify-vpc-endpoint-service-configuration con el parámetro --add-network-load-balancer-arn o --remove-network-load-balancer-arn; por ejemplo:

    aws ec2 modify-vpc-endpoint-service-configuration --service-id vpce-svc-09222513e6e77dc86 --remove-network-load-balancer-arn arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/net/nlb-vpce/e94221227f1ba532
  2. Para cambiar el requisito de aceptación, use el comando modify-vpc-endpoint-service-configuration y especifique --acceptance-required o --no-acceptance-required; por ejemplo:

    aws ec2 modify-vpc-endpoint-service-configuration --service-id vpce-svc-09222513e6e77dc86 --no-acceptance-required

Para modificar la configuración de un servicio de punto de enlace mediante Herramientas de AWS para Windows PowerShell o la API

Aceptación y rechazo de solicitudes de conexión a través de un punto de enlace de interfaz

Después de crear una configuración del servicio de punto de enlace para la que haya añadido permisos, puede controlar los consumidores del servicio que pueden crear un punto de enlace de interfaz para conectarse a su servicio. Para obtener más información sobre cómo crear un punto de enlace de interfaz, consulte Puntos de conexión de la VPC de interfaz (AWS PrivateLink).

Si ha especificado que es obligatoria la aceptación de las solicitudes de conexión, deberá aceptar o rechazar manualmente las solicitudes para conectar con el servicio a través de un punto de conexión de interfaz. Una vez aceptado un punto de conexión de interfaz, pasa al estado available (disponible).

También puede rechazar una conexión a través de un punto de conexión de interfaz después de que se encuentre en el estado available.

Para aceptar o rechazar una solicitud de conexión con la consola

  1. Abra la consola de Amazon VPC en https://console.aws.amazon.com/vpc/.

  2. En el panel de navegación, elija Endpoint Services y seleccione el servicio de punto de conexión.

  3. En la pestaña Endpoint Connections aparecen las conexiones por punto de conexión que están esperando a su aprobación. Seleccione el punto de conexión, elija Actions y elija Accept endpoint connection request para aceptar la solicitud o Reject endpoint connection request para rechazarla.

Para aceptar o rechazar una solicitud de conexión con la AWS CLI

  1. Para ver las solicitudes de puntos de enlace que esperan aceptación, use el comando describe-vpc-endpoint-connections y filtre el resultado por el estado pendingAcceptance.

    aws ec2 describe-vpc-endpoint-connections --filters Name=vpc-endpoint-state,Values=pendingAcceptance
    { "VpcEndpointConnections": [ { "VpcEndpointId": "vpce-0c1308d7312217abc", "ServiceId": "vpce-svc-03d5ebb7d9579a2b3", "CreationTimestamp": "2017-11-30T10:00:24.350Z", "VpcEndpointState": "pendingAcceptance", "VpcEndpointOwner": "123456789012" } ] }
  2. Para aceptar una solicitud de conectar por punto de enlace, use el comando accept-vpc-endpoint-connections y especifique el ID del punto de enlace y el ID del servicio de punto de enlace.

    aws ec2 accept-vpc-endpoint-connections --service-id vpce-svc-03d5ebb7d9579a2b3 --vpc-endpoint-ids vpce-0c1308d7312217abc
  3. Para rechazar una solicitud de conectar por punto de enlace, use el comando reject-vpc-endpoint-connections.

    aws ec2 reject-vpc-endpoint-connections --service-id vpce-svc-03d5ebb7d9579a2b3 --vpc-endpoint-ids vpce-0c1308d7312217abc

Para aceptar y rechazar conexiones de punto de enlace mediante Herramientas de AWS para Windows PowerShell o la API

Creación y administración de una notificación para un servicio de punto de conexión

Puede crear una notificación para recibir alertas cuando se produzcan eventos específicos en el punto de conexión de interfaz conectado al servicio de punto de conexión. Por ejemplo, puede recibir un correo electrónico cuando se acepte o se rechace una solicitud de punto de conexión para su servicio. Para crear una notificación, debe asociarle un tema de Amazon SNS. Suscribiéndose al tema de SNS recibirá una notificación por correo electrónico cuando se produzca el evento en el punto de conexión. Para obtener más información, consulte Guía para desarrolladores de Amazon Simple Notification Service.

El tema de Amazon SNS utilizado para las notificaciones debe contar con una política de tema que permita al servicio de punto de conexión de VPC de Amazon publicar notificaciones en su nombre. Asegúrese de incluir la instrucción siguiente al comienzo de la política de tema. Para obtener más información, consulte la sección sobre administración del acceso a los temas de Amazon SNS en la Guía para desarrolladores de Amazon Simple Notification Service.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "vpce.amazonaws.com" }, "Action": "SNS:Publish", "Resource": "arn:aws:sns:region:account:topic-name" } ] }

Para crear una notificación para un servicio de punto de conexión

  1. Abra la consola de Amazon VPC en https://console.aws.amazon.com/vpc/.

  2. En el panel de navegación, elija Endpoint Services y seleccione el servicio de punto de conexión.

  3. Elija Notifications, Create Notification.

  4. Elija el ARN del tema de SNS al que desea asociar la notificación.

  5. En Events, seleccione los eventos de punto de conexión para los que se deben recibir notificaciones.

  6. Elija Create Notification.

Una vez creada una notificación, puede cambiar el tema de SNS asociado a ella o especificar eventos de punto de conexión distintos.

Para modificar una notificación para un servicio de punto de conexión

  1. Abra la consola de Amazon VPC en https://console.aws.amazon.com/vpc/.

  2. En el panel de navegación, elija Endpoint Services y seleccione el servicio de punto de conexión.

  3. Elija Notifications, Actions, Modify Notification.

  4. Especifique el ARN del tema de SNS y seleccione o retire la selección de los eventos de punto de conexión como sea necesario.

  5. Elija Modify Notification.

Si ya no necesita una notificación, puede eliminarla.

Para eliminar una notificación

  1. Abra la consola de Amazon VPC en https://console.aws.amazon.com/vpc/.

  2. En el panel de navegación, elija Endpoint Services y seleccione el servicio de punto de conexión.

  3. Elija Notifications, Actions, Delete Notification.

  4. Elija Yes, Delete (Sí, eliminar).

Para crear y administrar una notificación con la AWS CLI

  1. Para crear una notificación para un servicio de punto de enlace, utilice el comando create-vpc-endpoint-connection-notification y especifique el ARN del tema de SNS, los eventos objeto de notificación y el ID del servicio de punto de conexión; por ejemplo:

    aws ec2 create-vpc-endpoint-connection-notification --connection-notification-arn arn:aws:sns:us-east-2:123456789012:VpceNotification --connection-events Connect Accept Delete Reject --service-id vpce-svc-1237881c0d25a3abc
    { "ConnectionNotification": { "ConnectionNotificationState": "Enabled", "ConnectionNotificationType": "Topic", "ServiceId": "vpce-svc-1237881c0d25a3abc", "ConnectionEvents": [ "Reject", "Accept", "Delete", "Connect" ], "ConnectionNotificationId": "vpce-nfn-008776de7e03f5abc", "ConnectionNotificationArn": "arn:aws:sns:us-east-2:123456789012:VpceNotification" } }
  2. Para ver las notificaciones, utilice el comando describe-vpc-endpoint-connection-notifications:

    aws ec2 describe-vpc-endpoint-connection-notifications
  3. Para cambiar el tema de SNS o los eventos de punto de enlace objeto de notificación, utilice el comando modify-vpc-endpoint-connection-notification; por ejemplo:

    aws ec2 modify-vpc-endpoint-connection-notification --connection-notification-id vpce-nfn-008776de7e03f5abc --connection-events Accept Reject --connection-notification-arn arn:aws:sns:us-east-2:123456789012:mytopic
  4. Para eliminar una notificación, utilice el comando delete-vpc-endpoint-connection-notifications:

    aws ec2 delete-vpc-endpoint-connection-notifications --connection-notification-ids vpce-nfn-008776de7e03f5abc

Uso de Proxy Protocol para la información de conexión

Los Balanceador de carga de red comunican las direcciones IP de origen a la aplicación (el servicio). Cuando los consumidores envían tráfico al servicio a través de un punto de conexión de interfaz, las direcciones IP de origen comunicadas a la aplicación son las direcciones IP privadas de los nodos de Balanceador de carga de red, y no las direcciones IP de los consumidores.

Si necesita las direcciones IP de los consumidores del servicio y los ID de los puntos de conexión de interfaz correspondientes, habilite Proxy Protocol en el balanceador de carga y obtenga las direcciones IP del encabezado de Proxy Protocol. Para obtener más información, consulte Proxy Protocol en la Guía del usuario de Network Load Balancers.

Añadir o eliminar etiquetas del servicio de punto de enlace de la VPC

Las etiquetas proporcionan una forma de identificar el servicio de punto de enlace de la VPC. Puede añadir o eliminar una etiqueta.

Para añadir una etiqueta del servicio de punto de enlace de la VPC

  1. Abra la consola de Amazon VPC en https://console.aws.amazon.com/vpc/.

  2. En el panel de navegación, elija Endpoint Services (Servicios de punto de enlace).

  3. Seleccione el servicio de punto de enlace de la VPC y elija Actions (Acciones), Add/Edit Tags (Añadir o editar etiquetas).

  4. Añada o elimine una etiqueta.

    [Añadir una etiqueta] Elija Create tag (Crear etiqueta) y haga lo siguiente:

    • En Key (Clave), escriba el nombre de la clave.

    • En Value (Valor), escriba el valor de la clave.

    [Eliminar una etiqueta] Elija el botón de eliminación (“x”) situado a la derecha de la clave y valor de la etiqueta.

To add or remove a tag using the Herramientas de AWS para Windows PowerShell or an API

Eliminación de una configuración de servicio de punto de enlace

Es posible eliminar una configuración de servicio de punto de enlace. La eliminación de la configuración no elimina la aplicación hospedada en la VPC ni los balanceadores de carga asociados.

Antes de eliminar la configuración del servicio de punto de conexión, debe rechazar todos los puntos de conexión de VPC con el estado available o pending-acceptance asociados al servicio. Para obtener más información, consulte Aceptación y rechazo de solicitudes de conexión a través de un punto de enlace de interfaz.

Para eliminar una configuración de servicio de punto de conexión con la consola

  1. Abra la consola de Amazon VPC en https://console.aws.amazon.com/vpc/.

  2. En el panel de navegación, elija Endpoint Services y seleccione el servicio.

  3. Elija Actions, Delete.

  4. Elija Yes, Delete (Sí, eliminar).

Para eliminar una configuración de servicio de punto de conexión con la AWS CLI

Para eliminar la configuración de un servicio de punto de enlace mediante Herramientas de AWS para Windows PowerShell o la API