Ansible for AWS - Gerenciamento de nuvem facilitado

Este blog do Ansible for AWS fala sobre ter uma vantagem no uso do Ansibe com a AWS, demonstrando a automação da criação e provisionamento de uma instância EC2.

As empresas investiram muito tempo e dinheiro desenvolvendo e instalando software para melhorar suas operações. A introdução da computação em nuvem ofereceu aos seus negócios o acesso a softwares na internet como serviço que se mostrou mais eficiente e seguro. Integrar uma ferramenta de automação de TI como Ansible, que irá provisionar e gerenciar facilmente sua infraestrutura de nuvem como AWS, é como ganhar a sorte grande. E é sobre isso que falaremos neste blog do Ansible for AWS.

Diário:



Se você deseja dominar DevOps, ' o curso seria sua opção preferida.

Por que as empresas migram para a nuvem?

Como mencionado anteriormente, a Could Computing permite que as empresas acessem servidores como software pela Internet. Para deixar claro, Cloud Computing é como se conectar a uma rede elétrica central em vez de gerar sua própria energia. A nuvem se tornou o novo normal e isso acaba economizando muito tempo e dinheiro. Vejamos algumas vantagens de por que as empresas migram para a nuvem.

1. Flexibilidade:

O crescimento dos negócios nunca é estático. Os serviços baseados em nuvem são adequados para demandas de negócios crescentes e flutuantes. Um recurso para aumentar e diminuir sua implantação com base no requisito o torna muito flexível.

2. Recuperação de desastres:

Todas as empresas deveriam ter investido na recuperação de desastres. Toda fortuna acaba investindo muito na recuperação de desastres. As startups e as empresas de baixo orçamento não têm dinheiro e as habilidades necessárias para isso e não podem ter uma característica funcional de recuperação de desastres adequada. A nuvem fornece soluções de recuperação de desastres para os clientes desenvolverem planos robustos e econômicos.

3. Atualizações automáticas de software:

Como você já sabe, a nuvem é o serviço prestado pela internet e, portanto, todos os servidores estão fora do seu alcance ou melhor, não são sua dor de cabeça. Os fornecedores cuidam deles, o que inclui a atualização quando necessário e a execução de verificações de segurança regulares. Isso novamente acaba economizando muito tempo e dinheiro.

4. Custos reduzidos:

Estabelecer um data center do zero pode sair caro. A operação e a manutenção aumentam as despesas. Você precisa da tecnologia certa, do hardware certo, da equipe certa com o conhecimento e a experiência certos, o que parece muito trabalho para mim. Além disso, não é muito promissor, há um milhão de maneiras pelas quais isso pode dar errado. Migrar para a nuvem oferece esse ponto positivo.

5. Escalabilidade:

A maneira tradicional de planejar um crescimento inesperado é comprar e manter servidores, armazenamento e licenças adicionais. Pode levar anos antes de você realmente usá-los. As plataformas em nuvem permitem que você amplie esses recursos conforme necessário. Esse dimensionamento dinâmico é perfeito para um crescimento imprevisível.

6. Segurança de dados:

Na maioria das vezes, é melhor manter seus dados na nuvem em vez de armazená-los em um dispositivo físico, como laptops ou discos rígidos. Há grandes chances de esses dispositivos físicos serem roubados ou quebrados. A nuvem permite remover os dados remotamente ou transferi-los para outro servidor, garantindo que os dados permaneçam intactos e seguros.

7. Aumento da colaboração:

O uso de plataformas em nuvem permite que a equipe acesse, edite e compartilhe documentos a qualquer hora, em qualquer lugar. Eles são capazes de trabalhar juntos, aumentando assim a eficiência. Isso também fornece atualizações transparentes e em tempo real.

Recursos Ansible

O Ansible possui alguns recursos exclusivos e, quando tais recursos colaboram com o Amazon Web Services, deixa uma marca. Vamos dar uma olhada nesses recursos incríveis:

  1. Ansible é baseado em uma arquitetura sem agente, ao contrário de Chef e Puppet
  2. O Ansible acessa seu host por meio de SSH, o que faz com que a comunicação entre servidores e hosts seja muito rápida
  3. Nenhuma infraestrutura de segurança personalizada é necessária
  4. Configurar manuais e módulos é muito fácil, pois segue o formato YAML
  5. Possui uma ampla gama de módulos para seus clientes
  6. Permite gerenciamento de configuração completo, orquestração e capacidade de implantação
  7. O Ansible Vault mantém os segredos seguros

Por que usar o Ansible para AWS?

Agora que analisamos os benefícios de usar uma plataforma em nuvem como a AWS e recursos exclusivos do Ansible, vamos dar uma olhada na mágica criada pela integração dessas duas lendas.

1. Nuvem como grupo de serviços

A nuvem não é apenas um grupo de servidores no data center de outra pessoa, mas muito mais do que isso. Você vai perceber isso depois de implantar seus serviços nele. Existem muitos serviços disponíveis que permitem implantar e dimensionar seus aplicativos rapidamente. A automação Ansible ajuda a gerenciar seu ambiente AWS como um grupo de serviços, em vez de usá-los como um grupo de servidores.

2. Módulos Ansible que dão suporte à AWS

Ansible é usado para definir, implantar e gerenciar uma ampla variedade de serviços. Os ambientes AWS mais complicados podem ser provisionados facilmente usando um manual. O melhor recurso é que você cria uma conexão servidor-host e, em seguida, executa o manual em apenas um sistema e provisiona vários outros sistemas com uma opção de aumentar e diminuir de acordo com o requisito.

O Ansible tem centenas de módulos que oferecem suporte à AWS e alguns deles incluem:

  • Grupos de escalonamento automático
  • CloudFormation
  • CloudTrail
  • CloudWatch
  • DynamoDB
  • ElastiCache
  • Elastic Cloud Compute (EC2)
  • Identity Access Manager (IAM)
  • Lambda
  • Serviço de banco de dados relacional (RDS)
  • Route53
  • Grupos de Segurança
  • Serviço de armazenamento simples (S3)
  • Nuvem privada virtual (VPC)
  • E muitos mais

3. Inventário Dinâmico

Em um ambiente de desenvolvimento, os hosts continuam girando e fechando com diversos requisitos de negócios. Nesse caso, o uso de inventário estático pode não ser suficiente. Tais situações exigem o uso do Inventário Dinâmico. Isso permite mapear hosts com base em grupos fornecidos por scripts de inventário, ao contrário do inventário normal, que força você a mapear hosts manualmente, o que é muito tedioso.

4. Automação Segura

Suponha que você tenha uma equipe de 5 pessoas e cada uma delas tenha dois subordinados subordinados que não são totalmente qualificados. Você não gostaria de dar a eles acesso completo a todo o processo de implantação. É quando você percebe a necessidade de restringir a autorização.

O Ansible Tower oferece esse recurso para restringir autorizações. Basicamente, você escolhe quem pode fazer o quê, o que torna mais fácil moderar.Além disso, o Ansible Tower criptografa credenciais e outros dados confidenciais e você apenas dá aos subordinados acesso a recursos relevantes, enquanto restringe seu acesso a recursos irrelevantes.

Demonstração: Automatize o provisionamento de uma instância EC2 usando o Ansible

Nesta seção de demonstração, vou demonstrar como o Ansible oferece suporte à AWS, mostrando como automatizar o início e o provisionamento de uma instância EC2. Vamos começar.

Passo 1 :

Instale o Ansible em seu nó de servidor e faça uma conexão SSH entre seu servidor e os nós de cliente no AWS. Nesse caso, criei duas instâncias do EC2, um servidor no qual o Ansible está instalado e o outro é o cliente.

Passo 2:

Agora certifique-se de ter todos os requisitos instalados. De acordo com a documentação, estes são os seguintes requisitos:

  • Python> = 2.6
  • voto

Instale o python usando o seguinte comando:

$ sudo apt install python

Instale o boto usando o seguinte comando:

$ sudo apt install python-pip
$ pip install boto

programa java para a série fibonacci

Boto é uma interface python para usar os serviços da Web da Amazon. Você terá que importá-lo usando o seguinte comando:

$ python
botão $ import
$ exit ()

vote - Ansible For AWS - Edureka

Etapa 3:

Você tem que configurar seu AWS. Use o seguinte comando para o mesmo:

$ aws configurar

E adicione seu ID de chave de acesso da AWS, chave secreta e região padrão (que é opcional).

Passo 4:

Escreva um manual para iniciar e provisionar uma instância EC2.

$ sudo vi /etc/ansible/launch.yml

--- - name: Crie uma instância ec2 hosts: web gather_facts: false vars: region: us-east-1 instance_type: t2.micro ami: ami-05ea7729e394412c8 keypair: priyajdm tasks: - name: Crie uma instância ec2 ec2: aws_access_key : '********************' aws_secret_key: '************************ ***************** 'key_name:' {{keypair}} 'group: launch-wizard-26 instance_type:' {{instance_type}} 'imagem:' {{ami}} 'wait: true region:' {{region}} 'count: 1 vpc_subnet_id: subnet-02f498e16fd56c277 assign_public_ip: sim registrar: ec2

É uma boa prática saber o que o código faz antes de realmente executá-lo. Deixe-me explicar este manual para melhor compreensão.

Nome: Pode ser literalmente qualquer coisa. Uma boa prática é manter um nome que forneça uma descrição básica da tarefa que ele executa.

Hospedeiro: Menciona o nome da lista de hosts em relação à qual o manual deve ser executado. No meu caso é Rede .

reunir_fatos: Este parâmetro informa ao Ansible para reunir todos os fatos, variáveis ​​e outros dados relevantes para referência futura. Em nosso caso, definimos como falso porque não temos como coletar fatos (endereço IP, nome do host, etc.).

de quem: Esta seção define e inicializa todas as variáveis ​​que usaremos neste manual. Temos quatro variáveis ​​aqui:

  • região define a região em que a instância EC2 precisa surgir
  • tipo_de_instância define o tipo de instância que estamos tentando apresentar. No nosso caso, estamos usando t2.micro
  • qual define o AMI da instância que estamos tentando apresentar

  • par de chaves define o par de chaves que vamos usar para abrir a instância

ec2: Este é um módulo fornecido pelo Ansible usado para iniciar ou encerrar uma instância EC2.

Este módulo tem certos parâmetros que usaremos para especificar outras funções da instância EC2 que estamos tentando iniciar.

  • Começamos mencionando o ID da chave de acesso da AWS e a chave secreta usando os parâmetros aws_access_key e aws-secret_key .
  • key_name: passe a variável que define o par de chaves usado aqui
  • grupo: mencionar o nome do grupo de segurança. Isso define as regras de segurança da instância EC2 que estamos tentando trazer
  • instance_type: passe a variável que define o tipo de instância que estamos usando aqui
  • imagem: passe a variável que define o AMI da imagem que estamos tentando iniciar
  • esperar: Isso tem um valor booleano verdadeiro ou falso. Se verdadeiro, ele espera que a instância alcance o estado desejado antes de retornar
  • região: passe a variável que define a região em que uma instância EC2 precisa ser criada.
  • contagem: Este parâmetro especifica o número de instâncias que precisam ser criadas. Neste caso, mencionei apenas um, mas isso depende de seus requisitos.
  • vpc_subnet_id: passe o id da sub-rede na qual você deseja criar a instância
  • assign_public_ip: Este parâmetro possui um valor booleano. Se for verdade como em nosso caso, um IP público será atribuído à instância quando provisionado no VPC.

Etapa 5:

Agora que você entendeu cada linha do manual, vamos prosseguir e executá-lo. Use o seguinte comando:

$ ansible-playbook /etc/ansible/launch.yml


Depois de executar o manual, você verá uma instância sendo criada.


E TADA! Você automatizou com sucesso o provisionamento de uma instância EC2. Da mesma forma, você também pode escrever um manual para interromper a instância EC2.

Isso nos leva ao final do blog Ansible For AWS. Se você achar este artigo útil, verifique o ' oferecido por Edureka. Abrange todas as ferramentas que tornaram o setor de TI eficiente.