Centralize a comunicação por meio de uma arquitetura VPC Transit Hub and Spoke - Parte dois
Este tutorial pode incorrer em custos. Use o Estimador de custos para gerar uma estimativa do custo baseada em seu uso projetado.
Um Virtual Private Cloud (VPC) fornece isolamento de rede e segurança no IBM Cloud. Uma VPC pode ser um bloco de construção que encapsula uma divisão corporativa (marketing, desenvolvimento, contabilidade, etc.) ou uma coleção de microsserviços pertencentes a uma equipe de DevSecOps. Os VPCs podem ser conectados a um empreendimento no local e um ao outro. Isso pode criar a necessidade de rotear o tráfego através de dispositivos de gateway de firewall centralizados. Este tutorial caminhará pela implementação de um hub e arquitetura falada retratada nesta visão de alto nível:
Esta é a parte dois de um tutorial de duas partes. Esta parte focará no roteamento de todo o tráfego entre VPCs através de um firewall de hub de trânsito-roteador. Um firewall escalável-roteador usando um Balancer de Carga de Rede é discutido e implementado. O DNS privado é usado para identificação de microsserviço e identificação de instância de serviço do IBM Cloud usando um gateway do Virtual Private Endpoint (VPE).
Este tutorial é independente, portanto não é necessário executar as etapas na parte um. Se você não estiver familiarado com VPC, layout de IP de rede e planejamento no IBM Cloud, Transit Gateway, IBM Cloud® Direct Link ou o roteamento assimétrico consideram a leitura através de parte um.
O hub e modelo falado suporta uma série de cenários diferentes:
- O hub pode ser o repositório para os micro serviços compartilhados utilizados por spokes e enterprise.
- O hub pode ser um ponto central de firewall de tráfego-roteador e roteamento entre empresa e a nuvem.
- O hub pode monitorar todos ou alguns do tráfego-falou <-> falou, falou <-> trânsito, ou falou <-> empresa.
- O hub pode segurar os recursos de VPN que são compartilhados pelos spokes.
- O hub pode ser o repositório para recursos de nuvem compartilhados, como bancos de dados, acessados por meio de gateways de terminal privado virtual(VPE) controlados com grupos de segurança de VPC e listas de controle de acesso de sub-rede, compartilhados por spokes e empresas
Há um companheiro GitHub repositório que divide a conectividade em um número de camadas incrementais. No tutorial as camadas finas permitem a introdução de desafios e soluções de tamanho de mordida.
Os seguintes serão explorados:
- Roteamento de entrada e saída de VPC.
- Funções de Rede Virtual em combinação com um Balancers de Carga de Rede para suportar uma alta disponibilidade e escalabilidade.
- gateways VPE.
- Resolução DNS.
Uma arquitetura em camadas introduzirá recursos e demonstrará conectividade. Cada camada adicionará conectividade e recursos adicionais. As camadas são implementadas em Terraforma. Será possível alterar parâmetros, como número de zonas, alterando uma variável Terraform. Uma abordagem em camadas permite que o tutorial apresente pequenos problemas e demonstre uma solução no contexto de uma arquitetura completa.
Objetivos
- Entenda os conceitos por trás de um hub baseado em VPC e falou modelo para gerenciamento de todo o tráfego VPC para VPC.
- Entenda o ingresso VPC e o roteamento de egressos.
- Identificar e resolver opcionalmente problemas de roteamento assimétrico.
- Entenda o uso de um Balanceador de Carga de Rede para um roteador de firewall altamente disponível e escalável.
- Utilize o roteamento de serviço DNS e as regras de encaminhamento para construção de um sistema de resolução de nomes de som arquitetônico.
Antes de Iniciar
Este tutorial requer:
terraformpara usar Infraestrutura como código para provisionar recursos,pythonpara executar opcionalmente os comandos pytest,- Implementar um firewall-roteador exigirá que você ative verificações de spoofing IP,
Veja os pré-requisitos para algumas opções incluindo um Dockerfile para criar facilmente o ambiente de pré-requisitos.
Além disso:
- Verifique as permissões do usuário. Tenha certeza de que sua conta de usuário tenha permissões suficientes para criar e gerenciar todos os recursos neste tutorial. Veja a lista de:
Resumo da Parte um
Em parte um deste tutorial planejamos cuidadosamente o espaço de endereço do trânsito e falamos VPCs. A arquitetura baseada na zona é mostrada abaixo:
Este diagrama mostra o fluxo de tráfego. Apenas a empresa <-> falou está passando pelo firewall:
Isso foi alcançado com Direct Link, Transit Gateway e roteamento VPC. Todas as zonas são configuradas similarmente e o diagrama abaixo mostra os detalhes da zona 1:
O CIDR 10.1.0.0/16 cobre o trânsito e os spokes e é passado por meio de Direct Link para a empresa como uma rota anunciada. Da mesma forma o CIDR 192.168.0.0/24 cobre a empresa e é passado através do Transit Gateway para os spokes como rota anunciada.
Rotas de egresso no tráfego de rotas de spokes para o roteador de firewall. Ingresso em rotas na empresa de rota de trânsito <-> falou o tráfego através do roteador de firewall.
Provisionar recursos de VPC iniciais roteirizando todo o tráfego intra VPC através do firewall-roteador
Muitas vezes uma empresa usa um VPC de trânsito para monitorar o tráfego com o roteador de firewall. Em parte uma única empresa <-> o tráfego falado estava fluindo através do firewall de trânsito-roteador. Esta seção trata-se de rotear todo o VPC para o tráfego VPC através de roteador de firewall.
Este diagrama mostra o fluxo de tráfego implementado nesta etapa:
Todo o tráfego entre VPCs fluirá através do firewall-roteador:
- empresa <-> falou.
- empresa <-> trânsito.
- trânsito <-> falou.
- falou <-> falou em VPC diferente.
O tráfego dentro de um VPC não fluirá através do firewall.
Se continuar a partir de parte uma faça nota especial da configuração no terraform.tfvars: all_firewall = true.
Aplicar Camadas
-
A companheira GitHub Repositório tem os arquivos de origem para implementar a arquitetura. Em um shell de desktop clone o repositório:
git clone https://github.com/IBM-Cloud/vpc-transit cd vpc-transit -
O diretório config_tf contém variáveis de configuração que você é necessário para configurar.
cp config_tf/template.terraform.tfvars config_tf/terraform.tfvars -
Edite config_tf/terraform.tfvars.
- Faça as alterações necessárias.
- Altere o valor
all_firwewall = true.
-
Se você ainda não tiver uma, obtenha uma chave de API da plataforma e exporte a chave de API para uso pelo Terraform:
export IBMCLOUD_API_KEY=YourAPIKEy -
Uma vez que é importante que cada camada esteja instalada na ordem correta e algumas etapas neste tutorial instalará várias camadas um comando shell ./apply.sh é fornecido. A seguir exibirá ajuda:
./apply.sh -
Você poderia aplicar todas as camadas configuradas executando
./apply.sh : :. Os colons são shorthand para primeiro (ou config_tf) e por último (vpe_dns_forwarding_rules_tf). O -p imprime as camadas:./apply.sh -p : : -
Aplique todas as camadas na parte um e descritas acima (mesmo se continuar a partir da parte um, use este comando para reaplicar as camadas iniciais com a mudança na configuração
all_firewall = true../apply.sh : spokes_egress_tf
Se você estava seguindo junto em parte uma algumas rotas de ingresso adicionais foram adicionadas à tabela de rota de ingresso de trânsito para evitar o roteamento através do roteador de firewall. Nesta etapa, eles foram removidos e a tabela de rotas de ingresso de trânsito tem apenas essas entradas para que todo o tráfego de entrada para uma zona seja roteado para o roteador de firewall na mesma zona Seus endereços de Próximo hop podem ser diferentes, mas serão o endereço IP da instância do roteador de firewall:
| Zona | Destino | Próximo salto |
|---|---|---|
| Dallas10.1.0.0/1610.1.15.196 | ||
| Dallas10.2.0.0/1610.2.15.196 | ||
| Dallas10.3.0.0/1610.3.15.196 |
Para observar isso:
- Abra os VPCs no IBM Cloud.
- Selecione o VPC de trânsito e observe os prefixos de Endereço exibidos.
- Clique em Manage routing tables (Gerenciar tabelas de roteamento)
- Clique na tabela de rotas de ingresso do gateway de trânsito tgw-ingress
Rota Falou e Trânsito para o roteador de firewall
O roteamento de todo o tráfego de nuvem originado nos raios por meio do roteador de firewall VPC de trânsito na mesma zona da instância de origem é realizado por essas rotas na tabela de roteamento de saída padrão do raio (mostrada para Dallas/us-south):
| Zona | Destino | Próximo salto |
|---|---|---|
| Dallas10.0.0.0/810.1.15.196 | ||
| Dallas10.0.0.0/810.2.15.196 | ||
| Dallas10.0.0.0/810.3.15.196 |
Da mesma forma, na VPC de trânsito, roteie todo o tráfego corporativo e em nuvem por meio do roteador de firewall na mesma zona da instância de origem. Por exemplo, uma instância de teste de trânsito 10.1.15.4 (zona de trânsito 1) tentando se conectar com 10.2.0.4 (spoke 0, zona 2) será enviada por meio do roteador de firewall na zona 1: 10.1.15.196.
Rotas na tabela de roteamento de saída padrão do trânsito (mostrada para Dallas/us-south):
| Zona | Destino | Próximo salto |
|---|---|---|
| Dallas10.0.0.0/810.1.15.196 | ||
| Dallas10.0.0.0/810.2.15.196 | ||
| Dallas10.0.0.0/810.3.15.196 | ||
| Dallas192.168.0.0/1610.1.15.196 | ||
| Dallas192.168.0.0/1610.2.15.196 | ||
| Dallas192.168.0.0/1610.3.15.196 |
Não rotear tráfego Intra VPC para o roteador de firewall
Neste exemplo o tráfego intra-VPC não passará pelo roteador de firewall. Por exemplo recursos no falado 0 podem se conectar a outros recursos no falado 0 diretamente. Para realizar essas rotas adicionais mais específicas podem ser adicionadas o tráfego interno do delegado. Por exemplo, no spoke 0, que possui os intervalos CIDR: 10.1.0.0/24, 10.2.0.0/24, 10.3.0.0/24 as rotas internas podem ser delegadas.
Rotas na tabela de roteamento de saída padrão do spoke 0 (mostrada para Dallas/us-south):
| Zona | Destino | Próximo salto |
|---|---|---|
| Dallas 1 | 10.1.0.0/24 | delegate |
| Dallas 1 | 10.2.0.0/24 | delegate |
| Dallas 1 | 10.3.0.0/24 | delegate |
| Dallas 2 | 10.1.0.0/24 | delegate |
| Dallas 2 | 10.2.0.0/24 | delegate |
| Dallas 2 | 10.3.0.0/24 | delegate |
| Dallas 3 | 10.1.0.0/24 | delegate |
| Dallas 3 | 10.2.0.0/24 | delegate |
| Dallas 3 | 10.3.0.0/24 | delegate |
Rotas semelhantes são adicionadas ao trânsito e outras spokes.
Sub-redes de firewall
E o próprio firewall-roteador? Isso não foi mencionado anteriormente mas em antecipação a essa mudança houve um roteador egress_delegado criado no VPC de trânsito que delega o roteamento para o padrão para todos os destinos. Ele é associado apenas às sub-redes de roteadores de firewall para que o roteador de firewall não seja efetuado pelas alterações na tabela de roteamento de egressos padrão utilizada pelas outras sub-redes. Confira as tabelas de roteamento para o VPC de trânsito para obter mais detalhes. Visite os VPCs no IBM Cloud console. Selecione a VPC de trânsito e, em seguida clique em Gerenciar tabelas de roteamento, clique na tabela de roteamento egresso-delegado, clique na guia Sub-redes e anote as sub-redes usadas para roteadores de firewall.
Aplicar e Teste Mais Firewall
-
Aplique a camada:
./apply.sh all_firewall_tf -
Execute a suíte de testes.
Seus resultados esperados são: o trânsito entre zonas <-> spoke e spoke <-> spoke será FAILED:
pytest -m "curl and lz1 and (rz1 or rz2)"
Roteamento da zona de correção
Como mencionado anteriormente para que um sistema seja resiliente através de falhas zonais é melhor eliminar o tráfego de cross zone. Se o suporte de zona cruzada for necessário rotas de egresso adicionais podem ser adicionadas. O problema para o tráfego de spoke 0 para spoke 1 é mostrado neste diagrama:
O caminho verde é um exemplo do roteamento do spoke 0 zona 2 10.2.0.4 para o spoke 1 zona 1 10.1.1.4. A rota de egresso correspondente é:
| Zona | Destino | Próximo salto |
|---|---|---|
| Dallas10.0.0.0/810.2.15.196 |
Movimentação esquerda para direita o roteador de firewall na zona do meio, zona 2, do diagrama é selecionado. Na zona de caminho de retorno 1 é selecionado.
Para fixar isso algumas rotas mais específicas precisam ser adicionadas para forçar as zonas de número superior a traçar para a zona inferior número de firewalls quando um destino de número de zona inferior é especificado. Quando referenciar uma zona numerada igual ou superior continuar a rotear para o firewall na mesma zona.
Rotas na tabela de roteamento de saída padrão de cada spoke (mostrada para Dallas/us-south):
| Zona | Destino | Próximo salto |
|---|---|---|
| Dallas10.1.0.0/1610.1.15.196 | ||
| Dallas10.1.0.0/1610.1.15.196 | ||
| Dallas10.2.0.0/1610.2.15.196 |
Essas rotas também vão corrigir um trânsito similar < --> falou problema de roteamento assimétrico de zona cruzada. Considere o trabalhador de trânsito 10.1.15.4-> trabalhador spoke 10.2.0.4. O tráfego do trabalhador de trânsito na zona 1 escolherá o roteador de firewall na zona 1 (mesma zona). Na viagem de retorno em vez de firewall-roteador na zona 2 (mesma zona) agora firewall-roteador na zona 1 será usado.
-
Aplique a camada all_firewall_asym:
./apply.sh all_firewall_asym_tf -
Execute a suíte de testes.
Seus resultados esperados são: todos os testes PASSADOS, execute-os em paralelo (-n 10):
pytest -n 10 -m curl
Todo o tráfego entre VPCs agora é roteado por meio dos roteadores de firewall.
High Performance High Availability (HA) Firewall-Router
Para evitar que um firewall-roteador se torne o bottleneck de desempenho ou um único ponto de falha é possível adicionar um balanceador de Carga da Rede VPC para distribuir o tráfego para os roteadores zonais-roteadores para criar um Highly Disponível, HA, roteador de firewall. Verifique sua documentação do roteador de firewall para verificá-lo suporta esta arquitetura.
Este diagrama mostra uma única zona com um Network Load Balancer (NLB) configurado no modo de rota à frente de dois roteadores de firewall. Para ver isso construído é necessário alterar a configuração e se candidar novamente.
-
Altere essas duas variáveis em config_tf/terraform.tfvars:
firewall_nlb = true number_of_firewalls_per_zone = 2Esta alteração resulta no endereço IP do firewall-roteador mudando da instância de roteador de firewall usada anteriormente para o endereço IP do NLB. A mudança de endereço IP precisa ser aplicada a uma série de rotas de tabela de rotas de VPC no trânsito e falou VPCs. É melhor aplicar todas as camadas aplicadas anteriormente:
-
Aplique todas as camadas através da camada all_firewall_asym_tf:
./apply.sh : all_firewall_asym_tf
Observe as alterações que foram feitas:
- Abra o Carregar balanceadores para VPC.
- Selecione o balanceador de carga na zona 1 (Dallas 1/us-south-1), que tem o sufixo fw-z1-s3.
- Observe os IPs Privados.
Compare os IPs Privados com aqueles na tabela de rotas de ingresso de VPC de trânsito:
- Abra o Virtual Private Clouds.
- Selecione o VPC de trânsito.
- Clique em Gerenciar tabelas de roteamento.
- Clique na tabela de roteamento tgw-ingress. Percebem o endereço IP Next hop corresponde a um dos NLB Private IPs
Verificar resiliência:
- Execute o falado 0 testes de zona 1:
pytest -k r-spoke0-z1 -m curl - Abra as instâncias do servidor virtual para VPC
- Pare o tráfego para a instância de firewall 0 especificando um grupo de segurança que não permitirá a porta de entrada 80. Localize a instância com o sufixo fw-z1-s3-0 e abra a visualização de detalhes:
- Role para baixo e acerte a edição do lápis ao lado da Interface de Rede
- Desmarque o x-fw-inall-outall
- Confira o x-fw-in22-outall
- Clique em Salvar
- Execute o pytest novamente. Ele indicará falhas. Levará alguns minutos para que o NLB pare de rotear o tráfego para a instância não responsiva, nesse ponto todos os testes serão aprovados. Continue esperando e executando pytest até que todos os testes passem.
O firewall NLB não é mais necessário. Remova o firewall NLB:
-
Altere essas duas variáveis em config_tf/terraform.tfvars:
firewall_nlb = false number_of_firewalls_per_zone = 1 -
Aplique todas as camadas através da camada all_firewall_asym_tf:
./apply.sh : all_firewall_asym_tf
Nota sobre NLB configurado no modo de roteamento
O modo de rota do NLB regravará entradas da tabela de rotas-sempre mantendo o endereço IP do dispositivo NLB ativo na tabela de rotas durante um failover. Mas isso é feito apenas para rotas no VPC de trânsito que contém o NLB O spoke possui rotas de egresso que foram inicializadas com um dos IPs do dispositivo NLB O próximo hop spoke não será atualizado no failover do dispositivo NLB!...
Será necessário manter uma rota de ingresso na VPC de trânsito que será regravada pelo NLB para refletir o dispositivo ativo.. A rota de saída spoke entregará pacotes para a zona correta da VPC de trânsito. O roteamento dentro da zona de VPC de trânsito localizará a regra de ingresso correspondente que conterá o dispositivo ativo
Abaixo está a tabela de rotas de ingresso da VPC de trânsito discutida anteriormente: O próximo hop será mantido atualizado com o dispositivo NLB ativo.. Observe que o Dallas 3 tem uma alteração gravada pelo serviço de modo de rota NLB para refletir o dispositivo ativo.
| Zona | Destino | Próximo salto |
|---|---|---|
| Dallas10.0.0.0/810.1.15.196 | ||
| Dallas10.0.0.0/810.2.15.196 | ||
| Dallas10.0.0.0/810.3.15.197 |
O NLB requer que uma autorização do IAM seja criada que permita que o NLB grave na VPC Essa autorização foi criada pelo script apply.sh. Consulte criando um balanceador de carga de rede com o modo de roteamento para obter mais detalhes sobre a configuração que foi executada pelo script
O conjunto NLB do modo de rota deve ser configurado com Tipo de persistência de sessão configurado como nulo.
DNS
O serviço IBM Cloud DNS Services é usado para converter nomes em endereços IP. Neste exemplo um serviço DNS é criado na nuvem. A zona de DNS do cloud.example.com é criada e a VPC de trânsito é incluída como uma rede permitida Registros
DNS para as instâncias de nuvem são incluídos no cloud.example.com. Por exemplo, é criado um registro A para o trabalhador spoke 0 na zona 1 que teria o nome completo spoke0-z1-worker.cloud.example.com.
Revise sobre o compartilhamento DNS para gateways VPE. A VPC de trânsito é ativada como um hub de DNS Cada VPC spoke é configurado com a ligação de resolução de DNS para o hub de VPC de trânsito Isso definirá as configurações do DHCP do VPC spoke para que os servidores DNS sejam os resolvedores customizados do VPC de trânsito
Recursos DNS
Aplique a camada dns_tf para criar a inclusão de uma zona de DNS de nuvem e um registro A para cada uma das instâncias de teste nas VPCs de VPC e spoke de trânsito Uma instância de DNS também é criada para a simulação corporativa
./apply.sh dns_tf
Inspecione o serviço DNS criado:
- Abra a Lista de Recursos no console IBM Cloud.
- Expanda a seção Networking e observe os DNS Services.
- Localize e clique para abrir a instância com o sufixo transit.
- Clique na zona DNS cloud.example.com. Observe os registros A associados a cada instância de teste no trânsito e raios.
- Clique na guia Resolvedor Customizado à esquerda e observe que um resolvedor reside em cada uma das zonas
- Clique na guia Regras de forragem e observe as regras de encaminhamento. Observe que o
enterprise.example.comé encaminhado para os resolvedores no local
Inspecione as VPCs de trânsito e spoke e observe a configuração do DNS:
- Abra as VPCs
- Observe que o VPC de trânsito tem o indicador
DNS-Hubconfigurado. - Observe que cada VPC spoke tem o indicador
DNS-Sharedconfigurado. - Clique em uma das VPCs faladas
- Role para baixo até Configurações opcionais de DNS
- Abra a janela Configurações do resolvedor de DNS e observe que o tipo de resolvedor de DNS é
delegatede os servidores do resolvedor de DNS estão no VPC de trânsito 10.1.15.x, 10.2.15.y, 10.2.15.z - Abra a ligação de resolução DNS e observe que a VPC do hub DNS está configurada para a VPC de trânsito.
Teste De DNS
Há um conjunto de testes curl DNS que estão disponíveis no script pytest. Esses testes se cursarão usando o nome DNS do remoto. Há bastante poucos so executar os testes em paralelo:
pytest -n 10 -m dns
gateways de terminal privado virtual
O VPC permite o acesso privado aos Serviços IBM Cloud através do Virtual Private Endpoint (VPE) for VPC. Os gateways VPE permitem o controle de acesso à rede de baixa granularidade por meio de controles padrão do IBM Cloud VPC:
Uma zona de DNS é criada para cada gateway VPC VPE. A zona DNS é incluída automaticamente no serviço DNS privado associado ao VPC. Cada VPC spoke tem uma configuração de DNS do bound para o VPC de trânsito Isso permite que a zona
de DNS do VPE spoke seja compartilhada com o VPC de trânsito
-
Crie uma instância do IBM Cloud Databases for PostgreSQL e VPEs para o trânsito e cada uma das VPCs spoke, aplicando as camadas vpe_transit_tf e vpe_porta_tf:
./apply.sh vpe_transit_tf vpe_spokes_tf -
Há um conjunto de testes vpe e vpedns que estão disponíveis no script pytest. O teste vpedns verificará se o nome DNS de uma instância do Databases for PostgreSQL está dentro do bloco CIDR privado da VPC de fechamento. O teste vpe executará um comando psql para acessar a instância Databases for PostgreSQL remotamente. Teste vpe e vpedns da fala 0 zona 1:
- Resultados esperados todos os testes aprovados
pytest -m 'vpe or vpedns' -k spoke0-z1
Todos os testes neste tutorial agora devem ser aprovados Há muito poucos. Execute-os em paralelo:
pytest -n 10
Notas de Produção e Conclusões
A arquitetura de referência do VPC para o IBM Cloud para Serviços Financeiros tem muito mais detalhes em garantir cargas de trabalho no IBM Cloud.
Algumas mudanças óbvias para fazer:
- Os blocos CIDR foram escolhidos para clareza e facilidade de explicação. As Zonas de Disponibilidade na Região da Zona Multi poderiam ser 10.1.0.0/10, 10.64.0.0/10, 10.128.0.0/10 para conservar o espaço de endereço. Da mesma forma o espaço de endereço para nós do Trabalhador poderá ser expandido à custa do espaço de firewall, DNS e VPE.
- Os Grupos de Segurança para cada uma das interfaces de rede para VSIs do trabalhador, Gateways de Terminal Privado Virtual, Locais DNS e firewalls devem ser cuidadosamente considerados.
- Listas De Controle De Acesso À Rede para cada sub-rede devem ser cuidadosamente consideradas.
- Os IPs flutuantes foram anexados a todas as instâncias de teste para suportar testes de conectividade via SSH. Isso não é necessário ou desejável na produção.
- Implementar restrições baseadas em contexto regras para controlar ainda mais o acesso a todos os recursos.
Neste tutorial você criou um VPC de hub e um conjunto de VPCs falados. Você roteou todo o tráfego de VPC cruzado através de um firewall VPC de trânsito-roteador. Um serviço DNS foi criado para o hub de VPC de trânsito e cada VPC spoke foi ligado pelo DNS ao VPC de trânsito.
Remover recursos
Execute terraform destroy em todos os diretórios em ordem inversa usando o comando ./apply.sh :
./apply.sh -d : :
Expandir o tutorial
Sua arquitetura pode não ser a mesma que a apresentada, mas provavelmente será construída a partir dos componentes fundamentais discutidos aqui. Ideias para expandir este tutorial:
- Integre o acesso à Internet pública recebida usando IBM Cloud® Internet Services.
- Adicionar Flow Logs for VPC capturar no trânsito.
- Coloque cada um dos spokes em uma conta separada em uma empresa.
- Force alguns dos falaram ao tráfego falado por meio do firewall e alguns não através do firewall.
- Substitua o VSIs do trabalhador por Red Hat OpenShift on IBM Cloud e balanceador de carga VPC.
- Force todo o tráfego ligado através do firewall no VPC de trânsito e através de gateways públicos.