Como usar a AWS CLI para gerenciar a instância do EC2 [Parte 1]

Como usar a AWS CLI para gerenciar a instância do EC2 [Parte 1]

“A AWS permite gerenciar todos os serviços e recursos usando a interface da linha de comando. Embora você não obtenha uma interface gráfica de usuário sofisticada, ela ainda é considerada mais profissional e útil. Existem até algumas opções que você não pode utilizar usando o console da GUI, por exemplo, permitindo “exclusão de MFA” no balde S3 e gerando URLs pré-assinados para um objeto S3. Antes de começar a gerenciar suas instâncias usando a AWS CLI, você deve configurá -lo em seu sistema. Visite o seguinte artigo para saber como você pode configurar as credenciais da AWS CLI no Windows, Linux ou Mac.”

https: // linuxhint.com/configure-aws-cli-credentials/

Este artigo discutirá as seguintes operações que podem ser realizadas no EC2 usando a interface da linha de comando da AWS.

  • Criando o par de chaves ssh
  • Criando o grupo de segurança da instância
  • Criando instância do EC2

Criando o par de chaves ssh

Antes de criar uma instância do EC2 na AWS, precisamos criar uma chave SSH que será configurada com a instância do EC2 para acessá -la via SSH. Use os seguintes comandos na sua AWS CLI para gerar o par de chaves SSH antes de iniciar uma instância do EC2.

ubuntu@ubuntu: ~ $ aws ec2 create-key par \
--nome-chave \
--formato de chave

Aqui acabamos de fornecer o nome para o nosso par de chaves e o formato -chave. Para o formato -chave, você pode optar por PEM ou ppk, dependendo do sistema operacional. O PEM O formato é usado principalmente para acessar o sistema operacional Linux via SSH, enquanto o ppk O formato é usado para acessar a máquina Windows via RDP.

O comando acima gerará a chave privada na saída; Você precisa salvá -lo imediatamente, pois nunca mais pode ver. Você deve salvar esta saída em um arquivo com o .PEM extensão, e será usada para ssh no caso em que está associado a.

Criando o grupo de segurança da instância

Grupos de segurança ajudam a melhorar a segurança da rede da sua instância do EC2, permitindo que você defina o tráfego de entrada e saída para sua instância. O grupo de segurança atua como um firewall virtual em frente à sua instância do EC2 e pode ser usado para proteger sua instância de ser sequestrado. Você pode especificar intervalos de IP e outros grupos de segurança como fontes e podem permitir o tráfego em portas específicas dessas fontes.

Grupos de segurança têm uma limitação: você só pode criar o permitir regras e o negar Regras não podem ser criadas. Além disso, os grupos de segurança estão com estado, ou seja, se você definir uma regra de entrada para um IP, ele atingirá automaticamente a capacidade de saída.

Para criar um grupo de segurança usando a interface da linha de comando da AWS, use o seguinte comando no terminal.

ubuntu@ubuntu: ~ $ aws ec2 create-security-group \
--nome do grupo \
--descrição <“Security Group Description”>

Na saída, você só obtém o ID do grupo de segurança. O grupo recém -criado, por padrão, não tem permissões de entrada e todas as permissões de saída. Você pode ver os detalhes do seu grupo de segurança, conforme descrito abaixo.

ubuntu@ubuntu: ~ $ AWS EC2 Descreva-se-segurança-grupos \
--nomes de grupo

Agora, para adicionar uma regra de entrada ao grupo de segurança, o seguinte comando pode ser usado.

ubuntu@ubuntu: ~ $ aws ec2 autorize-security-group-ingress \
--Porta 22 \
--Protocolo TCP \
--Grupo-Id \
--Cidr 0.0.0.0/0

Neste comando, você autoriza seu grupo de segurança a permitir o tráfego de rede de qualquer IP na porta 22. O comando gerará a seguinte saída.

Agora, se corrermos novamente o Descreva o grupo de segurança comando, você verá a regra de entrada recém -adicionada lá.

Criando instância do EC2

Criar uma instância EC2 da CLI é uma tarefa simples; Há um grande número de opções que você pode especificar ao criar a instância do EC2, que você verá um por um em detalhes.

Vamos começar com a criação da instância usando a AWS CLI com opções mínimas. O comando a seguir pode ser usado no terminal para criar a instância do EC2 com opções mínimas.

ubuntu@ubuntu: ~ $ aws EC2 Run-Instances \
--Image-id \
--contar \
--tipo de instância \
--nome-chave \
--Ids de grupo de segurança

Ao executar este comando, você obterá uma saída detalhada da instância recém -criada.

Como você pode ver, existem vários parâmetros especificados no comando para criar a instância do EC2, e a seguir é uma descrição detalhada de cada parâmetro.

O Image-id é o ID da imagem da Amazon Machine ou o sistema operacional que você deseja usar em sua instância. Há uma longa lista de imagens de máquina disponíveis na AWS, e você também pode criar sua própria imagem e vendê -la no mercado comunitário.

O contar A opção pode ser usada para especificar o número de instâncias do EC2 que você deseja criar usando a interface da linha de comando da AWS com as mesmas configurações.

O tipo de instância A opção é usada para especificar a alocação de recursos, como a CPU e a memória na sua instância do EC2. A AWS fornece vários tipos de instância e você pode ver todos esses tipos de instância visitando o seguinte link.

https: // aws.Amazonas.com/ec2/tipo de instância/

O nome-chave opção especifica o nome do par de chaves ssh que precisamos anexar à nossa instância. Este par de chaves ssh pode ser usado para acessar a instância do EC2 remotamente. Na seção anterior, discutimos como podemos criar um par de chaves ssh usando a interface da linha de comando da AWS.

O grupo de segurança A opção é usada para especificar uma lista de grupos de segurança que serão anexados à instância do EC2 lançada. A AWS anexará o grupo de segurança padrão à instância do EC2 se não for especificado.

Parâmetros EC2 adicionais

Já explicamos muitos parâmetros de instância, mas ainda existem muitos outros parâmetros disponíveis. Esta seção discutirá parâmetros mais detalhados que nos ajudarão a configurar a instância do EC2 recém -criada de acordo com nossos requisitos. Esses parâmetros são definidos com a criação da instância do EC2, mas são opcionais e não são necessários para especificar o tempo todo.

Zona de disponibilidade

Cada região da AWS possui uma ou mais zonas de disponibilidade que são data centers geograficamente separados. Eles ajudam a aumentar a disponibilidade do serviço da AWS em uma região; Se uma zona de disponibilidade em uma região diminuir, as outras zonas de disponibilidade ainda funcionarão.

Quando uma instância do EC2 é criada, a AWS atribui automaticamente uma zona de disponibilidade a ela, mas você também pode especificá -la de acordo com o seu requisito de infraestrutura. A zona de disponibilidade pode ser especificada usando o seguinte parâmetro enquanto cria a instância do EC2 usando a interface da linha de comando da AWS.

ubuntu@ubuntu: ~ $ aws EC2 Run-Instances \
--contar \
--tipo de instância \
--Disponibilidade de colocação Zone =
--Image-id \

Você pode ver na saída que a instância é lançada em nossa zona de disponibilidade desejada.

VPC e sub -rede

Geralmente, criamos um VPC separado (nuvem privada virtual) e sub -redes para cada novo aplicativo que lançamos em nossa conta da AWS. Isso garante um alto nível de segurança e permite que todos os recursos se comuniquem sem acessar a rede pública. Se você não especificar um VPC, todas as instâncias serão lançadas na sub -rede aleatória do VPC padrão.

Ao criar a instância do EC2 usando a interface da linha de comando da AWS, você pode especificar a sub -rede usando o -Subnet-id opção.

ubuntu@ubuntu: ~ $ aws EC2 Run-Instances \
--Type T2 do tipo instância.micro \
--Subnet-ID Subnet-0D1721EF0B75A675B \
--Imagem-ID AMI-0CFF7528FF583BF9A \
--contagem 1

Ao criar a instância do EC2, precisamos especificar apenas o ID da sub -rede, e a instância do EC2 é criada automaticamente no VPC em que a sub -rede pertence.

Dados do usuário do EC2

Quando criamos uma nova instância, você pode especificar alguns scripts ou comandos que deseja executar na inicialização, como atualizar o sistema ou instalar pacotes de software. Isso é apenas uma coisa opcional a fazer e não exigiu o tempo todo, mas pode ser muito útil em alguns casos. Para fornecer os dados do usuário, você precisa criar um script bash que seja dado como um parâmetro ao inicializar a instância do EC2.

Então abra seu terminal e crie um arquivo de texto simples nele.

ubuntu@ubuntu: ~ $ sudo nano

Vamos escrever um script para instalar e iniciar um servidor da Web Apache em nossa instância.

#!/BIN/BASH
sudo yum install httpd -y
sudo systemctl iniciar httpd

Agora podemos usar este script de dados do usuário para executar uma nova instância; Esta instância terá o servidor Apache pré-instalado e executado.

Use o IP público da sua instância EC2 recém -lançada para acessar a porta 80 no seu navegador e mostrará a página padrão do Apache Web Server.

É assim que você pode usar os dados do usuário para instalar ou configurar algo durante a inicialização da instância.

Conclusão

A AWS fornece o utilitário de linha de comando para gerenciar e criar programaticamente as instâncias do EC2. Isso também permite criar recursos como chaves ssh, grupos de segurança e volumes de armazenamento. Você pode gerenciar dados do usuário do EC2, zonas de disponibilidade e subconjuntos com a ajuda da CLI. A maioria dos profissionais da indústria de TI prefere usar a CLI sobre o console da GUI, porque você não precisa alternar entre guias e páginas da web. Além disso, a GUI continua atualizando, dificultando o gerenciamento de todos os parâmetros e opções.