Ansible pour AWS - Gérer le cloud en toute simplicité

Ce blog Ansible pour AWS parle d'avoir un avantage sur l'utilisation d'Ansibe avec AWS, démontrant l'automatisation de la création et du provisionnement d'une instance EC2.

Les entreprises ont investi beaucoup de temps et d'argent dans le développement et l'installation de logiciels pour améliorer leurs opérations. L'introduction au cloud computing a permis à leur entreprise d'accéder à des logiciels sur Internet en tant que service qui s'est avéré plus efficace et plus sûr. Intégrer un outil d'automatisation informatique comme Ansible, qui fournira et gérera facilement votre infrastructure cloud comme AWS, c'est comme gagner le jackpot. Et c'est ce dont nous allons parler dans ce blog Ansible pour AWS.



L 'agenda:



Si vous souhaitez maîtriser DevOps, ' cours serait votre option préférée.

Pourquoi les entreprises migrent vers le cloud?

Comme mentionné précédemment, Could Computing permet aux entreprises d'accéder à des serveurs tels que des logiciels sur Internet. Pour être clair, le Cloud Computing, c'est comme se brancher sur un réseau électrique central au lieu de générer votre propre électricité. Le cloud est devenu la nouvelle norme et cela finit par économiser beaucoup de temps et d'argent. Voyons quelques avantages des raisons pour lesquelles les entreprises migrent vers le cloud.



1. Flexibilité:

La croissance des entreprises n'est jamais statique. Les services basés sur le cloud sont adaptés aux demandes commerciales croissantes et fluctuantes. Une fonctionnalité permettant d'augmenter et de réduire votre déploiement en fonction des besoins le rend très flexible.

2. Reprise après sinistre:

Chaque entreprise devrait avoir investi dans la reprise après sinistre. Chaque société de fortune finit par investir beaucoup dans la reprise après sinistre. Les startups et les entreprises à petit budget manquent de l'argent et des compétences requises pour cela et sont incapables d'avoir un trait fonctionnel de reprise après sinistre. Le cloud fournit des solutions de reprise après sinistre aux clients pour développer des plans robustes et rentables.

3. Mises à jour automatiques du logiciel:

Comme vous le savez déjà, le cloud est le service fourni par Internet et donc tous les serveurs sont hors de votre portée ou plutôt pas votre casse-tête. Les fournisseurs s'en occupent, ce qui comprend la mise à jour si nécessaire et la réalisation de contrôles de sécurité réguliers. Cela finit à nouveau par économiser beaucoup de temps et d'argent.



4. Coûts réduits:

Créer un centre de données à partir de rien peut coûter cher. L'exécution et l'entretien s'ajoutent aux dépenses. Vous avez besoin de la bonne technologie, du bon matériel, du bon personnel avec les bonnes connaissances et l'expérience, ce qui me semble beaucoup de travail. De plus, ce n'est pas très prometteur, il y a un million de façons dont cela pourrait mal tourner. La migration vers le cloud vous donne ce plus.

5. Évolutivité:

La manière traditionnelle de planifier une croissance inattendue consiste à acheter et à conserver des serveurs, du stockage et des licences supplémentaires. Cela peut prendre des années avant que vous ne les utilisiez réellement. Les plates-formes cloud vous permettent d'augmenter ces ressources en cas de besoin. Cette mise à l'échelle dynamique convient parfaitement à une croissance imprévisible.

6. Sécurité des données:

La plupart du temps, il est préférable de conserver vos données sur le cloud plutôt que de les stocker sur un appareil physique comme des ordinateurs portables ou des disques durs. Il y a de fortes chances que ces appareils physiques soient volés ou brisés. Cloud vous permet de supprimer à distance les données ou de les transférer vers un autre serveur en vous assurant que les données restent intactes et en sécurité.

7. Collaboration accrue:

L'utilisation de plates-formes cloud permet à l'équipe d'accéder, de modifier et de partager des documents à tout moment et en tout lieu. Ils sont capables de travailler ensemble, augmentant ainsi l'efficacité. Cela fournit également des mises à jour transparentes et en temps réel.

Caractéristiques d'Ansible

Ansible a des fonctionnalités uniques et lorsque ces fonctionnalités collaborent avec Amazon Web Services, laisse une marque. Jetons un coup d'œil à ces fonctionnalités incroyables:

  1. Ansible est basé sur une architecture sans agent, contrairement à Chef et Puppet
  2. Ansible accède à son hôte via SSH, ce qui donne l'impression que la communication entre les serveurs et les hôtes est un jeu d'enfant
  3. Aucune infrastructure de sécurité personnalisée n'est nécessaire
  4. La configuration des playbooks et des modules est très simple car elle suit le format YAML
  5. Dispose d'une large gamme de modules pour ses clients
  6. Permet une gestion complète de la configuration, une orchestration et une capacité de déploiement
  7. Ansible Vault protège les secrets

Pourquoi utiliser Ansible pour AWS?

Maintenant que nous avons passé en revue les avantages de l'utilisation d'une plate-forme cloud comme AWS et des fonctionnalités uniques d'Ansible, examinons la magie créée par l'intégration de ces deux légendes.

1. Cloud en tant que groupe de services

Le cloud n'est pas seulement un groupe de serveurs sur le centre de données de quelqu'un d'autre, mais bien plus que cela. Vous vous en rendrez compte une fois que vous aurez déployé vos services dessus. Il existe de nombreux services disponibles qui vous permettent de déployer et de faire évoluer rapidement vos applications. L'automatisation Ansible vous aide à gérer votre environnement AWS comme un groupe de services plutôt que de les utiliser en tant que groupe de serveurs.

2. Modules Ansible prenant en charge AWS

Ansible est utilisé pour définir, déployer et gérer une grande variété de services. Les environnements AWS les plus complexes peuvent être provisionnés très facilement à l'aide d'un playbook. La meilleure caractéristique est que vous créez une connexion serveur-hôte, puis exécutez le playbook sur un seul système et approvisionnez plusieurs autres systèmes avec une option pour augmenter et réduire selon les besoins.

Ansible a des centaines de modules prenant en charge AWS et certains d'entre eux incluent:

  • Groupes d'autoscaling
  • CloudFormation
  • CloudTrail
  • CloudWatch
  • DynamoDB
  • ElastiCache
  • Elastic Cloud Compute (EC2)
  • Gestionnaire d'accès à l'identité (IAM)
  • Lambda
  • Service de base de données relationnelle (RDS)
  • Route53
  • Groupes de sécurité
  • Service de stockage simple (S3)
  • Cloud privé virtuel (VPC)
  • Et beaucoup plus

3. Inventaire dynamique

Dans un environnement de développement, les hôtes continuent de tourner et de s'arrêter avec des exigences métier diverses. Dans un tel cas, l'utilisation d'un inventaire statique peut ne pas être suffisante. De telles situations nécessitent l'utilisation de l'inventaire dynamique. Cela vous permet de mapper les hôtes en fonction des groupes fournis par les scripts d'inventaire, contrairement à l'inventaire normal qui vous oblige à mapper les hôtes manuellement, ce qui est très fastidieux.

4. Automatisation sûre

Supposons que vous ayez une équipe de 5 personnes et que chacun d'eux ait deux subordonnés sous eux qui ne sont pas complètement qualifiés. Vous ne voudriez pas leur donner un accès complet à l'ensemble du processus de déploiement. C’est là que vous vous rendez compte de la nécessité de restreindre l’autorisation.

Ansible Tower propose cette fonctionnalité pour restreindre les autorisations. Donc, fondamentalement, vous avez choisi qui peut faire quoi, ce qui facilite la modération. En outre, Ansible Tower crypte les informations d'identification et autres données sensibles et vous ne donnez aux subordonnés l'accès qu'aux ressources pertinentes tout en limitant leur accès aux ressources non pertinentes.

à quoi sert la sérialisation en java

Démo: automatisez l'approvisionnement d'une instance EC2 à l'aide d'Ansible

Dans cette section de démonstration, je vais vous montrer comment Ansible prend en charge AWS en montrant comment automatiser le démarrage et l'approvisionnement d'une instance EC2. Commençons.

Étape 1 :

Installez Ansible sur votre nœud de serveur et établissez une connexion SSH entre votre serveur et les nœuds clients sur AWS. Dans ce cas, j'ai créé deux instances EC2, un serveur sur lequel Ansible est installé et l'autre est le client.

Étape 2:

Assurez-vous maintenant que toutes les exigences sont installées. Selon la documentation, ce sont les exigences suivantes:

  • Python> = 2,6
  • vote

Installez python à l'aide de la commande suivante:

$ sudo apt installer python

Installez boto à l'aide de la commande suivante:

$ sudo apt installer python-pip
$ pip installer boto

Boto est une interface python permettant d'utiliser les services Web Amazon. Vous devrez l'importer à l'aide de la commande suivante:

$ python
bouton $ import
$ exit ()

vote - Ansible pour AWS - Edureka

Étape 3:

Vous devez configurer votre AWS. Utilisez la commande suivante pour la même chose:

$ aws configurer

Et ajoutez votre ID de clé d'accès AWS, votre clé secrète et votre région par défaut (ce qui est facultatif).

Étape 4:

Écrivez un playbook pour démarrer et provisionner une instance EC2.

$ sudo vi /etc/ansible/launch.yml

--- - name: Créer une instance ec2 hosts: web Gather_facts: false vars: region: us-east-1 instance_type: t2.micro ami: ami-05ea7729e394412c8 keypair: priyajdm tasks: - name: Créer une instance ec2 ec2: aws_access_key : '********************' aws_secret_key: '************************ **************** 'key_name:' {{keypair}} 'group: launch-wizard-26 instance_type:' {{instance_type}} 'image:' {{ami}} 'wait: true region:' {{region}} 'count: 1 vpc_subnet_id: subnet-02f498e16fd56c277 assign_public_ip: yes register: ec2

C'est une bonne pratique de savoir ce que fait le code avant de l'exécuter. Laissez-moi vous expliquer ce manuel pour une meilleure compréhension.

Nom: Cela peut être n'importe quoi. Une bonne pratique consiste à conserver un nom qui donne une description de base de la tâche qu'il effectue.

Hôte: Mentionne le nom de la liste d'hôtes sur laquelle le playbook doit être exécuté. Dans mon cas, c'est la toile .

rassembler_facts: Ce paramètre indique à Ansible de rassembler tous les faits, variables et autres données pertinents pour référence future. Dans notre cas, nous l'avons défini sur false car nous n'avons pas besoin de collecter des faits (adresse IP, nom d'hôte, etc.).

dont: Cette section définit et initialise toutes les variables que nous utiliserons dans ce playbook. Nous avons quatre variables ici:

  • Région définit la région dans laquelle l'instance EC2 doit apparaître
  • instance_type définit le type d'instance que nous essayons de signaler. Dans notre cas, nous utilisons t2.micro
  • lequel définit l'AMI de l'instance que nous essayons de mettre en place

  • paire de clés définit la paire de clés que nous allons utiliser pour faire apparaître l'instance

ec2: Il s'agit d'un module fourni par Ansible utilisé pour démarrer ou terminer une instance EC2.

Ce module contient certains paramètres que nous utiliserons pour spécifier d'autres fonctionnalités de l'instance EC2 que nous essayons de démarrer.

  • Nous commençons par mentionner l'ID de la clé d'accès AWS et la clé secrète à l'aide des paramètres aws_access_key et aws-secret_key .
  • nom_clé: passer la variable qui définit la paire de clés utilisée ici
  • groupe: mentionner le nom du groupe de sécurité. Cela définit les règles de sécurité de l'instance EC2 que nous essayons de mettre en place
  • instance_type: transmettez la variable qui définit le type d'instance que nous utilisons ici
  • image: transmettez la variable qui définit l'AMI de l'image que nous essayons de démarrer
  • attendez: Cela a une valeur booléenne vraie ou fausse. Si vrai, il attend que l'instance atteigne l'état souhaité avant de retourner
  • Région: transmettez la variable qui définit la région dans laquelle une instance EC2 doit être créée.
  • compter: Ce paramètre spécifie le nombre d'instances à créer. Dans ce cas, je n’en ai mentionné qu’un seul, mais cela dépend de vos besoins.
  • vpc_subnet_id: transmettez l'ID de sous-réseau dans lequel vous souhaitez créer l'instance
  • assign_public_ip: Ce paramètre a une valeur booléenne. Si c'est vrai, comme dans notre cas, une adresse IP publique sera attribuée à l'instance lorsqu'elle sera provisionnée dans VPC.

Étape 5:

Maintenant que vous avez compris chaque ligne du playbook, exécutons-le. Utilisez la commande suivante:

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


Une fois que vous avez exécuté le playbook, vous verrez une instance en cours de création.


Et TADA! Vous avez réussi à automatiser l'approvisionnement d'une instance EC2. De la même manière, vous pouvez également écrire un playbook pour arrêter l'instance EC2.

Cela nous amène à la fin du blog Ansible For AWS. Si vous trouvez cet article utile, consultez le ' proposé par Edureka. Il couvre tous les outils qui ont rendu le secteur informatique efficace.