IBM Cloud Docs
Criando um balanceador de carga do aplicativo

Criando um balanceador de carga do aplicativo

É possível criar um IBM Cloud® Application Load Balancer for VPC (ALB) para distribuir o tráfego de entrada entre várias instâncias. IBM suporta instâncias de servidor virtual, instâncias de servidor bare metal e outros dispositivos que podem ser acessados pelo balanceador de carga de aplicativos com um endereço IP de dispositivo, como instâncias Power Systems™ Virtual Server conectadas por IBM Cloud Direct Link.

Criação de um balanceador de carga de aplicativos no console

Para criar um ALB:

  1. No seu navegador, abra o console IBM Cloud e faça login na sua conta.

  2. Selecione o ícone Menu do menu de navegação e clique no ícone VPC de infraestrutura > Rede > Balanceadores de carga.

  3. Na página Load balancers (Balanceadores de carga), clique em Create + (Criar +).

  4. Para o tipo de balanceador de carga, selecione o ladrilho do Applicatoin Load Balancer (ALB).

  5. Na seção Localização, edite os campos a seguir, se necessário.

    • Geografia: Indica a geografia onde você deseja o balanceador de carga criado.
    • Região: Indica a região onde você deseja o balanceador de carga criado.
  6. Na seção Detalhes, preencha as informações a seguir:

    • Nome: insira um nome para o balanceador de carga, como my-load-balancer.

    • Grupo de recursos: selecione um grupo de recursos para o balanceador de carga.

    • Tags: (Opcional) Adicione tags para ajudá-lo a organizar e encontrar seus recursos. É possível incluir mais tags posteriormente. Para obter mais informações, consulte Trabalhando com tags.

    • Tags de gerenciamento de acesso: (Opcional) Adicionar tags de gerenciamento de acesso a recursos para ajudar a organizar as relações de controle de acesso. O único formato suportado para as tags de gerenciamento de acesso é key:value. Para obter mais informações, consulte Controlando o acesso aos recursos usando tags.

    • Selecione o tile Balanceador de carga do aplicativo (ALB).

    • ** Nuvem privada virtual**: selecione seu VPC.

    • Tipo: selecione o tipo de balanceador de carga.

      • Um balanceador de carga público possui um endereço IP público, o que significa que ele pode rotear solicitações de clientes pela internet.
      • Um balanceador de carga privado possui um endereço IP privado, o que significa que ele é acessível apenas para clientes internos em suas sub-redes privadas, dentro da mesma região e VPC.
    • Para o tipo DNS, selecione Público ou Privado. As zonas DNS privadas podem ser resolvidas somente em IBM Cloud e somente a partir de redes explicitamente permitidas em uma conta ou com acesso entre contas.

      Somente para o tipo Privado, clique em Ligar + para inserir suas informações de instância e de zona de DNS e, em seguida, clique em Ligar

    • Sub-redes: selecione as sub-redes nas quais criar seu balanceador de carga. Para maximizar a disponibilidade de seu aplicativo, selecione sub-redes em zonas diferentes.

      Não é possível atribuir mais de 15 sub-redes por ALB.

  7. Na seção Conjuntos de back-end, clique em Criar conjunto e especifique as informações a seguir para criar um conjunto de back-end. É possível criar um ou mais conjuntos.

    • Nome: insira um nome para o conjunto, tal como my-pool.

    • Protocolo: selecione o protocolo para suas instâncias neste conjunto. O protocolo do conjunto deve corresponder ao protocolo de seu listener associado. Por exemplo, se um protocolo HTTPS ou HTTP for selecionado para o listener, o protocolo do conjunto deverá ser HTTP. Da mesma forma, se o protocolo do listener for TCP, o protocolo do conjunto deverá ser TCP.

    • Permanência de sessão: selecione se todas as solicitações durante a sessão de um usuário são enviadas para a mesma instância.

    • Método: selecione como você deseja que o balanceador de carga distribua o tráfego nas instâncias no conjunto:

      • Round-robin: encaminhe solicitações para cada instância sucessivamente. Todas as instâncias recebem aproximadamente um número igual de conexões do cliente.
      • Round-robin ponderado: encaminhe solicitações para cada instância na proporção de seu peso designado. Por exemplo, você tem as instâncias A, B e C, e seus pesos são configurados como 60, 60 e 30. As instâncias A e B recebem um número igual de conexões e a instância C recebe a metade do número de conexões.
      • Conexões mínimas: encaminhe solicitações para a instância com o número mínimo de conexões no momento atual.
    • Verificação de funcionamento: Configure como o balanceador de carga verifica o funcionamento das instâncias.

      • Caminho de verificação de funcionamento: O caminho de verificação de funcionamento será aplicável apenas se HTTP for selecionado como o protocolo de verificação de funcionamento. O caminho de verificação de funcionamento especifica a URL utilizada pelo balanceador de carga para enviar as solicitações de verificação de funcionamento HTTP para as instâncias no conjunto. Por padrão, as verificações de funcionamento são enviadas para o caminho raiz (/).
      • Protocolo de funcionamento: o protocolo usado pelo balanceador de carga para enviar mensagens de verificação de funcionamento para as instâncias do conjunto.
      • Porta de funcionamento: a porta na qual enviar solicitações de verificação de funcionamento. Por padrão, as verificações de funcionamento são enviadas na mesma porta em que o tráfego é enviado para a instância.
      • Intervalo: intervalo em segundos entre duas tentativas de verificação de funcionamento consecutivas. Por padrão, as verificações de funcionamento são enviadas a cada 5 segundos.
      • Tempo limite (seg): Tempo máximo que o sistema aguarda para obter uma resposta de uma solicitação de verificação de integridade. Por padrão, o balanceador de carga aguarda 2 segundos por uma resposta.
      • Máximo de novas tentativas: número máximo de tentativas de verificação de funcionamento que o balanceador de carga faz antes que uma instância seja declarada não funcional. Por padrão, uma instância não é mais considerada funcional após duas verificações de funcionamento com falha.

      Embora o balanceador de carga pare de enviar conexões para instâncias inoperantes, ele continua monitorando o funcionamento dessas instâncias e continuará seu uso se elas se tornarem funcionais novamente (ou seja, se elas passarem com sucesso por duas tentativas de verificação de funcionamento consecutivas).

      Se as instâncias no conjunto estiverem inoperantes e você achar que o seu aplicativo está sendo executado adequadamente, verifique novamente o protocolo de funcionamento e os valores do caminho de funcionamento. Além disso, verifique os grupos de segurança que estão anexados às instâncias para assegurar que as regras permitam tráfego entre o balanceador de carga e as instâncias.

  8. Clique em Criar para criar o conjunto de back-end.

    É possível anexar instâncias de servidor depois de criar seu conjunto de back-end.

  9. Para incluir uma instância do servidor no novo conjunto, clique em Conectar servidor na coluna Instâncias do servidor da tabela.

    • Para incluir dispositivos de VPC ao seu conjunto, como instâncias de servidor virtuais e servidores bare metal, selecione a guia Dispositivos de VPC. Especifique as informações a seguir para cada instância:

      • Selecione uma ou mais sub-redes nas quais selecionará uma instância.

      • Selecione uma instância. Se uma instância tiver múltiplas interfaces, certifique-se de selecionar o endereço IP correto.

      • Especifique a porta na qual o tráfego é enviado para a instância.

      • Se o seu conjunto usar o método Round-robin ponderado, designe um peso para cada instância.

        Atribuir o peso 0 a uma instância significa que nenhuma nova conexão é encaminhada para essa instância, mas qualquer tráfego existente continua a fluir enquanto a conexão atual está ativa. Usar um peso de 0 pode ajudar a desativar uma instância normalmente e removê-la da rotação de serviço.

      • Clique em Configurar porta e peso e, em seguida, especifique a porta em que o tráfego é enviado para a instância.

    • Para anexar outras instâncias do servidor ao seu conjunto de back-end, como os servidores contidos dentro de um IBM Power Systems Virtual Server, selecione a guia Outro e, em seguida, clique em Incluir mais. Especifique as informações a seguir para cada instância:

      • Especificar um endereço IP privado para o dispositivo.

      • Especifique a porta na qual o tráfego é enviado para a instância.

      • Se o seu conjunto usar o método Round-robin ponderado, designe um peso para cada instância.

        Atribuir o peso 0 a uma instância significa que nenhuma nova conexão é encaminhada para essa instância, mas qualquer tráfego existente continua a fluir enquanto a conexão atual está ativa. Usar um peso de 0 pode ajudar a desativar uma instância normalmente e removê-la da rotação de serviço.

    • Clique em Anexar para anexar a instância do servidor em seu conjunto de back-end.

  10. Na seção Listeners de front-end, clique em Criar listener e especifique as informações a seguir para criar um listerner. É possível criar um ou mais listeners.

    • Protocolo: o protocolo a ser usado para o recebimento de solicitações recebidas.
    • Protocolo de Proxy: Selecione se deseja permitir que o listener de front-end aceite o tráfego do protocolo de proxy.
    • Porta: a porta de recebimento na qual as solicitações são recebidas.
    • Conjunto de back-end: o conjunto de back-end padrão para o qual esse listener encaminha o tráfego.
    • Máximo de conexões (opcional): número máximo de conexões simultâneas que o listener permite.
    • Autorização do IAM: Se HTTPS for o protocolo selecionado para esse ouvinte, você deverá designar sua autorização de IAM, seja por instância ou por CRN.
    • Secrets Manager: Se HTTPS for o protocolo selecionado para esse ouvinte, você deverá selecionar ou criar um gerenciador de segredos.
    • Certificado SSL: se HTTPS é o protocolo selecionado para esse listener, deve-se selecionar um certificado SSL. Certifique-se de que o balanceador de carga esteja autorizado a acessar o certificado SSL.
    • Tempo limite (seg) (opcional): o tempo limite máximo após o qual o balanceador de carga fecha a conexão se nenhum dado tiver sido enviado ou recebido pelo tempo decorrido do período de tempo limite inativo. Os valores mínimo e máximo de tempo limite são 50 segundos e 2 horas. Esses valores são para o Cliente e o Servidor. Para aumentar o limite de tempo limite para mais de 2 horas, crie um caso de suporte fornecendo o requisito comercial para o valor de tempo limite necessário.
  11. Clique em Criar para criar o listener de front-end.

  12. Na seção Grupos de segurança, selecione os grupos de segurança que deseja anexar em seu balanceador de carga ou clique em Criar para criar um novo grupo de segurança para anexar ao seu ALB.

    Certifique-se de que o grupo de segurança permite o tráfego de balanceamento de carga (portas de listener, de back-end e de verificação de funcionamento). Ao não especificar um grupo de segurança, o grupo de segurança padrão da VPC é conectado como alternativa.

  13. Depois de concluir a criação de conjuntos e listeners, clique em Criar balanceador de carga.

  14. Para visualizar os detalhes de um balanceador de carga existente, clique no nome de seu balanceador de carga na página Balanceadores de carga.

  15. Opcionalmente, você pode criar um backup para qualquer um dos pools existentes. Isso permite que o pool de backup gerencie o tráfego em caso de falha de um membro. Para isso, você precisará criar uma política à prova de falhas:

    Deve haver pelo menos um pool já existente no balanceador de carga.

    • Depois que o status do balanceador de carga mudar para Ativo, selecione a guia Pools de back-end.
    • Na página da lista de pools, clique em Editar e especifique as seguintes informações:
      • Ação: Selecione avançar para criar um pool de backup. Isso torna a seção Target ativa.
      • Destino: Selecione um pool na lista de pools compatíveis para criar seu pool de backup.
  16. Se você deseja redirecionar o tráfego de um listener HTTP para um listener HTTPS, é possível criar um listener HTTP com configurações de redirecionamento HTTPS.

    As políticas de balanceamento de carga da Camada 7 sobrescrevem as configurações que você define aqui.

    Para fazer isso:

    Deve haver um listener HTTPS existente antes de criar um novo listener HTTP com redirecionamento HTTPS.

    • Após o status do balanceador de carga mudar para Ativo, clique na guia Listeners de front-end.
    • Na página da lista de listeners, clique em Criar e, em seguida, especifique as informações a seguir:
      • Protocolo: Selecione seu protocolo HTTP.
      • Porta: escolha a porta de escuta na qual as solicitações são recebidas.
      • Máximo de conexões (opcional): defina o número máximo de conexões simultâneas que o listener permite.
      • Redirecionamento HTTPS: clique no botão de alternância para ativar a configuração de redirecionamento HTTPS e, em seguida, especifique as configurações de redirecionamento HTTPS a seguir:
        • Listener HTTPS: o listener HTTPS de destino para o qual o tráfego de entrada do listener HTTP atual será redirecionado. Note que você só verá uma lista de listeners HTTPS cujo valor accept_proxy_proxy é o mesmo que o listener HTTP.
        • URI de redirecionamento (opcional): a URL para a qual a solicitação é redirecionada.
        • Código de status: o código de status da resposta retornado pelo balanceador de carga.
  17. Para redirecionar, encaminhar ou rejeitar o tráfego recebido específico para um listener de front-end HTTP ou HTTPS com base em determinados critérios, configure as políticas da camada 7.

    • Após o status do balanceador de carga mudar para Ativo, clique em Listeners de front-end na navegação e clique no valor da coluna Políticas para o listener criado.
    • Na página Políticas, clique em Incluir política e especifique as informações a seguir para criar uma política. É possível criar várias políticas.
      • Nome: digite um nome para a política, como my-policy. O nome deve ser exclusivo dentro do listener.
      • Ação: A ação a ser tomada quando todas as regras para a política coincidem. É possível rejeitar uma solicitação com uma resposta 403, redirecionar a solicitação para uma URL e código de resposta configurados, redirecionar o tráfego de um listener HTTP para um listener HTTPS ou encaminhar a solicitação para um conjunto de back-end específico. Se uma solicitação recebida não corresponder às regras de quaisquer políticas, a solicitação será encaminhada para o conjunto de back-end padrão do listener.
      • Prioridade: Dentro de cada tipo de ação, as políticas são avaliadas em ordem crescente de prioridade. As políticas de rejeição de tráfego são sempre avaliadas primeiro, independentemente de sua prioridade. As políticas de redirecionamento do tráfego são avaliadas em seguida, após as políticas de encaminhamento de tráfego.
      • Redirecionamento: a URL para a qual a solicitação é redirecionada, se a ação for configurada como Redirecionar. Você deve fornecer um URL completo ou os parâmetros de um URI. Ao usar um URL, todo o tráfego de entrada será redirecionado para esse URL. Ao usar parâmetros URI, os valores da solicitação de tráfego de entrada podem ser retidos usando os valores de entrada dos parâmetros. Isso inclui o protocolo, porta, host, caminho e consulta. Os valores padrão dos parâmetros URI serão iguais aos valores originais de entrada. Para reter os valores recebidos, forneça-os como {protocol},{port},{host},{path}, e {query}. Por exemplo, se o host da solicitação recebida for ibm.com, então o valor padrão será {host} igual à entrada ibm.com valor.
      • Código de status: o código de status da resposta retornada pelo balanceador de carga, se a ação for configurada como Redirecionar.
      • Encaminhamento: o conjunto de back-end de instâncias de servidor virtual ao qual a solicitação é encaminhada, caso a ação seja configurada como Encaminhar para o conjunto.
    • Na página de Políticas, também é possível criar uma política de redirecionamento HTTPS com a configuração a seguir:
      • Nome: digite um nome para a política, como my-policy. O nome deve ser exclusivo dentro do listener.
      • Ação: selecione a opção Redirecionar para HTTPS.
      • Listener HTTPS: o listener HTTPS de destino para o qual o tráfego do listener HTTP atual será redirecionado. Note que você só verá uma lista de listeners HTTPS cujo valor accept_proxy_proxy é o mesmo que o listener HTTP.
      • URI de redirecionamento (opcional): a URL para a qual a solicitação é redirecionada.
      • Código de status: o código de status da resposta retornado pelo balanceador de carga.
    • Na página Políticas, clique em Incluir regra para sua política. Se houver regras para a política, clique no valor da coluna Regras para incluir mais regras.
    • Na janela Regras, clique em Incluir regra e especifique as informações a seguir para criar uma regra. Se você criar várias regras para uma política, ela será aplicada apenas quando todas as suas regras forem correspondidas.
      • Condição: Especifica a condição com a qual uma regra é avaliada.
      • Tipo: o tipo de informação a ser avaliada pela regra: o nome do host do qual a solicitação se originou, um campo de cabeçalho HTTP ou um caminho na URL.
      • Valor: o valor a ser correspondido.
      • Chave: o nome do campo de cabeçalho HTTP a ser avaliado, se o tipo de regra for Cabeçalho. Por exemplo, para combinar com um cookie no cabeçalho HTTP, digite Cookie para a chave.

Criação de um balanceador de carga de aplicativos a partir da CLI

O exemplo a seguir ilustra o uso da CLI para criar um Application Load Balancer for VPC (ALB). Neste exemplo, ele está na frente de uma instância de servidor virtual de VPC (ID 0716_6acdd058-4607-4463-af08-d4999d983945) que executa um servidor TCP que atende na porta 9090. O balanceador de carga tem um listener de front-end que permite acesso seguro ao servidor TCP.

Para criar um balanceador de carga de aplicativos a partir da CLI, siga estas etapas:

  1. Configure seu ambiente da CLI.

  2. Use o terminal para efetuar login em sua conta usando a CLI. Depois que você insere a senha, o sistema solicita a conta e a região que você deseja usar:

    ibmcloud login --sso
    
  3. Crie um balanceador de carga:

    ibmcloud is load-balancer-create alb-test public --subnet 0896-b1f24514-89dc-4afd-b0e2-5489a43cf45c --family application
    

    Saída de amostra:

    Creating load balancer nlb-test in resource group under account IBM Cloud Network Services as user test@ibm.com...
    
    ID                 r006-99b5ab45-6357-42db-8b32-5d2c8aa62776
    Name               alb-test
    CRN                crn:v1:public:is:us-south-1:a/123456::load-balancer:r006-99b5ab45-6357-42db-8b32-5d2c8aa62776
    Family             Network
    Host name          99b5ab45-us-south.lb.test.appdomain.cloud
    Subnets            ID                                          Name
                       0896-b1f24514-89dc-4afd-b0e2-5489a43cf45c   nlb
    
    Public IPs
    Private IPs
    Provision status   create_pending
    Operating status   offline
    Is public          true
    Listeners
    Pools              ID   Name
    
    Resource group     ID                                 Name
                       3021f90279574ce287dd5fba82c08899   Default
    
    Created            2020-08-27T14:34:34.732-05:00
    
  4. Crie um conjunto:

    ibmcloud is load-balancer-pool-create alb-pool r006-99b5ab45-6357-42db-8b32-5d2c8aa62776  weighted_round_robin tcp 10  --failsafe-policy-action forward --failsafe-policy-target pool2
    

    Saída de amostra:

    Creating pool nlb-pool of load balancer r006-99b5ab45-6357-42db-8b32-5d2c8aa62776  under account IBM Cloud Network Services as user test@ibm.com...
    
    ID                         r006-3b66d605-6aa5-4166-9f66-b16054da3cb0
    Name                       alb-pool
    Protocol                   tcp
    Algorithm                  weighted_round_robin
    Instance group             ID   Name
                               -    -
    
    Health monitor             Type   Port   Health monitor URL   Delay   Retries   Timeout
                               http   8080   /                    10      2         5
    
    Failsafe policy            Action    Target ID                                   Target name   Healthy Member Threshold Count
                               forward   r006-815e16e7-8729-4d9e-9203-936a6b615ee1   pool2         0
    
    Session persistence type   source_ip
    Members
    Provision status           active
    Created                    2020-08-27T14:45:42.038-05:00
    
  5. Crie um membro:

    ibmcloud is load-balancer-pool-member-create r006-99b5ab45-6357-42db-8b32-5d2c8aa62776 r006-3b66d605-6aa5-4166-9f66-b16054da3cb0 9090 0716_6acdd058-4607-4463-af08-d4999d983945 --weight 70
    

    Saída de amostra:

    Creating member of pool r006-3b66d605-6aa5-4166-9f66-b16054da3cb0 under account IBM Cloud Network Services as user test@ibm.com...
    
    ID                 r006-61f8b000-a90d-4abe-909e-c507dffec565
    Port               9090
    Target             0716_6acdd058-4607-4463-af08-d4999d983945
    Weight             70
    Health             unknown
    Created            2020-08-27T14:59:55.446-05:00
    Provision status   create_pending
    
  6. Crie um listener:

    $ibmcloud is load-balancer-listener-create r006-99b5ab45-6357-42db-8b32-5d2c8aa62776 7070 tcp --default-pool r006-3b66d605-6aa5-4166-9f66-b16054da3cb0 -idle-connection-timeout 30
    

    Saída de amostra:

    $ibmcloud is load-balancer-listener-create r006-99b5ab45-6357-42db-8b32-5d2c8aa62776 7070 tcp --default-pool r006-3b66d605-6aa5-4166-9f66-b16054da3cb0 -idle-connection-timeout 30
    
    Sample output:
    Creating listener of load balancer r006-99b5ab45-6357-42db-8b32-5d2c8aa62776 under account IBM Cloud Network Services as user test@ibm.com...
    ID                      r006-2847a948-f9b6-4fc1-91c6-f1c49dac3eba
    Certificate instance    -
    Connection limit        -
    Idle connection timeout 30
    Port                    7070
    Protocol                tcp
    Default pool            r006-3b66d605-6aa5-4166-9f66-b16054da3cb0
    Provision status        create_pending
    Created                 2020-08-27T15:16:08.643-05:00
    

    Para obter mais opções, consulte Referência da CLI de VPC para balanceadores de carga.

  7. Crie uma política:

    ibmcloud is load-balancer-listener-policy-create 72251a2e-d6c5-42b4-97b0-b5f8e8d1f479 72b27b5c-f4b0-48bb-b954-5becc7c1dcb3 --action redirect --priority 2 --target-http-status-code 301 --target-url "https://{host}:443/{path}"
    

    Saída de amostra:

    Creating policy of load balancer listener 72b27b5c-f4b0-48bb-b954-5becc7c1dcb3 under account IBM Cloud Network Services as user test@ibm.com...
    
    ID                      r006-4847a949-f9b6-4fc1-71c6-d1c49dac3ebc
    Action                  redirect
    Priority                2
    Http status code        301
    Target Url              https://{host}:443/{path}
    Provision status        create_pending
    Created                 2024-04-23T15:16:08.643-05:00
    
  8. Obtenha detalhes sobre seu balanceador de carga:

    ibmcloud is load-balancer r006-99b5ab45-6357-42db-8b32-5d2c8aa62776
    

    Saída de amostra:

    Getting load balancer r006-99b5ab45-6357-42db-8b32-5d2c8aa62776 under account IBM Cloud Network Services as user test@ibm.com...
    
    ID                 r006-99b5ab45-6357-42db-8b32-5d2c8aa62776
    Name               nlb-test
    CRN                crn:v1:public:is:us-south-1:a/123456::load-balancer:r006-99b5ab45-6357-42db-8b32-5d2c8aa62776
    Family             Network
    Host name          99b5ab45-us-south.lb.test.appdomain.cloud
    Subnets            ID                                          Name
                       0896-b1f24514-89dc-4afd-b0e2-5489a43cf45c   nlb
    
    Public IPs         150.238.50.78, 150.238.54.95
    Private IPs        10.240.0.58, 10.240.0.59
    Provision status   active
    Operating status   online
    Is public          true
    Listeners          r006-2847a948-f9b6-4fc1-91c6-f1c49dac3eba
    Pools              ID                                          Name
                       r006-3b66d605-6aa5-4166-9f66-b16054da3cb0   nlb-pool
    
    Resource group     ID                                 Name
                       3021f90279574ce287dd5fba82c08899   Default
    
    Created            2020-08-27T14:34:34.732-05:00
    

Criação de um balanceador de carga de aplicativos com a API

O exemplo a seguir ilustra o uso da API para criar um balanceador de carga do aplicativo na frente de duas instâncias do servidor virtual VPC (192.168.100.5 e 192.168.100.6) executando um aplicativo da web que atende na porta 80. O balanceador de carga tem um listener de front-end, que permite acesso seguro ao aplicativo da web usando HTTPS.

O exemplo ignora as etapas de pré-requisito para usar a API para provisionar uma VPC, sub-redes e instâncias.

Para criar um balanceador de carga de aplicativos com a API, siga estas etapas:

  1. Configure o seu Ambiente de API.

  2. Armazene os valores a seguir nas variáveis a serem usadas no comando da API:

    • ResourceGroupId - primeiro, obtenha o seu grupo de recursos e, em seguida, preencha a variável:
    export ResourceGroupId=<your_resourcegroup_id>
    

    Você também pode encontrar o ID do seu grupo de recursos usando o console IBM Cloud. No seu navegador, abra o console IBM Cloud e faça login na sua conta. Selecione Gerenciar > Conta > Grupos de recursos.

  3. Crie um balanceador de carga com um ouvinte, um pool e instâncias de servidor anexadas (membros do pool) com o seguinte código de amostra:

    curl -H "Authorization: $iam_token" -X POST
    "$vpc_api_endpoint/v1/load_balancers?version=$api_version&generation=2" \
      -d @alb_create_payload.json
      Where alb_create_payload.json has the following content:
      '{
          "name": "example-balancer",
          "is_public": true,
          "listeners": [
              {
                  "certificate_instance": {
                      "crn": "crn:v1:bluemix:public:cloudcerts:us-south:a/123456:b8877ea4-b8eg-467e-912a-da1eb7f031cg:certificate:43219c4c97d013fb2a95b21dddde1234"
                  },
                  "port": 443,
                  "protocol": "tcp",
                  "idle_connection_timeout" : 80,
                  "default_pool": {
                      "name": "example-pool"
                  }
              }
          ],
          "pools": [
              {
                  "algorithm": "round_robin",
                  "health_monitor": {
                      "delay": 5,
                      "max_retries": 2,
                      "timeout": 2,
                      "type": "tcp",
                      "url_path": "/"
                  },
                  "name": "example-pool",
                  "protocol": "tcp",
                  "session_persistence": {
                      "cookie_name": "string",
                      "type": "source_ip"
                  },
                  "members": [
                      {
                          "port": 80,
                          "target": {
                              "address": "192.168.100.5"
                          },
                          "weight": 50
                      },
                      {
                          "port": 80,
                          "target": {
                              "address": "192.168.100.6"
                          },
                          "weight": 50
                      }
                  ]
              }
          ],
          "subnets": [
              {
                  "id": "7ec87131-1c7e-4990-b4f0-a26f2e61f98e"
              }
          ]
          }'
    

    Para obter mais opções, consulte Referência da API VPC para balanceadores de carga.

    Saída de amostra:

    {
        "created_at": "2018-07-12T23:17:07.5985381Z",
        "crn": "crn:v1:bluemix:public:is:us-south:a/123456::load-balancer:dd754295-e9e0-4c9d-bf6c-58fbc59e5727",
        "hostname": "ac34687d.lb.appdomain.cloud",
        "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/dd754295-e9e0-4c9d-bf6c-58fbc59e5727",
        "id": "0738-dd754295-e9e0-4c9d-bf6c-58fbc59e5727",
        "is_public": true,
        "profile": {
            "name": "network-fixed",
            "family": "network"
        },
        "listeners": [
            {
                "id": "0738-70294e14-4e61-11e8-bcf4-0242ac110004",
                "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/dd754295-e9e0-4c9d-bf6c-58fbc59e5727/listeners/70294e14-4e61-11e8-bcf4-0242ac110004"
            }
        ],
        "name": "example-balancer",
        "operating_status": "offline",
        "pools": [
            {
                "id": "0738-70294e14-4e61-11e8-bcf4-0242ac110004",
                "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/70294e14-4e61-11e8-bcf4-0242ac110004",
                "name": "example-pool"
            }
        ],
        "provisioning_status": "create_pending",
        "resource_group": {
            "id": "56969d60-43e9-465c-883c-b9f7363e78e8"
        },
        "subnets": [
            {
                "id": "0738-7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
                "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
                "name": "example-subnet"
            }
        ]
    }
    

    Salve o ID do balanceador de carga para usar nas próximas etapas. Por exemplo, salve-o na variável lbid.

    lbid=0738-dd754295-e9e0-4c9d-bf6c-58fbc59e5727
    
  4. Obtenha detalhes sobre o balanceador de carga

    curl -H "Authorization: $iam_token" -X GET "$vpc_api_endpoint/v1/load_balancers/$lbid?version=$api_version&generation=2"
    

    Permita algum tempo para fornecimento. Quando o balanceador de carga estiver pronto, ele será configurado como online e o status active, conforme mostrado na saída de amostra a seguir:

    {
      "id": "0738-dd754295-e9e0-4c9d-bf6c-58fbc59e5727",
      "crn": "crn:v1:bluemix:public:is:us-south:a/123456::load-balancer:dd754295-e9e0-4c9d-bf6c-58fbc59e5727",
      "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/dd754295-e9e0-4c9d-bf6c-58fbc59e5727",
      "name": "example-balancer",
      "created_at": "2018-07-13T22:22:24.489Z",
      "hostname": "dd754295-e9e0-4c9d-bf6c-58fbc59e5727.lb.appdomain.cloud",
      "is_public": true,
      "profile": {
            "name": "network-fixed",
            "family": "network"
      },
      "listeners": [
        {
          "id": "0738-70294e14-4e61-11e8-bcf4-0242ac110004",
           "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/dd754295-e9e0-4c9d-bf6c-58fbc59e5727/listeners/70294e14-4e61-11e8-bcf4-0242ac110004"
        }
      ],
      "operating_status": "online",
      "pools": [
        {
          "id": "0738-70294e14-4e61-11e8-bcf4-0242ac110004",
          "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/70294e14-4e61-11e8-bcf4-0242ac110004",
          "name": "example-pool"
        }
      ],
      "private_ips": [
        {
          "address": "192.168.10.5"
        },
        {
          "address": "192.168.10.6"
        }
      ],
      "provisioning_status": "active",
      "public_ips": [
        {
            "address": "169.11.111.115"
        },
        {
            "address": "169.11.111.116"
        }
      ],
      "resource_group": {
        "id": "0738-56969d60-43e9-465c-883c-b9f7363e78e8"
      },
      "subnets": [
        {
          "id": "0738-7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
          "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
          "name": "example-subnet"
        }
      ]
    }