Blogs > Como usar o AutoScaling e o ELB da Huawei Cloud

Como usar o AutoScaling e o ELB da Huawei Cloud

Thiago Siqueira 25/11/2022
Compartilhar
Guia de como utilizar o AutoScalling seguido de um exemplo de como o AutoScalling funciona na prática.

Antes de começarmos o AutoScaling alguns pré-requisitos são necessários, são eles :

Uma VPC, uma sub-rede, e um grupo de segurança.

O ELB, a ECS e Image da ECS faremos conforme seguimos os passos.

Primeiramente iremos fazer a criação do ECS que será utilizado para o AutoScaling e só depois então que criaremos o AutoScaling.

Nesse caso, ao criar uma máquina, irei utilizar o Ubuntu 18.04, mas você pode utilizar o sistema de sua preferência.

Vamos instalar o Nginx na ECS. Para isso, crie a ECS, logue na máquina e dê os seguintes comandos:

(lembre-se de colocar o EIP da sua máquina onde estiver escrito EIP)

apt install stress -y

apt install nginx -y

mkdir -p /var/www/EIP/html 

chown -R $USER:$USER /var/www/EIP/html

chmod -R 755 /var/www/EIP

nano /etc/nginx/sites-available/EIP                  e nessa tela dê o seguinte comando:

server {

    listen 80;

    server_name app_server www.EIP EIP;

   

    root /var/www/EIP/html;

    error_log /var/log/nginx/app-server-error.log notice;

    index demo-index.html index.html;

    expires -1;

 

    sub_filter_once off;

    sub_filter 'server_hostname' '$hostname';

    sub_filter 'server_address' '$server_addr:$server_port';

    sub_filter 'servidor_url' '$request_uri';

    sub_filter 'remote_addr' '$remote_addr:$remote_port';

    sub_filter 'server_date' '$time_local';

    sub_filter 'client_browser' '$http_user_agent';

    sub_filter 'request_id' '$request_id';

    sub_filter 'nginx_version' '$nginx_version';

    sub_filter 'document_root' '$document_root';

    sub_filter 'proxied_for_ip' '$http_x_forwarded_for';

 

    localização / {

                try_files $uri $uri/ =404;

        }

}

 

nginx -t run   para iniciar o Nginx e, por último,

para finalizar, dê o comando systemctl enable nginx && systemctl restart nginx

Depois disso, crie uma imagem privada dessa ECS na aba de Image Management Service

Agora podemos configurar o AutoScaling

Nessa parte compre o ELB e adicione um Listener a ele para poder usá-lo ao configurar o AutoScaling

Selecione o ELB que você comprou

Tenha certeza de colocar a porta 80 em Backend Port.

Agora nesse passo selecione a imagem da ECS que você criou anteriormente

e por último escolha a política que deseja

Nesse caso, utilizaremos a política do tipo Alarme, que fará a criação de outra instância conforme a CPU atingir um certo nível.

Prossiga e confirme a criação do AutoScaling .

Acesse o site (EIP da sua máquina) para garantir que está tudo certo.

E agora estamos prontos para testar o Autoscaling.

Use o seguinte comando para ver como uma máquina reage:

stress –cpu 8 –io 3 –vm 2 –vm-bytes 256M –timeout 15m

e pronto, o Autoscaling fará a criação de outra instância automaticamente para evitar a sobrecarga.

Agora farei a demonstração de como o Autoscaling funciona na prática .

Nesse caso, decida colocar a condição de criar uma nova instância para quando a CPU atingir os 30%.

E para fazer esse teste farei o uso do comando citado anteriormente para estressar a CPU.

Aqui podemos ver que a máquina reagiu exatamente como antes, no momento que a CPU consumiu os 30% uma nova instância foi criada, ou seja, o Autoscaling funcionou perfeitamente.

Também é possível configurar o Autoscaling para reduzir as instâncias, caso o uso de CPU seja baixo, por exemplo.

Nesse caso, se o uso de CPU abaixo de 10% ele reduzirá uma instância.

E foi isso que ele fez quando o teste que antes terminou, ele compareceu a instância assim como configuramos.