Como lançar uma instância do EC2 usando a AWS CLI

Como lançar uma instância do EC2 usando a AWS CLI

Lançar e encerrar instâncias do EC2 usando a interface da linha de comando da AWS é a parte principal da aplicação da automação para escala horizontal de infraestrutura na AWS. Os recursos de infraestrutura da AWS são monitorados continuamente e uma nova instância do EC2 é lançada ou terminada, dependendo dos recursos provisionados e da carga. A interface da linha de comando da AWS permite monitorar e provisionar infraestrutura na AWS usando alguns scripts de automação. Este blog discutirá como uma instância do EC2 pode ser lançada usando a interface da linha de comando na AWS.

Configurar credenciais da AWS CLI

Para usar a interface da linha de comando da AWS, primeiro gerar e configurar as credenciais de interface da linha de comando da AWS em seu sistema. O comando a seguir pode ser usado para configurar credenciais de interface da linha de comando da AWS no seu sistema local.

ubuntu@ubuntu: ~ $ AWS Configurar

Crie VPC

A primeira coisa antes de lançar uma instância do EC2 é configurar um VPC (nuvem privada virtual) na qual a instância do EC2 será lançada. Primeiro, liste todos os VPCs disponíveis em uma região específica.

ubuntu@ubuntu: ~ $ aws EC2 Descrevide-vpcs \
--Região EUA-East-1

Da saída, fica claro que existe apenas um VPC padrão na região dos EUA-East-1. Agora use o comando create-vpc do serviço EC2 para criar um VPC.

ubuntu@ubuntu: ~ $ aws ec2 create-vpc \
--Cidr-Block 192.168.0.0/16 \
--Região EUA-East-1

O comando acima criará um VPC com um bloco CIDR especificado e gerará a seguinte saída.

Observe o ID do VPC, pois será usado para criar outros recursos dentro do VPC.

Crie sub -rede

Depois de criar o VPC, agora crie uma sub -rede dentro do VPC criado anteriormente. A sub-rede pode ser criada usando o comando create-substitui fornecido pela interface da linha de comando da AWS.

ubuntu@ubuntu: ~ $ aws ec2 create-substitui \
--VPC-ID \
--Cidr-Block 192.168.0.0/24 \
--Região EUA-East-1

Agora modifique a sub -rede para atribuir automaticamente IP público às instâncias do EC2 lançadas dentro da sub -rede. Execute esta etapa apenas nas sub -redes que você deseja tornar público.

ubuntu@ubuntu: ~ $ AWS EC2 Modify-substituta-atributo \
--Subnet-id \
--mapa-public-ip-on-launch \
--Região EUA-East-1

Crie e anexe a Internet Gateway ao VPC

O gateway da Internet permite a conectividade da Internet de e para o VPC na AWS. Agora use o comando Create-Internet-Gateway do serviço EC2 para criar um gateway da Internet.

ubuntu@ubuntu: ~ $ aws ec2 create-internet-gateway \
--Região EUA-East-1

Agora anexe o gateway da Internet ao VPC criado anteriormente usando o comando Anex-Internet-Gateway do serviço EC2.

ubuntu@ubuntu: ~ $ aws EC2 Anex-Internet-Gateway \
--VPC-ID \
--ID da Internet-gateway \
--Região EUA-East-1

Criar e associar a tabela de rota com sub -rede

O gateway da Internet está anexado ao VPC e agora podemos direcionar o tráfego da nossa sub -rede para o gateway da Internet usando a tabela de rota. Ao fazer isso, faremos de nossa sub -rede uma sub -rede pública. Crie a tabela de rota usando o comando Create-Route-Table do serviço EC2.

ubuntu@ubuntu: ~ $ aws ec2 create-rote-table \
--VPC-ID \
--Região EUA-East-1

Ele criará uma tabela de rota com a rota padrão, roteando todo o tráfego dentro da sub -rede. Agora crie uma nova rota que direcionará todo o tráfego em direção ao gateway da Internet, permitindo conectividade à Internet.

ubuntu@ubuntu: ~ $ aws ec2 create-route \
--Id de tabela de rota \
--Destination-Cidr 0.0.0.0/0 \
--Gateway-Id \
--Região EUA-East-1

Depois de criar a tabela de rota e a rota, agora use o comando Associate-Route-Table para associar a tabela de rota à sub-rede.

ubuntu@ubuntu: ~ $ aws ec2 associado-rote-table \
--Subnet-id \
--Id de tabela de rota \
--Região EUA-East-1

Crie grupo de segurança

Depois de criar o VPC, a sub -rede e a tabela de rota, agora é hora de criar um grupo de segurança para a instância do EC2. O Security Group é um firewall virtual fornecido pela AWS e usado para controlar o tráfego de entrada e saída de instâncias do EC2. A interface da linha de comando da AWS fornece um comando create-security-group a partir do serviço EC2 para criar o grupo de segurança.

ubuntu@ubuntu: ~ $ aws ec2 create-security-group \
--Demo-sg \ de nome em grupo \
--Descrição “Security Group for Demonsting” \
--VPC-ID \
--Região EUA-East-1

O comando acima criará um grupo de segurança no VPC especificado e retornará o ID do grupo de segurança em resposta.

Depois de criar o grupo de segurança, configure o grupo de segurança para permitir ou bloquear o tráfego de entrada e saída. Para este grupo de segurança, abriremos a porta 22 para conexão SSH e a porta 80 para tráfego HTTP.

ubuntu@ubuntu: ~ $ aws ec2 autorize-security-group-ingress \
--Grupo-Id \
--Protocolo TCP \
--Porta 80 \
--Cidr 0.0.0.0/0 \
--Região EUA-East-1
ubuntu@ubuntu: ~ $ aws ec2 autorize-security-group-ingress \
--Grupo-Id \
--Protocolo TCP \
--Porta 22 \
--Cidr 0.0.0.0/0 \
--Região EUA-East-1

Os dois comandos acima criarão duas regras de entrada para o grupo de segurança para permitir o tráfego de entrada das portas 22 e 80.

Gerar a chave SSH

Antes de lançar uma instância do EC2 usando a interface da linha de comando da AWS, crie uma chave SSH. Uma chave SSH é usada para autenticação e é mais segura do que os métodos convencionais de nome de usuário e senha de autenticação. A interface da linha de comando da AWS fornece um comando criate-ke-par do serviço EC2 para criar um par de chaves ssh.

ubuntu@ubuntu: ~ $ aws ec2 create-key par \
--Nome de nome-chave Demo-key-par \
--Texto de saída \
--Consulta “Keymaterial” \
--Região EUA-East-1> ./Demo-key-par.PEM

O comando Create-the-Par-pair leva o nome da chave e o tipo de saída como opções, e a saída padrão deste comando foi redirecionada para um arquivo chamado Demo-key-par.PEM. Use o comando CAT para verificar se a chave é gerada localmente ou não.

Ubuntu@ubuntu: ~.PEM

Depois de gerar a tecla SSH, agora liste a chave SSH usando o comando descrever-se-pare.

ubuntu@ubuntu: ~ $ aws ec2 descrever-se-pares \
--Nome de nome-chave Demo-key-par \
--Região EUA-East-1

Inicie a instância do EC2 usando CLI

Até agora, criamos todos os recursos usados ​​para iniciar a instância do EC2; Agora, é hora de lançar uma instância do EC2 usando a interface da linha de comando. A interface da linha de comando da AWS fornece o comando Run-Instances para iniciar a instância do EC2.

ubuntu@ubuntu: ~ $ aws EC2 Run-Instances \
--Image-id \
--contagem 1 \
--Type T2 do tipo instância.nano \
--Nome de nome-chave Demo-key-par \
--Ids de grupo de segurança \
--Subnet-id \
--Região EUA-East-1

O comando acima retornará uma saída longa que inclui as informações detalhadas da instância do EC2. Agora copie o ID da instância e use o seguinte comando para verificar se a instância é criada ou não.

ubuntu@ubuntu: ~ $ aws EC2 Descreve-Instances \
--instância-id \
--Região EUA-East-1

Conclusão

A interface da linha de comando da AWS é uma ferramenta poderosa para automatizar o provisionamento e o término das instâncias do EC2. A interface da linha de comando da AWS fornece comandos diferentes para criar recursos diferentes na nuvem da AWS. Este blog usou a interface da linha de comando para criar diferentes recursos como VPC, Internet Gateway, Subnet, Tabela de Rota, Chave SSH, Grupo de Segurança, Rotas de Tabela de Rota e Instância do EC2. Depois de ler este blog, você poderá criar uma instância do EC2 usando a interface da linha de comando.