Starten und Beenden von EC2-Instanzen mithilfe der AWS-Befehlszeilenschnittstelle ist der Hauptteil der Automatisierung für die horizontale Skalierung der Infrastruktur auf AWS. AWS -Infrastrukturressourcen werden kontinuierlich überwacht und eine neue EC2. Mit der AWS-Befehlszeilenschnittstelle können Infrastruktur in AWS mit einigen Automatisierungsskripten überwacht und bereitgestellt werden. In diesem Blog wird erläutert, wie eine EC2 -Instanz mithilfe der Befehlszeilenschnittstelle auf AWS gestartet werden kann.
Konfigurieren Sie AWS CLI -Anmeldeinformationen
Um die AWS-Befehlszeilenschnittstelle zu verwenden, generieren und konfigurieren Sie zuerst die AWS-Befehlszeilenschnittstellenanmeldeinformationen auf Ihrem System. Der folgende Befehl kann verwendet werden, um AWS-Befehlszeilen-Schnittstellen-Anmeldeinformationen auf Ihrem lokalen System zu konfigurieren.
Ubuntu@Ubuntu: ~ $ aws konfigurieren
Erstellen Sie VPC
Das erste, was vor dem Start einer EC2 -Instanz ein VPC (Virtual Private Cloud) eingerichtet wird, in dem die EC2. Listen Sie zunächst alle in einer bestimmten Region verfügbaren VPCs auf.
Ubuntu@ubuntu: ~ $ aws ec2 beschreiben-vpcs \
--Region US-East-1
Aus der Ausgabe ist klar, dass es im US-East-1-Bereich nur einen Standard-VPC gibt. Verwenden Sie nun den Befehl create-vpc des EC2-Dienstes, um einen VPC zu erstellen.
Ubuntu@ubuntu: ~ $ aws ec2 create-vpc \
--Cidr-Block 192.168.0.0/16 \
--Region US-East-1
Der obige Befehl erstellt einen VPC mit einem angegebenen CIDR -Block und generiert die folgende Ausgabe.
Beachten Sie die ID des VPC, da sie verwendet wird, um andere Ressourcen innerhalb des VPC zu erstellen.
Subnetz erstellen
Erstellen Sie nach dem Erstellen des VPC nun ein Subnetz im zuvor erstellten VPC. Das Subnetz kann mit dem Befehl create-subnet erstellt werden, der von der AWS-Befehlszeilenschnittstelle bereitgestellt wird.
Ubuntu@Ubuntu: ~ $ AWS EC2 CREATE-SUBNET \
--VPC-ID\
--Cidr-Block 192.168.0.0/24 \
--Region US-East-1
Ändern Sie nun das Subnetz, um die öffentlichen IP automatisch den im Subnetz eingeführten EC2 -Instanzen zuzuweisen. Führen Sie diesen Schritt nur auf den Subnetzen durch, die Sie öffentlich machen möchten.
Ubuntu@ubuntu: ~ $ aws ec2 modify-subnet-attribute \
--Subnetz-ID\
--MAP-Public-IP-on-Launch \
--Region US-East-1
Erstellen und Befestigen Sie das Internet -Gateway an VPC
Das Internet -Gateway ermöglicht die Internetkonnektivität zum und vom VPC auf AWS. Verwenden Sie nun den Befehl Create-Internet-Gateway des EC2-Dienstes, um ein Internet-Gateway zu erstellen.
Ubuntu@Ubuntu: ~ $ AWS EC2 Create-Internet-Gateway \
--Region US-East-1
Fügen Sie nun das Internet-Gateway mit dem Befehl mit dem Anhang-Internet-Gateway des EC2-Dienstes zum zuvor erstellten VPC hinzu.
Ubuntu@Ubuntu: ~ $ AWS EC2 ANTERNETENTENT-GATEWAY \
--VPC-ID\
--Internet-Gateway-ID\
--Region US-East-1
Erstellen und assoziieren Sie die Routentabelle mit Subnetz
Das Internet -Gateway ist dem VPC angeschlossen, und jetzt können wir den Datenverkehr mit der Routentabelle von unserem Subnetz zum Internet -Gateway weiterleiten. Auf diese Weise werden wir unser Subnetz zu einem öffentlichen Subnetz machen. Erstellen Sie die Routentabelle mit dem Befehl create-route-table des EC2-Dienstes.
Ubuntu@ubuntu: ~ $ aws ec2 create-route-table \
--VPC-ID\
--Region US-East-1
Es wird eine Routentabelle erstellt, wobei die Standardroute den gesamten Datenverkehr im Subnetz leitet. Erstellen Sie nun eine neue Route, die den gesamten Verkehr in Richtung Internet -Gateway leitet und die Internetkonnektivität ermöglicht.
Ubuntu@ubuntu: ~ $ aws ec2 create-route \
--Routentisch-ID\
--Ziel-CIDR 0.0.0.0/0 \ \
--Gateway-id\
--Region US-East-1
Verwenden Sie nach dem Erstellen der Routentabelle und der Route nun den Befehl Associate-Route-Table.
Ubuntu@Ubuntu: ~ $ AWS EC2 Associate-Route-Table \
--Subnetz-ID\
--Routentisch-ID\
--Region US-East-1
Sicherheitsgruppe erstellen
Nach dem Erstellen der Tabelle VPC, Subnetz und Routen ist es jetzt an der Zeit, eine Sicherheitsgruppe für die EC2 -Instanz zu erstellen. Die Sicherheitsgruppe ist eine virtuelle Firewall, die von AWS bereitgestellt wird und zur Steuerung des eingehenden und ausgehenden Verkehrs von EC2 -Instanzen verwendet wird. Die AWS-Befehlszeilenschnittstelle bietet den Befehl creat-security-gruppen vom EC2-Dienst, um die Sicherheitsgruppe zu erstellen.
Ubuntu@Ubuntu: ~ $ AWS EC2 Create-Security-Gruppen \
--Gruppenname Demo-Sg \
--Beschreibung „Sicherheitsgruppe für Demo -Instanz“ \
--VPC-ID\
--Region US-East-1
Der obige Befehl erstellt eine Sicherheitsgruppe im angegebenen VPC und gibt die Sicherheitsgruppen -ID als Antwort zurück.
Konfigurieren Sie nach dem Erstellen der Sicherheitsgruppe die Sicherheitsgruppe, um eingehenden und ausgehenden Verkehr zuzulassen oder zu blockieren. Für diese Sicherheitsgruppe eröffnen wir Port 22 für SSH Connection und Port 80 für den HTTP -Verkehr.
Ubuntu@Ubuntu: ~ $ AWS EC2 Autorize-Security-Gruppen-Zugangsress \
--Gruppen-ID\
--Protokoll TCP \
--Port 80 \ \
--CIDR 0.0.0.0/0 \ \
--Region US-East-1
Ubuntu@Ubuntu: ~ $ AWS EC2 Autorize-Security-Gruppen-Zugangsress \
--Gruppen-ID\
--Protokoll TCP \
--Port 22 \ \
--CIDR 0.0.0.0/0 \ \
--Region US-East-1
Die beiden oben genannten Befehle erstellen zwei Eingangsregeln für die Sicherheitsgruppe, um eingehenden Verkehr aus den Ports 22 und 80 zu ermöglichen.
Generieren Sie SSH -Schlüssel
Erstellen Sie vor dem Start einer EC2-Instanz mit der AWS-Befehlszeilenschnittstelle einen SSH-Schlüssel. Für die Authentifizierung wird ein SSH -Schlüssel verwendet und ist sicherer als die herkömmlichen Benutzernamen- und Kennwortmethoden der Authentifizierung. Die AWS-Befehlszeilenschnittstelle bietet den Befehl create-key-pair aus dem EC2-Dienst, um ein SSH-Schlüsselpaar zu erstellen.
Ubuntu@ubuntu: ~ $ aws ec2 create-key-pair \
--Schlüsselname Demo-Key-Pair \
--Ausgabe Text \
--Abfrage "Keymaterial" \
--Region US-East-1> ./Demo-Key-Pair.Pem
Der Befehl create-key-pair nimmt einen Schlüsselnamen und den Ausgangstyp als Optionen an, und die Standardausgabe dieses Befehls wurde in eine Datei namens Demo-Key-Pair umgeleitet.Pem. Verwenden Sie den CAT -Befehl, um zu überprüfen, ob der Schlüssel lokal erstellt wird oder nicht.
Ubuntu@Ubuntu: ~ $ cat Demo-Key-Pair.Pem
Listen Sie nun den SSH-Taste mit dem Befehl beschreibe-key-pairs des EC2-Dienstes auf, um zu bestätigen, ob er auf AWS erstellt wird oder nicht.
Ubuntu@Ubuntu: ~ $ aws ec2 beschreiben-Key-Pairs \
--Schlüsselname Demo-Key-Pair \
--Region US-East-1
Starten Sie die EC2 -Instanz mit CLI
Bisher haben wir alle Ressourcen erstellt, die zur Start der EC2 -Instanz verwendet wurden. Jetzt ist es Zeit, eine EC2-Instanz mit der Befehlszeilenschnittstelle zu starten. Die AWS-Befehlszeilenschnittstelle bietet den Befehl run-instances, um die EC2-Instanz zu starten.
Ubuntu@Ubuntu: ~ $ AWS EC2 Run-Instances \
--Bild-ID\
--Zählen Sie 1 \
--Instanztyp T2.Nano \
--Schlüsselname Demo-Key-Pair \
--Sicherheitsgruppen-IDs\
--Subnetz-ID\
--Region US-East-1
Der obige Befehl gibt eine lange Ausgabe zurück, die die detaillierten Informationen der EC2 -Instanz enthält. Kopieren Sie nun die Instanz -ID und verwenden Sie den folgenden Befehl, um zu überprüfen, ob die Instanz erstellt wird oder nicht.
Ubuntu@Ubuntu: ~ $ AWS EC2 beschreiben Instanzen \
--Instanz\
--Region US-East-1
Abschluss
Die AWS-Befehlszeilenschnittstelle ist ein leistungsstarkes Tool zur Automatisierung der Bereitstellung und Beendigung der EC2-Instanzen. Die AWS-Befehlszeilenschnittstelle bietet verschiedene Befehle, um verschiedene Ressourcen in der AWS-Cloud zu erstellen. In diesem Blog wurde die Befehlszeilenschnittstelle verwendet, um verschiedene Ressourcen wie VPC, Internet-Gateway, Subnetz, Routentabelle, SSH-Schlüssel, Sicherheitsgruppen, Routentabellenrouten und EC2-Instanz zu erstellen. Nach dem Lesen dieses Blogs können Sie eine EC2-Instanz mit der Befehlszeilenschnittstelle erstellen.