Implementar cargas de trabalho isoladas em múltiplos locais e zonas

Este tutorial pode incorrer em custos. Use o Estimador de custos para gerar uma estimativa do custo baseada em seu uso projetado.

Este tutorial apresenta a você as etapas para configuração de cargas de trabalho altamente disponíveis e isoladas ao fornecer IBM Cloud® Virtual Private Clouds (VPCs). Você criará instâncias de servidor virtual (VSIs) em diversas zonas dentro de uma região para garantir a alta disponibilidade do aplicativo. Você criará VSIs adicionais em uma segunda região e configurará um balanceador de carga global (GLB) para oferecer alta disponibilidade entre regiões e reduzir a latência da rede para usuários em diferentes regiões geográficas.

Você fornecerá um serviço do IBM Cloud Internet Services (CIS) como o GLB do catálogo, e um serviço do IBM Cloud Secrets Manager por meio do catálogo para gerenciar o certificado Transport Layer Security (TLS) para todas as solicitações HTTPS recebidas.

Objetivos

  • Entender o isolamento de cargas de trabalho por meio de objetos de infraestrutura disponíveis para nuvens particulares virtuais.
  • Usar um balanceador de carga entre as zonas dentro de uma região para distribuir o tráfego entre os servidores virtuais.
  • Use um balanceador de carga global entre as regiões para implementar a alta disponibilidade, aumentar a resiliência e reduzir a latência.

Arquitetura*Diagrama de
do

  1. O administrador (DevOps) provisiona VSIs em sub-redes em duas zonas diferentes em uma VPC na região 1 e repete o mesmo em um VPC criado na região 2.
  2. O administrador cria um balanceador de carga com um conjunto de back-end de servidores em diferentes zonas da região 1 e um listener de front-end. Repete-se o mesmo na região 2.
  3. O administrador provisiona uma instância do IBM Cloud Internet Services com um domínio customizado associado e cria um balanceador de carga global apontando para os balanceadores de carga criados em dois VPCs diferentes.
  4. O administrador ativa a criptografia de HTTPS, incluindo o certificado SSL de domínio no serviço do Secrets Manager.
  5. O usuário faz uma solicitação HTTP/HTTPS e o balanceador de carga global a manipula.
  6. A solicitação é encaminhada para os balanceadores de carga tanto no nível global quanto no local. A solicitação é, então, preenchida pela instância do servidor disponível.

Antes de Iniciar

  • Verifique as permissões do usuário. Certifique-se de que sua conta do usuário tenha permissões suficientes para criar e gerenciar recursos VPC. Consulte a lista de permissões necessárias para a VPC.
  • Você precisa de uma chave SSH para se conectar aos servidores virtuais. Se você não tiver uma chave SSH, consulte as instruções para criar uma chave para a VPC.

Criar nuvens privadas virtuais, sub-redes e instâncias do servidor virtual

Nesta seção, você criará sua própria VPC na região 1 com sub-redes criadas em duas zonas diferentes da região 1, seguido pelo fornecimento de VSIs.

Criar uma nuvem privada virtual

  1. Navegue até a página Virtual private clouds(Nuvens privadas virtuais ) e clique em Create (Criar).
  2. Na seção Local, selecione Geografia e Região, por exemplo Europe e London.
  3. Digite vpc-region1 para o nome de sua VPC, selecione um grupo de recursos e, opcionalmente, adicione tags para organizar seus recursos.
  4. Desmarque Permitir SSH e Permitir ping no Grupo de segurança padrão. O acesso SSH será posteriormente incluído em um grupo de segurança de manutenção. O grupo de segurança de manutenção é incluído em uma instância para permitir o acesso SSH por meio de um servidor bastion. O acesso ao ping não é necessário para este tutorial.
  5. Deixe Ativar acesso a recursos clássicos desmarcado e Criar um prefixo padrão para cada zona verificado.
  6. Em Sub-redes, mude o nome da sub-rede da Zona 1. Clique no ícone do lápis:
    • Insira vpc-region1-zone1-subnet como o nome exclusivo de sua sub-rede.
    • Selecione o mesmo Grupo de recursos como o grupo de recursos do VPC.
    • Deixe os padrões nos outros valores.
    • Clique em Salvar
  7. Em Sub-redes, mude o nome da sub-rede da Zona 2. Clique no ícone do lápis:
    • Insira vpc-region1-zone2-subnet como o nome exclusivo de sua sub-rede.
    • Selecione o mesmo Grupo de recursos como o grupo de recursos do VPC.
    • Deixe os padrões nos outros valores.
    • Clique em Salvar
  8. Em Sub-redes, exclua a sub-rede na Zona 3. Clique no ícone de menos.
  9. Clique em Criar nuvem particular virtual para provisionar a instância.

Crie um grupo de segurança para permitir o tráfego de entrada para o seu aplicativo

Ative as regras de entrada para as portas HTTP (80) e HTTPS (443) para o aplicativo definindo regras em um grupo de segurança. Em etapas posteriores, você incluirá VSIs no grupo de segurança.

  1. Navegue para a página Grupos de segurança e clique em Criar..

  2. Insira vpc-region1-sg para o nome, selecione o mesmo Grupo de recursos que o grupo de recursos do VPC,

  3. Selecione a nuvem particular virtual vpc-region1 criada anteriormente.

  4. Inclua as mesmas Regras de entrada localizadas na tabela abaixo e, em seguida, clique em Criar grupo de segurança.

    Regras de entrada
    Protocolo Tipo de origem Origem Valor
    TCP Qualquer 0.0.0.0/0 Portas 80-80
    TCP Qualquer 0.0.0.0/0 Portas 443-443

Provisionar instâncias de servidor virtual

  1. Navegue para a página Sub-redes
  2. Verifique se o status de todas as sub-redes é Disponível
  3. Clique em vpc-region1-zone1-subnet, seguido de Attached resources (Recursos anexados) e, em Attached instances (Instâncias anexadas ), clique em Create (Criar).
    1. Insira vpc-region1-zone1-vsi como o nome exclusivo do seu servidor virtual.
    2. Verifique ou configure os campos Nuvem privada virtual, Grupo de recursos, Local e Zona.
  4. Na seção Imagem e perfil, clique em Mudar imagem
  5. No campo Procurar itens, digite Ubuntu e selecione qualquer versão da imagem e clique em Salvar..
  6. Na seção Perfil, Clique em Alterar Perfil.
  7. Selecione Calcular com 2 vCPUs e 4 GB RAM como seu perfil, e clique em Salvar
  8. Configure Chaves SSH para a chave SSH criada anteriormente.
  9. Em Conexões de rede com interface de rede virtual, clique no ícone de lápis na linha da interface eth0.
    • Clique em Avançar.
    • Marque vpc-region1-sg e desmarque o grupo de segurança Padrão do VPC
    • Clique em Avançar algumas vezes e, em seguida, em Salvar
  10. Clique em Criar servidor virtual.
  11. Repita as etapas acima para provisionar um servidor virtual vpc-region1-zone2-vsi na sub-rede vpc-region1-zone2-subnet.

Criar recursos em outro local

Repita as etapas acima da Etapa 1 para provisionar um novo VPC com sub-redes e instâncias de servidor virtual em outra região, por exemplo, Frankfurt. Siga as mesmas convenções de nomenclatura acima, substituindo region2 por region1.

Instalar e configurar o servidor da web nas instâncias do servidor virtual

Siga as etapas mencionadas em Acessar instâncias remotas de maneira segura com um host bastion para manutenção assegurada dos servidores. Use um host bastion que atua como um servidor jump e um grupo de segurança de manutenção para as VSIs previamente provisionadas. Um host bastião em cada VPC é necessário.

Uma vez que você efetuou SS com sucesso no servidor provisionado na sub-rede da zona 1 da região 1,

  1. No prompt, execute os comandos abaixo para instalar o Nginx como seu servidor da web
    sudo apt-get update
    sudo apt-get install nginx
    
  2. Verifique o status do serviço Nginx com o comando a seguir:
    sudo systemctl status nginx
    
    A saída deve mostrar a você que o serviço Nginx está ativo e em execução.
  3. Opcionalmente, verifique se Nginx funciona como esperado. curl localhost. Você deverá ver a página de boas-vindas padrão do Nginx.
  4. Para atualizar a página html com os detalhes da região e zona, execute o comando a seguir
    nano /var/www/html/index.nginx-debian.html
    
    Anexe a região e a zona à h1 citação de tag Welcome to nginx! para agora ler Welcome to nginx! server running in **zone 1 of region 1** e salvar as alterações
  5. Verifique as mudanças executando um comando curl localhost..
  6. Repita as etapas acima para instalar e configurar o servidor Web nos VSIs em sub-redes de todas as zonas e não se esqueça de atualizar o html para incluir as respectivas informações de região e zona.

Distribuir tráfego entre zonas com balanceadores de carga

Nesta seção, você criará dois balanceadores de carga. Um em cada região para distribuir o tráfego entre múltiplas instâncias do servidor sob as respectivas sub-redes dentro de zonas diferentes.

Criar um grupo de segurança para permitir o tráfego de entrada e saída por meio dos balanceadores de carga

Para permitir o tráfego para o aplicativo, é necessário ativar as regras de entrada e saída para portas HTTP (80) e HTTPS (443). Em etapas posteriores, ao criar balanceadores de carga, você os adicionará ao grupo de segurança definindo essas regras.

  1. Navegue para a página Grupos de segurança e clique em Criar..

  2. Selecione a nuvem particular virtual vpc-region1 criada anteriormente.

  3. Insira vpc-lb-sg para o nome, selecione o mesmo Grupo de recursos que o grupo de recursos do VPC,

  4. Inclua as mesmas Regras de entrada localizadas na tabela abaixo.

    Regras de entrada
    Protocolo Tipo de origem Origem Valor
    TCP Qualquer 0.0.0.0/0 Portas 80-80
    TCP Qualquer 0.0.0.0/0 Portas 443-443
  5. Inclua as mesmas Regras de saída localizadas na tabela abaixo e, em seguida, clique em Criar grupo de segurança.

    Regras de saída
    Protocolo Tipo de origem Origem Valor
    TCP Qualquer 0.0.0.0/0 Portas 80-80
    TCP Qualquer 0.0.0.0/0 Portas 443-443
  6. Repita as etapas acima na região 2.

Configurar balanceadores de carga

  1. Navegue para a página Balanceadores de carga e clique em Criar
  2. Selecione Application Load Balancer (ALB) como o tipo de balanceador de carga.
  3. Na seção Local, selecione a mesma Geografia e Região que você usou para a nuvem privada virtual vpc-region1 criada anteriormente.
  4. Insira vpc-lb-region1 para o nome, selecione o mesmo Grupo de recursos que o grupo de recursos do VPC,
  5. Selecione a nuvem particular virtual vpc-region1 criada anteriormente.
  6. Selecione as sub-redes de vpc-region1-zone1-subnet e vpc-region1-zone2-subnet.
  7. Clique em Criar conjunto para criar um novo conjunto de back-end de VSIs que atua como pares iguais para compartilhar o tráfego encaminhado para o conjunto. Defina os parâmetros com os valores abaixo e clique em Create quando terminar.
    • Nome: region1-pool
    • Protocolo: HTTP
    • Permanência de sessão: None
    • Protocolo de proxy: Disabled
    • Método: Round robin
    • Caminho de verificação de funcionamento: /
    • Protocolo de funcionamento: HTTP
    • Health port: Deixe em branco
    • Intervalo (segundos): 15
    • Tempo limite (segundos): 5
    • Máximo de novas tentativas: 2
    • Clique em Criar.
  8. Clique em Conectar servidor para incluir instâncias do servidor no conjunto.
    • Na lista suspensa Sub-redes, selecione vpc-region1-zone1-subnet e vpc-region1-zone2-subnet.
    • Selecione as instâncias que você criou e defina 80 como a porta.
    • Clique em Anexar para concluir a criação de um conjunto de back-end.
  9. Clique em Criar listener para criar um novo listener de front-end; O listener é um processo que verifica as solicitações de conexão.
    • Conjunto de back-end: region1-pool
    • Protocolo: HTTP
    • Protocolo de proxy: não verificado
    • Porta: 80
    • Máximo de conexões: deixe vazio e clique em Criar.
  10. Em Grupos de Segurança, marque vpc-lb-sg e desmarque o grupo de segurança padrão
  11. Clique em Create load balancer (Criar balanceador de carga) para provisionar o balanceador de carga.
  12. Repita as etapas acima na região 2, desta vez nomeando o balanceador de carga vpc-lb-region2 e o conjunto de back-end region2-pool.

Testar os balanceadores de carga

  1. Aguarde até que o status do balanceador de carga mude para Ativo.
  2. Abra o Nome do host em um navegador da web.
  3. Atualize a página várias vezes e observe que o balanceador de carga retorna resultados de diferentes zonas ou instâncias de servidores virtuais a cada atualização.
  4. Salve o endereço para referência futura.

Você pode ter notado que as solicitações não são criptografados e suportam apenas HTTP. Você configurará um certificado SSL e ativará o HTTPS na próxima seção.

Configurar o balanceamento de carga multilocal

Seu aplicativo agora está sendo executado em duas regiões, mas falta um componente para que os usuários o acessem de forma transparente a partir de um único ponto de entrada.

Nesta seção, você configurará o IBM Cloud Internet Services (CIS) para distribuir a carga entre as duas regiões. O CIS fornece Balanceador de carga global (GLB), Armazenamento em cache, Firewall do aplicativo da web (WAF) e Regra da página para proteger seus aplicativos enquanto assegura a confiabilidade e o desempenho de seus aplicativos em nuvem.

Para configurar um balanceador de carga global, você precisará:

  • apontar um domínio customizado para servidores de nomes do CIS,
  • recuperar os endereços IP ou nomes de host dos balanceadores de carga da VPC,
  • configurar verificações de funcionamento para validar a disponibilidade de seu aplicativo e
  • definir conjuntos de origem apontando para os balanceadores de carga da VPC.

Incluir um domínio customizado em IBM Cloud Internet Services

A primeira etapa é criar uma instância do CIS e apontar seu domínio customizado para servidores de nomes do CIS.

  1. Se você não possui um domínio, pode comprar um de um registrador.

  2. Navegue para IBM Cloud Internet Services no catálogo do IBM Cloud.

  3. Selecione um plano, configure o nome do serviço e o grupo de recursos e clique em Criar para criar uma instância de serviço

  4. Quando a instância de serviço for provisionada, clique em Incluir domínio.

  5. Insira seu nome de domínio e clique em Avançar.

  6. A configuração de seus registros DNS é uma etapa opcional e pode ser ignorada neste tutorial. Clique em Avançar.

  7. Quando os servidores de nomes forem designados, configure seu registrador ou provedor de nome de domínio para usar os servidores de nomes listados.

  8. Neste ponto você pode clicar em Cancelar para voltar à página principal, depois de ter configurado o seu escrivão ou o provedor de DNS, poderão ser necessárias até 24 horas para que as mudanças entrem em vigor.

    Quando o status do domínio na página Visão geral muda de Pendente para Ativo, é possível usar o comando dig <your_domain_name> ns para verificar se os novos servidores de nome entraram em vigor.

Configurar a verificação de funcionamento para o Global Load Balancer

Uma verificação de funcionamento ajuda a ganhar insight sobre a disponibilidade de conjuntos para que o tráfego possa ser roteado para os operantes. Essas verificações enviam periodicamente solicitações HTTP/HTTPS e monitoram as respostas.

  1. No painel do IBM Cloud Internet Services, navegue até Confiabilidade > Balanceadores de carga global.

  2. Selecione verificações de funcionamento e clique em Criar.

  3. Defina Name como nginx.

  4. Selecione HTTP para Tipo de Monitor.

  5. Defina a porta como 80.

  6. Defina o caminho como /.

  7. Clique em Criar.

    Ao criar seus próprios aplicativos, você pode definir um ponto de extremidade de integridade dedicado, como /health, no qual você informaria o estado do aplicativo.

Definir conjuntos de origem

Um pool é um grupo de VSIs de origem ou balanceadores de carga para os quais o tráfego é roteado de forma inteligente quando conectado a um balanceador de carga global. Com balanceadores de carga de VPC em duas regiões, é possível definir os conjuntos baseados na localização e configurar o CIS para redirecionar os usuários para o balanceador de carga de VPC mais próximo com base na localização geográfica das solicitações do usuário.

Conjunto de origem para o balanceador de carga VPC

  1. Selecione Conjuntos de origem e clique em Criar.
  2. Insira um nome para o conjunto: region-1-pool.
  3. Configure Nome da origem para region-1.
  4. Configure Endereço de origem para o nome do host do balanceador de carga do VPC da region1; consulte a página Visão geral do balanceador de carga do VPC.
  5. Selecione um Verificação de funcionamento existente e selecione a verificação de funcionamento criada anteriormente.
  6. Selecione uma Região de verificação de funcionamento ao lado da região do local 1.
  7. Clique em Salvar.
  8. Repita as etapas acima para a região 2.

Criar o balanceador de carga global

Com os conjuntos de origem definidos, é possível concluir a configuração do balanceador de carga.

  1. Selecione Carregar balanceadores e clique em Criar.

  2. Mantenha os padrões de Ativar: On e Proxy: Off.

  3. Digite o nome do balanceador de carga global, lb, esse nome será os caracteres iniciais do subdomínio para acessar o aplicativo.http://lb``<your_domain_name>).

  4. Clique em Incluir rota.

  5. Selecione a Região: Default.

  6. Selecione os pools de origem que você acabou de criar, ou seja, region-1-pool e region-2-pool.

  7. Clique em Incluir.

  8. Expanda a seção de Rotas geográficas para distribuir o tráfego com base na região de origem.

    É possível incluir mais rotas se desejar com base em geografias e tráfego direto para o conjunto mais próximo. Clique em Add route (Adicionar rota), selecione uma região de balanceador de carga global, por exemplo, Europa Ocidental, e selecione o pool desejado, por exemplo, region-2-pool, e clique em Add (Adicionar). Se uma solicitação não corresponder a nenhuma das rotas definidas, ela será redirecionada para os pools de origem padrão; os usuários na região do balanceador de carga global que você definiu serão direcionados para os balanceadores de carga/VSIs mais próximos.

  9. Clique em Criar.

Proteger com HTTPS

A criptografia HTTPS exige que os certificados assinados estejam acessíveis tanto no balanceador de carga global CIS quanto nos balanceadores de carga VPC. O IBM Cloud Secrets Manager será usado para solicitar ou importar e, em seguida, gerenciar o certificado para o seu domínio. A autorização do gerenciamento de acesso e de identidade (IAM) é então configurada para permitir o acesso de leitura ao certificado por meio do serviço desejado.

Crie e autorize uma instância do Secrets Manager

  1. Se você tiver uma instância do Secrets Manager existente, poderá usá-la para este tutorial ou criar uma nova se necessário seguindo as etapas destacadas em Criando uma instância de serviço do Secrets Manager.

  2. Crie uma autorização que dê ao serviço de balanceador de carga VPC acesso à instância do Secrets Manager que contém o certificado SSL.

    • Navegue até Autorizações de identidade e de acesso.
    • Clique em Criar e selecione Serviços de infraestrutura do VPC como o serviço de origem.
    • Selecione Recursos específicos, Tipo de recurso e, em seguida, Load Balancer for VPC.
    • Secrets Manager como o serviço de destino.
    • Designe a função de acesso de serviço Gravador.
    • A instância do serviço de destino pode ser Todos os recursos ou pode ser sua instância específica Secrets Manager, se desejar. O Todos os recursos selecionado por enquanto.
    • Clique em Autorizar.
  3. Continuando na página Gerenciar autorizações, crie uma autorização que dê ao Secrets Manager acesso ao CIS:

    • Clique em Criar e escolha Secrets Manager como o serviço de origem.
    • Escolha Todos os recursos ou apenas o Secrets Manager criado anteriormente.
    • Serviços de Internet como o serviço de destino.
    • Escolha Todos os recursos ou apenas o CIS criado anteriormente.
    • Designe a função de acesso ao serviço Gerente.
    • Clique em Autorizar.

    Se sua instância do CIS suportar vários domínios, também será possível atribuir a função de Leitor à instância do CIS e Gerenciador ao domínio específico que você está usando para a sua solução. Veja o tópico Concedendo acesso de serviço a domínios específicos.

O IBM CIS suporta proxy para balanceadores de carga globais. Quando um balanceador de carga está em proxy, significa que o seu tráfego é executado diretamente por meio de CIS. Os balanceadores de carga suportam ambos os modos, proxy HTTP e somente DNS; considere qual das alternativas abaixo melhor corresponde ao seu caso de uso antes de prosseguir, pois o comportamento de roteamento de tráfego difere da seguinte forma:

  • Alternativa 1: Tráfego com proxy flui por meio de CIS.
  • Alternativa 2: Tráfego sem proxy (modo apenas DNS) flui diretamente do cliente para a origem. No modo somente DNS, nenhum dos recursos de segurança, desempenho e confiabilidade CIS é aplicado.

Fluxo de tráfego
Fluxo de tráfego

Para obter mais informações, leia o tópico Registros DNS com proxy e balanceadores de carga globais.

Alternativa 1: Proxy, o tráfego flui por meio do CIS

Essa primeira alternativa cria um certificado curinga para o domínio personalizado e, em seguida, faz o proxy no IBM Cloud Internet ServicesCIS), permitindo que você aproveite os recursos de segurança, proteção e desempenho líderes do setor. Substitua example.com pelo nome de domínio customizado nas etapas abaixo.

Atualmente, a solicitação de certificados é feita por meio do uso de Let's Encrypt; você pode seguir o tópico Autoridades de certificação suportadas para atualizações. O uso de Let's Encrypt requer uma conta ACME. Siga as etapas destacadas no tópico Conectando autoridades de certificação de terceiros para criar ou registrar sua conta. Além disso, você é obrigado a incluir um provedor DNS seguindo as etapas do tópico Conectando provedoresDNS. Para este tutorial, deve-se incluir o CIS como seu provedor DNS.

Inicialmente o HTTPS é configurado do usuário para o Secrets Manager apenas.

  1. Solicite um certificado em Secrets Manager
    • Abra o serviço Secrets Manager e selecione Segredos à esquerda.
    • Clique em Incluir.
    • Se estiver usando uma nova instância do Secrets Manager, será necessário configurá-la antes de pedir seu certificado. Siga as etapas descritas em Preparando para pedir certificados públicos.
    • Clique em Certificado público e, em seguida, em Avançar.
    • Preencha o formulário:
      • Nome - digite um nome que você pode lembrar.
      • Descrição - digite uma descrição de sua escolha.
      • Clique em Avançar.
      • Em Autoridade de certificação, selecione o seu mecanismo de autoridade de certificação Let's Encrypt configurado.
      • Em Algoritmo de chave, escolha o seu algoritmo preferencial,
      • Certificados de pacote configurável -deixe desativado
      • Rotação automática de certificado - deixe desativado
      • Em Provedor DNS selecione sua instância de provedor DNS configurada
      • Clique em Selecionar domínios, marque Selecionar com curinga e deixe o próprio domínio desmarcado e clique em Pronto.
    • Clique em Avançar.
    • Revise suas seleções e clique em Incluir.
    • Não é necessário esperar que a ativação seja concluída para executar a próxima etapa, mas é necessário esperar que ela seja concluída antes de verificar o sucesso
  2. Configure https por meio dos navegadores da web do cliente para o terminal do CIS. Em CIS configure o TLS Security:
    • Abra o painel Segurança e escolha TLS.
    • Para o Modo, escolha Cliente para borda. Isso finalizará as conexões HTTPS no balanceador de carga global e alternará para as conexões HTTP para o balanceador de carga VPC.
  3. No CIS configure o Global Load Balancer para usar o TLS:
    • Abra o painel Confiabilidade e escolha Balançadores de carga global.
    • Localize o balanceador de carga global criado anteriormente e ative o Proxy.
  4. Em um navegador, abra https://lb.example.com para verificar o sucesso.

Em seguida, configure HTTPS no CIS para o balanceador de carga de VPC.

Inclua um listener HTTPS nos balanceadores de carga VPC:

  1. Navegue até VPC e, então, Balanceadores de carga e clique em vpc-lb-region1.

  2. Escolha Listeners de front-end.

  3. Clique em Criar listener.

  4. Selecione o Conjunto de back-end padrão: region1-pool ou region2-pool.

  5. Selecione HTTPS e digite um valor de 443 para a porta.

  6. Selecione a instância do Secrets Manager criada anteriormente, o menu suspenso Certificado SSL deverá mostrar o nome do Certificado que você solicitou usando sua instância do Secrets Manager anterior por meio do Let's Encrypt. Clique em Criar.

    Se o menu suspenso do certificado SSL não tiver example.com, você pode ter perdido a etapa de autorização acima, que dá ao balanceador de carga VPC acesso ao serviço Secrets Manager. Verifique se o serviço Secrets Manager tem um certificado para example.com.

  7. Repita as etapas acima para o balanceador de carga vpc-lb-region2.

O certificado curinga criado permitirá o acesso ao nome de domínio como vpc-lb-region1 .example.com. Abra a guia Visão geral do balanceador de carga VPC vpc-lb-region1 e observe que o Nome do host é xxxxxxx-REGION.lb.appdomain.cloud. O certificado curinga não funcionará. Corrija esse problema criando um alias e, em seguida, atualize a configuração.

  1. Um registro DNS CNAME pode ser criado para permitir que os clientes procurem vpc-lb-region1 .example.com e resolvam xxxxxxx-REGION.lb.appdomain.cloud.

    • No CIS, abra o painel Confiabilidade e escolha DNS.
    • Role até Registros DNS e crie um registro do Tipo: CNOME, Nome: vpc-lb-region1, TTL: Automático e Nome de domínio do alias: Nome do host do balanceador de carga VPC.
    • Inclua um registro CNAME de DNS para vpc-lb-region2.
  2. Agora ajuste o balanceador de carga global para usar os novos registros CNAME.

    • Abra o painel Confiabilidade e escolha Balançadores de carga global.
    • Localize e edite o Piscinas de origem para alterar o Origens Endereço de origem para vpc-lb-region1.example.com.
    • Repita as etapas acima para vpc-lb-region2.example.com.
  3. Ative a segurança de ponta a ponta.

    • Abra o painel Segurança e escolha TLS.
    • Para o Modo, escolha CA de ponta a ponta assinada. Isso usará conexões HTTPS no balanceador de carga global e conexões HTTPS para o balanceador de carga da VPC.

Em um navegador, abra https://lb.example.com para verificar o sucesso

Alternativa 2: Modo apenas DNS, fluxos de tráfego diretamente do cliente para os Balanceadores de carga do VPC

Nesta alternativa, você solicitará um certificado SSL para lb.example.com via Let's Encrypt por meio do Secrets Manager e configurará o balanceador de carga global.

Atualmente, não é possível pedir um certificado diretamente para um Balanceador de carga global do CIS, mas é possível pedir um para um registro CNAME. Assim, criaremos um CNAME para ordenar o certificado.

  1. Abra o serviço do CIS que você criou mais cedo. É possível localizá-lo na Lista de recursos

  2. Navegue até Balanceadores de carga global em Confiabilidade e clique em DNS.

  3. Role para a seção Registros de DNS e crie um novo registro:

    • Tipo: CNAME
    • Nome: lb
    • TTL: default (Automatic)
    • Nome do domínio do alias: zzz.example.com
    • Clique em Incluir registro
  4. Solicite um certificado em Secrets Manager

    • Abra o serviço Secrets Manager e selecione Segredos à esquerda.
    • Clique em Incluir e, em seguida, Certificado público. Clique em Avançar.
    • Preencha o formulário:
      • Nome - lb-alias.
      • Descrição - digite uma descrição de sua escolha.
      • Clique em Avançar.
      • Em Autoridade de certificação, selecione o seu mecanismo de autoridade de certificação Let's Encrypt configurado.
      • Em Algoritmo de chave select RSA4096
      • Certificados de pacote configurável -deixe desativado
      • Rotação automática de certificado - deixe desativado
      • Em Provedor DNS selecione sua instância de provedor DNS configurada
      • Clique em Selecionar domínios
      • Expanda o domínio listado para ver a lista de subdomínios e marque a caixa de seleção ao lado de lb.example.com e clique em Concluído.
    • Clique em Avançar.
    • Revise suas seleções e clique em Incluir.

Crie um listener HTTPS:

  1. Navegue até a página Balanceadores de carga da VPC.

  2. Selecione vpc-lb-region1

  3. Em Listeners front-end, clique em Criar

    • Protocolo: HTTPS
    • Porta: 443
    • Conjunto de back-end: POOL na mesma região
    • Escolha a região atual como sua região SSL
    • Escolha o nome do pedido do certificado SSL que você acabou de criar para lb.example.com
  4. Clique em Salvar para configurar um listener de HTTPS

Repita as etapas acima no balanceador de carga da região 2.

Em um navegador, abra lb.example.com para verificar o sucesso

Teste de failover

Por enquanto, você já deve ter visto que na maioria das vezes você está acessando os servidores na região 1, já que ela tem peso maior atribuído em comparação com os servidores na região 2. Vamos introduzir uma falha de verificação de funcionamento no conjunto de origem região 1,

  1. Navegue para a lista de instâncias de servidor virtual.

  2. Clique em três pontos (...) ao lado do(s) servidor(s) em execução na zona 1 da região 1 e clique em Parar.

  3. Repita o mesmo para servidores em execução na zona 2 da região 1.

  4. Retorne ao GLB sob o serviço CIS e aguarde até que o status de funcionamento mude para Crítico.

  5. Agora, quando você atualiza sua URL de domínio, é necessário sempre estar atingindo os servidores na região 2.

    Não se esqueça de iniciar os servidores na zona 1 e na zona 2 da região 1.

Remover recursos

  • Remova o balanceador de carga global, os conjuntos de origem e as verificações de funcionamento sob o serviço CIS
  • Remova os certificados no serviço do Secrets Manager.
  • Remova os balanceadores de carga, VSIs, sub-redes e VPCs.
  • Em Lista de recursos, exclua os serviços usados neste tutorial.