Ansible é a ferramenta de gerenciamento de configuração mais popular e provavelmente poderosa. Ele é construído para facilitar o gerenciamento e a configuração de hosts remotos usando um conjunto de comandos definidos como tarefas.
Funciona usando módulos desenvolvidos para tarefas específicas, como gerenciar usuários, gerenciar arquivos, instalar e remover pacotes de software e muito mais.
Este guia usará o módulo Ansible AWS para provisão e gerenciar uma instância do EC2. Começaremos com o básico da configuração de uma conta da AWS, instalando Ansible e, finalmente, cobrirá como trabalhar com o módulo Ansible AWS.
O que é uma instância do EC2?
A primeira pergunta a ser abordada é: o que é um EC2? Se você é novo na computação em nuvem e na AWS, isso pode parecer novo para você.
Amazon Elastic Compute Cloud, ou Amazon EC2 para curta.
A capacidade de aumentar os servidores remotos configurados com recursos como CPU, memória, disco, redes, sistema operacional e muito mais por alguns cliques é muito benéfico. Ele remove a necessidade de investir em hardware e elimina a preocupação em conectar os dispositivos.
As instâncias do Amazon EC2 são um dos blocos de construção mais fundamentais da AWS Cloud Computing.
Não vamos mergulhar profundamente em como funciona ou nos modelos de preços e configurações para a AWS. Verifique o site da AWS para saber mais.
Configuração do ambiente
O primeiro passo é configurar nossos ambientes. Precisaremos de uma conta da AWS, Ansible e Python para este guia.
Recomendamos usar a versão mais recente do Ansible e Python.
Instale Ansible
Este tutorial mostrará a instalação e a configuração do Ansible em um sistema baseado em Debian. Verifique nossos outros tutoriais para aprender como instalá -lo em outras distribuições.
Abra o terminal e edite seus repositórios de software.
sudo vim/etc/apt/fontes.lista
Adicione a seguinte entrada ao arquivo:
Deb http: // ppa.plataforma de lançamento.Net/Ansible/Ansible/Ubuntu Focal Main
Em seguida, execute os comandos como mostrado abaixo:
sudo apt-get install gnupg
sudo apt-key Adv-KeyServer KeyServer.Ubuntu.COM--RECV-KEYS 93C4A3FD7BB9C367
Atualização de sudo apt-get
sudo apt-get installible
Depois de instalar o Ansible, podemos definir e configurar o Python.
Instale o python3, python3-pip
Para instalar o Python3 e o PIP no Debian 11, execute os comandos como mostrado:
Atualização de sudo apt-get
sudo apt-get install python3.9 python3 -pip -y
Os comandos acima instalarão Python versão 3.9 e o PIP3 em seu sistema.
Instale o BOTO
O próximo passo é instalar o BOTO. BOTO é um poderoso pacote Python que fornece uma interface para interagir com os serviços da AWS usando Python.
Para instalar a versão mais recente do pacote BOTO usando o PIP, como mostrado no comando abaixo:
sudo pip3 install boto3
Depois que todas as ferramentas e pacotes forem instalados com sucesso, podemos criar playbooks Ansible para inicializar uma instância do EC2.
Crie Playbook Ansible EC2
Abra o terminal e crie um manual Ansible terminando com um .Extensão YML. Edite o arquivo com seu editor de texto favorito e adicione o manual, como mostrado abaixo:
---
- Nome: Ansible Criar instância EC2
Anfitriões: localhost
Gather_Facts: False
tarefas:
- Nome: Provisão uma instância do EC2
EC2:
Região: EUA-East-2
Nome da chave: Ansible-EC2-SSH-Key
Instância_type: T2.micro
Imagem: AM1-123456
Espere: sim
Contagem: 1
Grupo: Sample_servers
atribuído_public_ip: sim
Registro: Amazon_EC2
delegate_to: localhost
Crie o par de chaves ssh
Depois que o manual estiver configurado, crie um par de chaves ssh para fazer login na instância do EC2, uma vez provisionado. Certifique-se de criar uma chave com um nome semelhante ao definido no parâmetro de nome-chave no manual acima.
ssh -keygen -t rsa -b 4096 -f ~//.SSH/ANSIBLE-EC2-SSH-KEY
Adicionando acesso da AWS e chave secreta
O próximo passo é adicionar nossas credenciais da AWS ao nosso manual. Por simplicidade, adicionaremos as credenciais ao manual em formato simples.
NOTA: Não exponha seu acesso à AWS e chave secreta dentro de um manual na vida real. Considere usar variáveis de ambiente ou ferramentas, como o Ansible Vault.
---
- Nome: Ansible Criar instância EC2
Anfitriões: localhost
Gather_Facts: False
tarefas:
- Nome: Provisão uma instância do EC2
EC2:
Região: EUA-East-2
Nome da chave: Ansible-EC2-SSH-Key
Instância_type: T2.micro
Imagem: AM1-123456
Espere: sim
Conde: 1The
Grupo: Sample_servers
atribuído_public_ip: sim
vpc_subnet_id: padrão
aws_access_key: ************* xxxx
aws_secret_key: *****************
Registro: Amazon_EC2
delegate_to: localhost
O acima mostra o novo manual com as credenciais da AWS expostas. Evite isso!!
Depois de ter o manual, execute -o usando o comando:
Ansible-playbook create-ec2.yml
O comando acima deve executar o manual acima e criar uma instância do EC2.
Compreendendo o manual
Vamos agora entender o manual fornecido nos exemplos acima. Observe que vamos nos concentrar apenas na parte do EC2 do manual.
Usando o módulo Ansible AWS, você pode usar os argumentos acima para criar uma instância do EC2.
Fechamento
Este guia fornece um tutorial sobre a criação de uma instância do Amazon EC2 usando o módulo Ansible AWS.