Acesso entre VPCs a uma instância do Kafka
Contexto
As VPCs são logicamente isoladas umas das outras. Se uma instância do Kafka e um cliente do Kafka estiverem em VPCs diferentes em uma região, eles não poderão se comunicar uns com os outros. Nesse caso, você pode usar um dos seguintes métodos para acessar uma instância do Kafka entre VPCs:
- Estabeleça uma conexão de emparelhamento de VPC para permitir que duas VPCs se comuniquem entre si. Para obter detalhes, consulte Conexão de emparelhamento de VPC.
- Crie uma conexão de nuvem e carregue as VPCs que precisam se comunicar umas com as outras para a conexão de nuvem. Para obter detalhes, consulte Comunicações de rede entre VPCs da mesma conta.
- Use o VPC Endpoint (VPCEP) para estabelecer uma conexão entre VPCs.
Cenário
A seguir, descrevemos como usar o VPCEP para implementar o acesso entre VPCs.
O VPCEP fornece dois tipos de recursos: serviços do ponto de extremidade da VPC e pontos de extremidade da VPC.
- Um serviço do ponto de extremidade da VPC pode ser uma instância do Kafka acessada usando pontos de extremidade da VPC.
- Um ponto de extremidade da VPC é um canal seguro e privado para conectar uma VPC a um serviço do ponto de extremidade da VPC.
Procedimento
Criar um serviço do ponto de extremidade da VPC
- Faça logon no console de gerenciamento.
- Clique em no canto superior esquerdo para selecionar uma região.
Selecione a região onde sua instância do Kafka está localizada.
- Clique em e escolha Middleware > Distributed Message Service (for Kafka) para abrir o console do DMS for Kafka.
- Clique na instância do Kafka desejada para exibir os detalhes da instância.
- Na seção Advanced Settings da página de guia Basic Information, obtenha os endereços IP e IDs de porta dos ouvintes da instância para Cross-VPC Access.
Figura 3 Ouvintes relacionados ao acesso entre VPCs endereços IP e IDs de porta correspondentes da instância do Kafka
- Na seção Network, na página de guia Basic Information, visualize a VPC à qual a instância do Kafka pertence.
Figura 4 Visualizar a VPC à qual a instância do Kafka pertence
- Clique na VPC para obter o ID da VPC no console da VPC.
Figura 5 Obter o ID da VPC
- Chame a API do VPC Endpoint para criar um serviço do ponto de extremidade de VPC. Para obter detalhes, consulte Criação de um serviço do ponto de extremidade de VPC.
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
Descrição do parâmetro:
- token: uma credencial de acesso emitida para um usuário do IAM para suportar sua identidade e permissões. Para obter detalhes sobre como obter um token, consulte Obtenção de um token de usuário.
- port_id: um dos IDs da porta obtidos em 5.
- vpc_id: o ID da VPC obtida em 7.
- endpoint: ponto de extremidade do VPCEP obtido em Regiões e pontos de extremidade. A região deve ser a mesma da instância de Kafka.
- project_id: ID do projeto obtido de Obtenção de um ID de projeto. A região deve ser a mesma da instância de Kafka.
Registre o valor de service_name na resposta. Esse parâmetro indica o nome do serviço do ponto de extremidade da VPC.
- Repita 8 para criar serviços do ponto de extremidade da VPC para outros IDs de porta obtidos em 5 e registre os nomes de serviço do ponto de extremidade da VPC.
(Opcional) Adição de um registro de lista branca
Se o cliente de Kafka e a instância de Kafka pertencerem a contas diferentes, adicione o ID da conta à qual o cliente de Kafka pertence à lista branca do serviço de ponto de extremidade. Para obter detalhes, consulte Adição de um registro de lista branca.
Comprar um ponto de extremidade da VPC
- Clique em no canto superior esquerdo do console de gerenciamento. Em seguida, escolha Network > VPC Endpoint.
- Clique em Buy VPC Endpoint.
- Defina os seguintes parâmetros:
- Region: selecione a região em que a instância de Kafka está.
- Service Category: selecione Find a service by name.
- VPC Endpoint Service Name: insira o nome do serviço de ponto de extremidade da VPC registrado em 8 e clique em Verify. Se o Service name found for exibido, prossiga com as operações subsequentes.
- VPC: selecione a VPC na qual o cliente de Kafka está.
- Subnet: selecione a sub-rede em que o cliente de Kafka está.
- Private IP Address: selecione Automatic.
Mantenha os valores padrão para outros parâmetros. Para obter detalhes, consulte Compra de um ponto de extremidade de VPC.
Figura 6 Parâmetros de ponto de extremidade da VPC
- Clique em Next.
- Confirme as configurações e envie a solicitação.
- Volte para a lista de pontos de extremidade da VPC e verifique se o status do ponto de extremidade da VPC criado mudou para Accepted. O estado Accepted significa que o ponto de extremidade da VPC foi conectado ao serviço do ponto de extremidade da VPC.
Figura 7 Verificar o status do ponto de extremidade da VPC
- Clique no ID do ponto de extremidade da VPC. Na página da guia Summary, obtenha o endereço IP privado.
Você pode usar o endereço IP privado para acessar o serviço do ponto de extremidade da VPC.
Figura 8 Visualizar o endereço IP privado
- Repita 1 a 7 para comprar um ponto de extremidade de VPC para cada serviço do ponto de extremidade VPC criado em 9, e visualize e registre os endereços IP privados dos serviços do ponto de extremidade de VPC.
Alterar o endereço IP de advertised.listeners
- Clique em e escolha Middleware > Distributed Message Service (for Kafka) para abrir o console do DMS for Kafka.
- Clique na instância do Kafka desejada para exibir os detalhes da instância.
- Na seção Advanced Settings da página da guia Basic Information, clique em Modify para Cross-VPC Access para alterar o valor do advertised.listeners IP address para os endereços IP privados registrados em 7 e 8. Clique em Save.
Cada endereço IP deve corresponder ao ID da porta correspondente. Caso contrário, a rede será desconectada.
Verificar a conectividade
Verifique se as mensagens podem ser criadas e recuperadas fazendo referência a Acesso de uma instância do Kafka sem SASL ou Acesso de uma instância do Kafka com SASL
Observações:
- O endereço para conexão a uma instância do Kafka está no formato "advertised.listeners IP:9011". Por exemplo, os endereços para conectar com a instância de Kafka mostrada em Figura 9 são 192.168.0.71:9011,192.168.0.11:9011,192.168.0.21:9011.
- Configure regras de entrada para o grupo de segurança da instância do Kafka para permitir o acesso de 198.19.128.0/17 pela porta 9011.
- Se uma lista de controle de acesso (ACL) de rede tiver sido configurada para a sub-rede dessa instância, configure regras de entrada para a ACL de rede para permitir o acesso a partir de 198.19.128.0/17 e da sub-rede usada pelo ponto de extremidade da VPC.
198.19.128.0/17 é o segmento de rede alocado ao serviço VPCEP. Para usar o VPCEP, permita o acesso desse segmento de rede.