Acceso entre VPC a una instancia de Kafka
Escenario
Las VPC están aisladas lógicamente entre sí. Si una instancia de Kafka y un cliente de Kafka están en VPCs diferentes dentro de una región, no pueden comunicarse entre sí. En este caso, puede utilizar uno de los siguientes métodos para acceder a una instancia de Kafka en VPC:
- Establezca una conexión de pares de VPC para permitir que dos VPC se comuniquen entre sí. Para obtener más información, consulte Conexión de emparejamiento de VPC.
- Cree una conexión a la nube y cargue las VPC que necesitan comunicarse entre sí con la conexión a la nube. Para obtener más información, consulte Comunicaciones de red entre VPC de la misma cuenta.
- Utilice VPC Endpoint (VPCEP) para establecer una conexión entre VPC.
A continuación se describe cómo utilizar VPCEP para implementar el acceso entre VPC.
VPCEP proporciona dos tipos de recursos: servicios de endpoint de VPC y endpoints de VPC.
- Un servicio de endpoint de VPC puede ser una instancia de Kafka a la que se accede por el endpoint de VPC.
- Un endpoint de VPC es un canal seguro y privado para conectar una VPC a un servicio de endpoint de VPC.
Procedimiento
Creación de un servicio de endpoint de VPC
- Inicie sesión en la consola de gestión.
- Haga clic en en la esquina superior izquierda para seleccionar la región.
Seleccione la misma región que su servicio de aplicación.
- Haga clic en y elija Application > Distributed Message Service (for Kafka) para abrir la consola de DMS for Kafka.
- Haga clic en la instancia de Kafka deseada para ver los detalles de la instancia.
- Obtenga las direcciones y los ID de puerto de la instancia.
Figura 3 Obtención de las direcciones y los ID de puerto de la instancia
- Consulte la VPC a la que pertenece la instancia de Kafka.
Figura 4 Consulta de la VPC a la que pertenece la instancia de Kafka
- Haga clic en la VPC para obtener el ID de VPC en la consola de VPC.
Figura 5 Obtención del ID de VPC
- Llame a la API de endpoint de VPC para crear un servicio de endpoint de VPC. Para obtener más información, consulte Creación de un servicio de VPC endpoint.
curl -i -k -H 'Accept:application/json' -H 'Content-Type:application/json;charset=utf8' -X POST -H "X-Auth-Token:$token" -d '{"port_id":"38axxxeac","vpc_id":"706xxx888","ports":[{"protocol":"TCP","client_port":9011,"server_port":9011 }],"approval_enabled":false,"service_type":"interface","server_type":"VM"}' https://{endpoint}/v1/{project_id}/vpc-endpoint-services
Descripción del parámetro:
- token: una credencial de acceso emitida a un usuario de IAM para llevar su identidad y permisos. Para obtener detalles sobre cómo obtener un token, consulte Obtaining un token de usuario.
- port_id: uno de los identificadores de puerto obtenidos en 5.
- vpc_id: ID de VPC obtenido en 7.
- endpoint: endpoint obtenido desde Regiones y endpoints. La región debe ser la misma que la de la instancia de Kafka.
- project_id: ID de proyecto obtenido desde Obtención de un ID de proyecto. La región debe ser la misma que la de la instancia de Kafka.
Registre el valor de service_name en la respuesta. Este parámetro indica el nombre del servicio de endpoint de VPC.
- Repita 8 para crear servicios de endpoint de VPC para otros ID de puerto obtenidos en 5 y registrar los nombres de servicio de endpoint de VPC.
(Opcional) Adición de un registro de lista blanca
Si el cliente de Kafka y la instancia de Kafka pertenecen a diferentes cuentas, agregue el ID de la cuenta a la que pertenece el cliente de Kafka a la lista blanca del servicio de endpoint. Para obtener más información, consulte Agregar un registro de lista blanca.
Compra de un VPC endpoint
- Haga clic en y elija Networking > VPC Endpoint.
- Haga clic en Buy VPC Endpoint.
- Establezca los siguientes parámetros:
- Region: Seleccione la región en la que se encuentra la instancia de Kafka.
- Service Category: Seleccione Find a service by name.
- VPC Endpoint Service Name: introduzca el nombre del servicio de endpoint de VPC registrado en 8 y haga clic en Verify. Si se muestra Service name found, continúe con las operaciones posteriores.
- VPC: Seleccione la VPC en la que se encuentra la instancia de Kafka.
- Subnet: Seleccione la subred en la que se encuentra la instancia de Kafka.
- Private IP Address: Seleccione Automatic.
Conservar los valores predeterminados para otros parámetros. Para obtener más información, consulte Compra de una VPC endpoint.
Figura 6 Parámetros de endpoint de VPC
- Haga clic en Next.
- Confirme las configuraciones y envíe la solicitud.
- Vuelva a la lista de puntos de conexión de VPC y compruebe si el estado del punto de conexión de VPC creado ha cambiado a Accepted. El estado Accepted significa que el endpoint de la VPC se ha conectado al servicio de endpoint de la VPC.
Figura 7 Comprobación del estado del endpoint de la VPC
- Haga clic en el ID de punto de conexión de VPC. En la página de la ficha Summary, obtenga la dirección IP privada.
Puede utilizar la dirección IP privada para acceder al servicio de endpoint de VPC.
Figura 8 Consulta de la dirección IP privada
- Repita 1 a 7 para comprar un VPC endpoint para cada servicio de VPC endpoint creado en 9, y ver y registrar las direcciones IP privadas de los servicios de VPC endpoint.
Cambio de la dirección IP de admin.listeners
- Haga clic en y elija Application > Distributed Message Service (for Kafka) para abrir la consola de DMS for Kafka.
- Haga clic en la instancia de Kafka deseada para ver los detalles de la instancia.
- En la página de la ficha Basic Information, cambie el valor de advertised.listeners IP address para Cross-VPC Access a las direcciones IP privadas registradas en 7 y 8.
Cada dirección IP debe coincidir con el ID de puerto correspondiente. De lo contrario, la red se desconectará.
Verificación de la conectividad
Compruebe si los mensajes se pueden crear y recuperar haciendo referencia a Acceso a una instancia de Kafka sin SASL o Acceso a una instancia de Kafka con SASL.
Notas:
- La dirección para conectarse a una instancia de Kafka tiene el formato "advertised.listeners IP:9011". Por ejemplo, las direcciones para conectarse a la instancia de Kafka que se muestran en Figura 9 son 192.168.0.71:9011,192.168.0.11:9011,192.168.0.21:9011.
- Configure las reglas entrantes para el grupo de seguridad de la instancia de Kafka para permitir el acceso desde 198.19.128.0/17 a través del puerto 9011.
- Si se ha configurado una ACL de red para la subred de esta instancia, configure las reglas entrantes para la ACL de red para permitir el acceso desde 198.19.128.0/17 y desde la subred utilizada por el endpoint de VPC.