Kann Ansible EC2 -Instanzen erstellen??

Kann Ansible EC2 -Instanzen erstellen??
Wenn Sie sich dieses Tutorial ansehen, benötigen Sie wahrscheinlich keine Einführung in Ansible. Es tut jedoch nicht weh, eine schnelle Zusammenfassung zu machen.

Ansible ist das beliebteste und wahrscheinlich leistungsstärkste Konfigurationsmanagement -Tool. Es wurde entwickelt, um die Verwaltung und Konfiguration von Remote -Hosts mithilfe einer Reihe von Befehlen zu erleichtern, die als Aufgaben definiert sind.

Es funktioniert mithilfe von Modulen, die für bestimmte Aufgaben wie das Verwalten von Benutzern, das Verwalten von Dateien, das Installieren und Entfernen von Softwarepaketen und vieles mehr verwendet werden.

Mit diesem Handbuch wird das AWS -Modul ansible eine EC2 -Instanz verwendet und verwaltet. Wir beginnen mit den Grundlagen des Einrichtens eines AWS -Konto.

Was ist eine EC2 -Instanz?

Die erste Frage lautet: Was ist ein EC2? Wenn Sie neu in Cloud Computing und AWS sind, klingt dies für Sie möglicherweise neu.

Amazon Elastic Compute Cloud oder kurz Amazon EC2 ist ein Dienst von Amazon Web Services (AWS), mit dem Sie Serverinstanzen in der AWS -Cloud erstellen und verwalten können.

Die Möglichkeit, Remote -Server mit Funktionen wie CPU, Speicher, Festplatten, Netzwerken, Betriebssystemen und mehr Klicks konfiguriert zu haben, ist sehr vorteilhaft. Es wird die Notwendigkeit beseitigt, in Hardware zu investieren und sich Sorgen darüber zu machen, die Geräte zu verkabeln.

Amazon EC2 -Instanzen sind einer der grundlegendsten Bausteine ​​von AWS Cloud Computing.

Wir werden nicht tief in die Funktionsweise oder die Preis- und Konfigurationsmodelle für AWS eintauchen. Überprüfen Sie die AWS -Website, um mehr zu erfahren.

Umgebungsaufbau

Der erste Schritt besteht darin, unsere Umgebungen einzurichten. Wir brauchen ein AWS -Konto, ein Ansible und Python für diesen Leitfaden.

Wir empfehlen die neueste Version von Ansible und Python.

Ansible installieren

In diesem Tutorial wird die Installation und das Einrichten von Ansible in einem Debian-basierten System angezeigt. Sehen Sie sich unsere anderen Tutorials an, um zu erfahren, wie Sie es auf anderen Verteilungen installieren können.

Öffnen Sie das Terminal und bearbeiten Sie Ihre Software -Repositories.

sudo vim/etc/apt/Quellen.Liste

Fügen Sie der Datei den folgenden Eintrag hinzu:

Deb http: // pPA.Launchpad.Netz/Ansible/Ansible/Ubuntu Focal Main

Führen Sie als nächstes die Befehle wie unten gezeigt aus:

sudo apt-get install bnupg
sudo apt-key adv-Keyserver Keyserver.Ubuntu.com-recv-keys 93c4a3fd7bb9c367
sudo apt-Get-Update
sudo apt-get install Ansible

Sobald Sie Ansible installiert haben, können wir Python einstellen und konfigurieren.

Installieren Sie Python3, Python3-Pip

Führen Sie die Befehle wie gezeigt aus, um Python3 und PIP auf Debian 11 zu installieren:

sudo apt-Get-Update
sudo apt-get installieren Sie Python3.9 Python3 -Pip -y

Die obigen Befehle installieren Python Version 3.9 und das PIP3 auf Ihrem System.

Boto installieren

Der nächste Schritt besteht darin, Boto zu installieren. Boto ist ein leistungsstarkes Python -Paket, das eine Schnittstelle zur Interaktion mit den AWS -Diensten mit Python bietet.

So installieren Sie die neueste Version des Boto -Pakets mit PIP, wie im folgenden Befehl gezeigt:

sudo pip3 install boto3

Sobald alle Tools und Pakete erfolgreich installiert wurden, können wir Ansible Playbooks erstellen, um eine EC2 -Instanz zu initialisieren.

Erstellen Sie Ansible EC2 Playbook

Öffnen Sie das Terminal und erstellen Sie ein Ansible Playbook, das mit einem endet .YML -Erweiterung. Bearbeiten Sie die Datei mit Ihrem bevorzugten Texteditor und fügen Sie das Spielbuch hinzu, wie unten gezeigt:

---
- Name: Ansible erstellen EC2 -Instanz erstellen
Gastgeber: Localhost
sammeln_facts: false
Aufgaben:
- Name: Bereitstellung einer EC2 -Instanz
EC2:
Region: US-East-2
Schlüsselname: Ansible-EC2-SSH-Key
Instance_type: t2.Mikro
Bild: AM1-123456
Warten Sie: Ja
Graf: 1
Gruppe: Sample_Servers
AUFTRACHE_PUBLIC_IP: Ja
Register: Amazon_ec2
delegate_to: localhost

Erstellen Sie das SSH -Schlüsselpaar

Sobald das Spielbuch eingerichtet ist, erstellen Sie ein SSH -Schlüsselpaar, um sich bei der EC2. Stellen Sie sicher.

ssh -keygen -t RSA -B 4096 -f ~/.SSH/Ansible-EC2-SSH-Key

Hinzufügen von AWS -Zugriff und geheimen Schlüssel hinzufügen

Der nächste Schritt besteht darin, unsere AWS -Anmeldeinformationen zu unserem Spielbuch hinzuzufügen. Der Einfachheit halber werden wir die Anmeldeinformationen dem Playbook im einfachen Format hinzufügen.

Hinweis: Entdecken Sie Ihren AWS -Zugriff und Ihren geheimen Schlüssel nicht in einem Spielbuch im wirklichen Leben. Erwägen Sie, Umgebungsvariablen oder Tools wie ein ansible Gewölbe zu verwenden.

---
- Name: Ansible erstellen EC2 -Instanz erstellen
Gastgeber: Localhost
sammeln_facts: false
Aufgaben:
- Name: Bereitstellung einer EC2 -Instanz
EC2:
Region: US-East-2
Schlüsselname: Ansible-EC2-SSH-Key
Instance_type: t2.Mikro
Bild: AM1-123456
Warten Sie: Ja
Graf: 1Dhe
Gruppe: Sample_Servers
AUFTRACHE_PUBLIC_IP: Ja
vpc_subnet_id: Standard
AWS_ACCESS_KEY: **************************
AWS_SECRET_KEY: *********************
Register: Amazon_ec2
delegate_to: localhost

Das obige zeigt das neue Playbook mit den AWS -Anmeldeinformationen freigelegt. Vermeiden Sie dies!!

Sobald Sie das Playbook alle Setup haben, führen Sie es mit dem Befehl aus:

Ansible-Playbook Create-EC2.YML

Der obige Befehl sollte das Spielbuch oben ausführen und eine EC2 -Instanz erstellen.

Das Spielbuch verstehen

Lassen Sie uns nun das in den obige Beispiele bereitgestellte Spielbuch verstehen. Beachten Sie, wir konzentrieren uns nur auf den EC2 -Teil des Spielbuchs.

  1. Region - Dieser Parameter definiert den AWS -Bereich bei der Erstellung der Instanz. Sie können die verfügbaren Regionen in der folgenden Ressource überprüfen.
  2. Tastaturname definiert das SSH-Schlüsselpaar für die erstellte Instanz. Stellen Sie sicher, dass der Schlüssel bereits vorhanden ist.
  3. Instance_type - Definiert die Art der Instanz zum Erstellen. Überprüfen Sie die folgende Ressource, um mehr zu erfahren.
  4. Bild - Legt die AMI -ID zum Erstellen der Instanz ein.
  5. Warten Sie - ein boolescher Wert, um festzustellen, ob Ansible warten sollte, bis die Instanz vor der Rückkehr im gewünschten Zustand liegt.
  6. Zählen - die Gesamtzahl der zu erstellenden Instanzen.
  7. Gruppe - Legt die Sicherheitsgruppen für die EC2 -Instanz fest.
  8. AUFTRACHE_PUBLIC_IP - Boolescher Wert, um zu definieren, ob den Instanzen eine öffentliche IP -Adresse innerhalb des VPC zugewiesen werden sollten.
  9. VPC_SUBNET_ID - Definiert die Subnetz -ID, unter der die EC2 -Instanz gestartet werden soll.

Mit dem Ansible AWS -Modul können Sie die obigen Argumente verwenden, um eine EC2 -Instanz zu erstellen.

Schließen

Dieser Leitfaden bietet ein Tutorial zum Erstellen einer Amazon EC2 -Instanz mit dem Ansible AWS -Modul.