Observação:

Usar o dimensionamento automático para ajustar recursos de computação

Introdução

Neste tutorial, você criará um aplicativo Web balanceado por carga que poderá ser expandido/ajustado automaticamente com base na utilização da CPU.

Neste tutorial, você criará um balanceador de carga, uma instância de computação, uma configuração de instância e, em seguida, configurará o dimensionamento automático. Em seguida, você verificará se o recurso de dimensionamento automático de acordo com o limite configurado na CPU está ultrapassado.

O dimensionamento automático permite que você ajuste automaticamente o número de instâncias de computação em um pool de instâncias com base nas métricas de desempenho, como utilização da CPU. Isso ajuda a fornecer um desempenho consistente para seus usuários finais durante períodos de alta demanda e ajuda a reduzir os custos durante períodos de demanda baixa.

Você seleciona uma métrica de desempenho para monitorar e definir limites que a métrica de desempenho deve atingir para acionar um evento de dimensionamento automático. Quando o uso do sistema atinge um limite, o dimensionamento automático aloca recursos dinamicamente dentro do tempo quase real. Conforme a carga aumenta, as instâncias são provisionadas automaticamente: o pool de instâncias é expandido. Conforme a carga diminui, as instâncias são automaticamente removidas: o pool de instâncias é expandido.

O dimensionamento automático conta com as métricas de desempenho coletadas pelo serviço de monitoramento. Essas métricas de desempenho são agregadas em períodos de um minuto e, em seguida, ponderadas em todo o pool de instâncias. Quando três valores consecutivos (ou seja, as métricas médias de três minutos consecutivos) atingem o limite, um evento de dimensionamento automático é acionado.

Um período de cooldown entre eventos de dimensionamento automático permite que o sistema se estabilize no nível atualizado. O período de cooldown é iniciado quando o pool de instâncias atinge um estado estável. O dimensionamento automático continua a avaliar métricas de desempenho durante o período de cooldown. Quando o período de cooldown termina, o dimensionamento automático ajusta o tamanho do pool de instâncias novamente, caso seja necessário.

Observação: A interface do usuário do OCI (Oracle Cloud Infrastructure) está sendo atualizada. Portanto, algumas capturas de tela nas instruções podem ser diferentes da interface do usuário real

Criar sua VCN e Sub-redes

Configure uma VCN para conectar sua instância do Linux à internet. Você configurará todos os componentes necessários para criar sua rede virtual.

  1. Abra o menu de navegação. Em Infraestrutura Básica, vá para Rede e clique em Redes Virtuais na Nuvem.

    Verifique se um compartimento (ou o compartimento designado para você) está selecionado na lista Compartimento à esquerda.

  2. Clique em Iniciar Assistente de VCN.

  3. Selecione VCN com Conectividade de Internet e clique em Iniciar Assistente de VCN.

  4. Informe o seguinte (as descrições estão em itálico. Substitua pelos valores do seu cenário):

    • Nome: Informe um nome para sua rede na nuvem
    • COMPARTMENT: selecione o compartimento desejado
    • BLOCO CIDR de VCN: 10.0.0.0/16
    • BLOCO CIDR DA SUB-REDE PÚBLICA: 10.0.0/24
    • BLOCO CIDR DE SUB-REDE PRIVADA: 10.0.1.0/24
    • RESOLUÇÃO DE DNS: verificado

    Observação: As sub-redes públicas e privadas têm blocos CIDR diferentes.

  5. Clique em Avançar.

    A caixa de diálogo Criar uma VCN com configuração de Conexão com a Internet será exibida, confirmando todos os valores que você acabou de inserir e listando componentes adicionais que serão criados.

  6. Clique em Criar para iniciar o workflow.

    Isso criará uma VCN com os seguintes componentes:

    VCN, Sub-rede pública, Sub-rede privada, IG (Internet Gateway), NAT (Gateway NAT), SG (Service Gateway)

  7. Após a conclusão do workflow, clique em Exibir Redes Virtuais na Nuvem e você será direcionado à página de detalhes da VCN criada.

Criar Balanceador de Carga e Atualizar Lista de Segurança

  1. Abra o menu de navegação. Em Infraestrutura Básica, vá para Rede e clique em Balanceadores de Carga.

  2. Clique em Criar Balanceador de Carga. Preencher a caixa de diálogo;

    Em Adicionar Detalhes

    • NOME DO BALANCER DO LOAD: Digite um nome para o seu balanceador de carga.

    • TIPO DE VISIBILIDADE DE ESCOLHA: Público

    • GANHE O BANDWIDTH TOTAL MÁXIMO: Selecione Formas Dinâmicas e, em seguida, clique em Micro - 10Mbps. (Isso especifica a largura de banda do balanceador de carga.)

    • REDE VIRTUAL NA NUVEM: Escolha sua Rede Virtual na Nuvem

    • SUBNET: Escolha a Sub-rede Pública

    Clique em Próximo.

    Em Escolher Backends:

    • ESPECIFY A LOAD BALANCING POLICY: Revezamento Ponderado
    • Adicionar Backends: Não adicione nenhum backend. Isso será gerenciado pelo pool de instâncias.

    No âmbito da política de saúde pública

    • PROTOCOLO: HTTP

    • Porta: 80

    • CAMINHO DO URL (URI): /

      Manter outras opções como padrão

    Click **Next**.
    

    Em Configurar Listener

    • ESPECIFICAR O TIPO DE TRÁFEGO TRATADO PELO LISTENER: HTTP

    • ESPECIFICAR A PORTA QUE O LISTENER MONITORA TRÁFEGO DE ENTRADA: 80

      Manter outras opções como padrão

  3. Clique em Submeter.

  4. Aguarde o balanceador de carga se tornar ativo e anote seu endereço IP público.

  5. Abra o menu de navegação. Em Infraestrutura Básica, vá para Rede e clique em Redes Virtuais na Nuvem. Localize a VCN criada anteriormente.

  6. Clique no nome da VCN para exibir a página Detalhes da VCN.

  7. Clique em Listas de Segurança e localize a Lista de Segurança Padrão.

  8. Clique em Lista de Segurança Padrão para Your_VCN e clique em Adicionar Regras de Entrada.

  9. Clique em Adicionar Regras de Entrada.

    Uma caixa de diálogo Adicionar Regras de Entrada é exibida.

  10. Informe o seguinte:

    • Certifique-se de deixar o indicador STATELESS desmarcado
    • Tipo de Origem: CIDR
    • CIDR de Origem: Digite 0.0.0.0/0
    • Protocolo IP: Selecione TCP
    • Intervalo de Portas de Origem: Tudo
    • Faixa de Portas de Destino: Informe 80 (a porta do listener)
    • Descrição: Permitir conexões HTTP de entrada

  11. Clique em Adicionar Regras de Entrada.

Criar Pool de Instâncias e Configurar o Dimensionamento Automático

Criar Servidor Web e Configurar uma Instância

Crie uma instância do Oracle Linux com o servidor Web Apache e configure uma instância com base no servidor Web. Essa será a base da configuração de dimensionamento automático.

  1. Abra o menu principal do Oracle Cloud Infrastructure.

  2. Selecione Compute e Instâncias.

  3. Na tela da lista de instâncias, clique em Criar Instância.

  4. Informe um nome para a instância.

  5. Selecione o compartimento no qual criar a instância.

  6. Na seção Configurar colocação e hardware, faça as seguintes seleções:

    • Domínio de disponibilidade Selecione o domínio de Disponibilidade no qual você deseja criar a instância
    • Domínio de Falha Opcional. Pode ficar desmarcado
    • Image Latest Oracle Linux (por padrão, a versão suportada mais recente já será selecionada)
    • Forma Selecione a forma desejada
  7. Na seção Configurar rede, faça as seguintes seleções:

    • Rede Selecione uma rede virtual nuvem existente
    • Rede virtual na nuvem em Escolher o compartimento que tem a VCN desejada
    • Rede Selecione a Rede Virtual na Nuvem
    • Sub-rede em Escolher o compartimento que tem a VCN desejada
    • Sub-rede Selecione uma sub-rede pública
    • Usar grupos de segurança de rede para controlar o tráfego desmarcado
    • Endereço IP Público *Designar um endereço IPv4 público
  8. Na seção Adicionar chaves SSH:

    Se você não tiver um par de chaves SSH:

    1. Selecione Gerar par de chaves SSH.
    2. Clique em Salvar Chave Privada e siga a propriedade do browser para salvar a chave privada.
    3. Clique em Salvar Chave Pública e siga a propriedade do browser para salvar a chave pública.

    Se você tiver uma chave pública, poderá:

    1. Selecione Escolher arquivos de chave pública
    2. Arraste e solte os arquivos de chave pública ou Ou procure um local., localize o local e selecione os arquivos.

    ou

    1. Selecione Colar chaves públicas.
    2. Cole o Valor da Chave Pública em Chaves SSH (várias chaves podem ser adicionadas clicando em Chave Anotehr).
  9. Em Configurar volume de inicialização, deixe todas as opções desmarcadas.

  10. Clique em Mostrar Opções Avançadas.

    Em gerenciamento

    • Script de Inicialização: Escolha Colar script cloud-init e cole o script abaixo. O script Cloud-init será executado na primeira inicialização somente para configurar a instância.
    #cloud-config
    yum_repos:
        epel-testing:
            baseurl: https://yum.oracle.com/repo/OracleLinux/OL7/developer_EPEL/$basearch/
            enabled: true
            failovermethod: priority
            gpgcheck: true
            gpgkey: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
            name: EPEL ($basearch)
    
    packages:
    - httpd
    - stress
    
    runcmd:
    - [sh, -c, echo "<html>Web Server IP `hostname --ip-address`</html>" > /var/www/html/index.html]
    - [firewall-offline-cmd, --add-port=80/tcp]
    - [systemctl, start, httpd]
    - [systemctl, restart, firewalld]
    
  11. Clique em Criar.

  12. Você será levado à página de detalhes da instância. Quando o quadrado amarelo ficar verde, sua instância será provisionada, ativa e em execução.

  13. Aguarde que a Instância esteja no estado Em Execução. Você pode rolar para baixo até Solicitações de Serviço para verificar o processo de provisionamento.

  14. Clique no nome da Instância. Clique em Ações e em Criar Configuração da Instância. Informe o seguinte:

    • Criar no Compartimento: Escolha seu compartimento.
    • Nome: Informe um nome.
  15. Clique em Criar Pool de Instâncias e informe o seguinte:

    • Criar no Compartimento: Escolha seu compartimento
    • Nome: Informe um nome.
    • Configuração da instância em COMPARTMENT_NAME: Escolha seu compartimento se for diferente do compartimento selecionado atual
    • Nome da Configuração da Instância: ele já deverá estar preenchido com o Pool de Instâncias criado na etapa 14.
    • Número de Instâncias: 0

  16. Clique em Próximo para aderir a Configurar Colocação de Sondagem

  17. Na página Configurar Colocação do Pool, informe o seguinte:

    • Domínio de disponibilidade: Escolha o AD no qual você deseja colocar instâncias (você poderá escolher o AD 1 se estiver na região Vários ADs).
    • Selecionar compartimento de rede virtual na nuvem: Escolha o compartimento da VCN se for diferente do compartimento selecionado atual e escolha sua VCN.
    • sub-rede em COMPARTMENT_NAME: Escolha o compartimento da sub-rede se for diferente do compartimento selecionado atual e escolha sua sub-rede.
    • anexar um balanceador de carga: Selecione esta opção.
    • Balanceador de Carga em COMPARTMENT_NAME: Escolha o compartimento do LB se for diferente do compartimento selecionado atual e, em seguida, escolha o Balanceador de Carga
    • Conjunto de backend: Escolha o primeiro conjunto de backend
    • Porta: 80
    • VNIC: Deixe o padrão
  18. Clique em Próximo, revise as informações e clique em Criar.

  19. Abra o menu de navegação. Em Infraestrutura Básica, selecione Inserir Pools e clique no nome do Pool de Instâncias.

  20. Na tela de detalhes do Pool de Instâncias, clique em Mais Ações, selecione Criar Configuração de Dimensionamento Automático e informe o seguinte:

    • Nome: Defina um nome
    • Criar no Compartimento: Escolha seu compartimento
    • Pool de instâncias em COMPARTMENT_NAME: Escolha seu compartimento se for diferente do compartimento selecionado atual e, em seguida, selecione o Pool de Instâncias (se o pool não estiver visível, atualize o browser e tente novamente)

  21. Clique em Próximo e, na página Configurar Política de Dimensionamento Automático, informe o seguinte:

    • Selecione Dimensionamento Automático Baseado em Métrica.
    • NOME DA POLÍTICA DE AUTOSCALING : Forneça um nome
    • COMPECTO EM SEGUNDOS : 300 (Esse é o período mínimo entre as ações de dimensionamento.)
    • PERFORMANCE METRIC : utilização da CPU (Esta é a Métrica a ser usada para acionar ações de dimensionamento.)
    • PERADOR DA ESCOLHA : Maior que (>)
    • PERCENTUAL DE LIMITE: 80
    • NÚMERO DE INSTÂNCIAS A SEREM ADICIONADAS : 1
    • PERADOR DA EMPRESA : Menor que (<)
    • PERCENTUAL DE LIMITE: 20
    • NÚMERO DE INSTÂNCIAS A SEREM REMOVIDAS : 1
    • NÚMERO MÍNIMO DE INSTÂNCIAS : 1 (este é o número mínimo de instâncias que o pool sempre terá)
    • NÚMERO MÁXIMO DE INSTÂNCIAS : 2 (este é o número máximo de instâncias que o pool sempre terá)
    • NÚMERO INICIAL DE INSTÂNCIAS : 1 (essa é a quantidade de instâncias que serão criadas no pool de instâncias inicialmente)

  22. Clique em Próximo, revise as informações e clique em Criar.

Testar a Configuração

  1. Nos detalhes do balanceador de carga, examine o IP Público do Balanceador de Carga e abra-o no Web browser.

  2. Na console do OCI, em Compute, clique em Pools de Instâncias e, em seguida, no nome do pool. Clique em Instâncias Criadas para ver uma instância de computação criada. Clique no nome da Compute Instance.

  3. No terminal em que você salvou sua chave de prioridade, ssh para a instância

    ssh -i <private_key> opc@<PUBLIC_IP_OF_COMPUTE>
    
  4. Agora comece o estresse da CPU, digite o comando:

    sudo stress --cpu 4 --timeout 350
    

    4 trabalhadores girando com um tempo limite de 350 segundos.

  5. Volte para a console do OCI e navegue até a página Detalhes do Pool de Instâncias. Role para baixo até a tela Métrica, você deverá ver o aumento da CPU após um minuto ou mais.

  6. Em cerca de 3 a 5 minutos (tempo configurado quando criamos a configuração de dimensionamento automático), o status do Pool deve ser alterado para Dimensionamento e uma segunda instância de computação deve ser iniciada. Clique em **Solicitações de Serviço e você verá a solicitação de serviço que criará uma nova instância.

    Isso acontece porque nossos critérios de utilização de CPU > 10 foram atendidos.

  7. Quando a segunda instância estiver ativa e em execução e o status do pool de instâncias for 'Em Execução', alterne para o web browser e atualize a página várias vezes e observe o tráfego de balanceamento do balanceador de carga entre os dois servidores Web.

  8. Alterne de volta para o terminal e, se a ferramenta de estresse ainda estiver em execução, clique em Ctrl + C para interromper o script.

  9. Volte para a janela da console do OCI e navegue até a página de detalhes da instância de computação. Verifique se a utilização da CPU permanece inativa após um minuto.

  10. Navegue até a página de detalhes do pool de Instâncias e, após 3 a 4 minutos, o status do pool de Instâncias será alterado para Dimensionamento. A instância de computação adicional será excluída.

    Isso ocorre porque nossos critérios de utilização de CPU < 5 são atendidos.

Excluir Recursos

  1. Alterne para a janela da console do OCI.

  2. Abra o menu de navegação. Na Infraestrutura Básica, selecione Pools de Instações. Na extremidade direita, clique nos três pontos e selecione Encerrar. Confirme quando solicitado.

  3. Abra o menu de navegação. Na Infraestrutura Básica, selecione Configurações de Instaces. Na extremidade direita, clique nos três pontos e selecione Encerrar

  4. Abra o menu de navegação. Em Infraestrutura Básica, selecione Intenções. Na extremidade direita, clique nos três pontos e selecione Encerrar. Marque a caixa Excluir permanentemente o volume de inicialização anexado e clique em Finalizar Instância.

  5. Abra o menu de navegação. Em Rede, selecione Balanceadores de Carga. Na extremidade direita, clique nos três pontos e selecione Encerrar. Confirme quando solicitado.

  6. Abra o menu de navegação. Em Rede, selecione Redes Virtuais na Nuvem. Na extremidade direita, clique nos três pontos e selecione Encerrar. Confirme quando solicitado.

  7. Abra o menu de navegação. Na Infraestrutura Básica, selecione Pools de Instações. Na extremidade direita, clique nos três pontos e selecione Encerrar. Quando terminar de listar os recursos, clique em Encerrar Tudo

  8. Localize a primeira instância de computação, clique no ícone Ação e depois em Encerrar.

  9. Certifique-se de que a opção Excluir Permanentemente o Volume de Inicialização anexado esteja marcada. Clique em Encerrar Instância. Aguarde, por exemplo, o Encerramento completo.

  10. Na janela da console do OCI na página Detalhes do Pool de Instâncias, clique em Encerrar em Ação. Forneça o nome do Pool de Instâncias na caixa de diálogo pop-up e clique em Encerrar. Isso excluirá o pool com a instância de computação e a configuração de dimensionamento automático.

  11. Navegue até Configuração de Instâncias em Compute. Para a Configuração da Instância, clique em Excluir sob os três pontos Verticais.

  12. Navegue até AutoScaling Configurações em Compute. Para sua Configuração de Instância, clique em Excluir.

  13. No menu de serviços do OCI, clique em Balanceadores de Carga em Rede, localize seu Balanceador de Carga e clique em Encerrar nos três pontos Verticais.

  14. No menu de serviços do OCI, clique em Redes Virtuais na Nuvem em Rede, Localize sua VCN, clique no ícone Ação e depois em Encerrar. Clique em Excluir Tudo na janela Confirmação. Clique em Fechar depois que a VCN for excluída.

Parabéns! Você conclui o laboratório com sucesso.

Agradecimentos

Mais Recursos de Aprendizagem

Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal YouTube do Oracle Learning. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.

Para obter a documentação do produto, visite o Oracle Help Center.