So verwenden Sie AWS CLI, um die EC2 -Instanz zu verwalten [Teil 1]

So verwenden Sie AWS CLI, um die EC2 -Instanz zu verwalten [Teil 1]

Mit AWS können Sie alle Dienste und Ressourcen über die Befehlszeilenschnittstelle verwalten. Obwohl Sie keine schicke grafische Benutzeroberfläche erhalten, wird sie immer noch als professioneller und praktischer angesehen. Es gibt sogar einige Optionen, die Sie mit der GUI-Konsole nicht verwenden können, z. Bevor Sie Ihre Instanzen mit der AWS -CLI verwalten, müssen Sie sie auf Ihrem System konfigurieren. Bitte besuchen Sie den folgenden Artikel, um zu erfahren, wie Sie die AWS -CLI -Anmeldeinformationen unter Windows, Linux oder Mac einrichten können.”

https: // linuxHint.com/configure-aws-cli-kredite/

In diesem Artikel werden die folgenden Operationen erörtert, die mit der AWS -Befehlszeilenschnittstelle auf EC2 ausgeführt werden können.

  • Erstellen von SSH -Schlüsselpaaren
  • Erstellen einer Instanzsicherheitsgruppe
  • EC2 -Instanz erstellen

Erstellen von SSH -Schlüsselpaaren

Bevor wir eine EC2 -Instanz auf AWS erstellen, müssen wir einen SSH -Schlüssel erstellen, der mit der EC2 -Instanz konfiguriert wird, um über SSH darauf zuzugreifen. Verwenden Sie die folgenden Befehle auf Ihrem AWS -CLI, um das SSH -Schlüsselpaar zu generieren, bevor Sie eine EC2 -Instanz starten.

Ubuntu@ubuntu: ~ $ aws ec2 create-key-pair \
--Schlüsselname \
--Schlüsselformat

Hier haben wir gerade den Namen für unser Schlüsselpaar und das Schlüsselformat angegeben. Für das Schlüsselformat können Sie sich entweder entscheiden Pem oder ppk, Abhängig vom Betriebssystem. Der Pem Das Format wird hauptsächlich verwendet, um über SSH auf das Linux -Betriebssystem zuzugreifen, während die ppk Das Format wird zum Zugriff auf den Windows -Computer über RDP verwendet.

Der obige Befehl generiert den privaten Schlüssel in der Ausgabe. Sie müssen es sofort speichern, da Sie es nie wieder sehen können. Sie müssen diese Ausgabe in einer Datei mit dem speichern .Pem Erweiterung, und es wird verwendet, um SSH in der Instanz zugeordnet zu haben, mit der es verbunden ist.

Erstellen einer Instanzsicherheitsgruppe

Sicherheitsgruppen verbessern die Netzwerksicherheit Ihrer EC2 -Instanz, indem Sie eingehender und ausgehender Verkehr für Ihre Instanz definieren können. Die Sicherheitsgruppe fungiert als virtuelle Firewall vor Ihrer EC2 -Instanz und kann verwendet werden, um Ihre Instanz vor Entführungen zu schützen. Sie können IP -Bereiche und andere Sicherheitsgruppen als Quellen angeben und den Datenverkehr auf bestimmten Ports aus diesen Quellen ermöglichen.

Sicherheitsgruppen haben eine Einschränkung: Sie können nur das erstellen erlauben Regeln und die leugnen Regeln können nicht erstellt werden. Darüber hinaus sind die Sicherheitsgruppen staatlich, was bedeutet, wenn Sie eine eingehende Regel für eine IP festlegen, erreicht sie automatisch die ausgehende Funktionen.

Verwenden Sie den folgenden Befehl im Terminal, um eine Sicherheitsgruppe zu erstellen, die die AWS -Befehlszeilenschnittstelle verwendet.

Ubuntu@Ubuntu: ~ $ AWS EC2 Create-Security-Gruppen \
--Gruppenname \
--Beschreibung <“Security Group Description”>

In der Ausgabe erhalten Sie nur die Sicherheitsgruppen -ID. Die neu erstellte Gruppe hat standardmäßig keine eingehenden Berechtigungen und alle ausgehenden Berechtigungen. Sie können Ihre Sicherheitsgruppendetails wie unten beschrieben anzeigen.

Ubuntu@Ubuntu: ~ $ AWS EC2 beschreiben Security-Gruppen \
--Gruppennamen

Um der Sicherheitsgruppe nun eine eingehende Regel hinzuzufügen, kann der folgende Befehl verwendet werden.

Ubuntu@Ubuntu: ~ $ AWS EC2 Autorize-Security-Gruppen-Zugangsress \
--Port 22 \ \
--Protokoll TCP \
--Gruppen-ID \
--CIDR 0.0.0.0/0

In diesem Befehl autorisieren Sie Ihre Sicherheitsgruppe, den Netzwerkverkehr von jeder IP auf Port 22 zu ermöglichen. Der Befehl erzeugt die folgende Ausgabe.

Nun, wenn wir wieder das laufen Beschreibungsgruppe Befehl, Sie werden dort die neu hinzugefügte eingehende Regel sehen.

EC2 -Instanz erstellen

Das Erstellen einer EC2 -Instanz aus der CLI ist eine einfache Aufgabe. Es gibt eine große Anzahl von Optionen, die Sie beim Erstellen der EC2 -Instanz angeben können, die Sie nacheinander im Detail sehen werden.

Beginnen wir mit dem Erstellen der Instanz mit AWS CLI mit minimalen Optionen. Der folgende Befehl kann am Terminal verwendet werden, um die EC2 -Instanz mit minimalen Optionen zu erstellen.

Ubuntu@Ubuntu: ~ $ AWS EC2 Run-Instances \
--Bild-ID \
--zählen \
--Instanztyp \
--Schlüsselname \
--Sicherheitsgruppen-IDs

Wenn Sie diesen Befehl ausführen, erhalten Sie eine detaillierte Ausgabe der neu erstellten Instanz.

Wie Sie sehen können, sind im Befehl mehrere Parameter angegeben, um die EC2 -Instanz zu erstellen, und das Folgende ist eine detaillierte Beschreibung jedes Parameters.

Der Bild-ID ist die ID des Amazon -Maschinenbildes oder des Betriebssystems, das Sie auf Ihrer Instanz verwenden möchten. Es gibt eine lange Liste verfügbarer Maschinenbilder in AWS, und Sie können auch Ihr eigenes Image erstellen und auf dem Community -Markt verkaufen.

Der zählen Die Option kann verwendet werden, um die Anzahl der EC2 -Instanzen anzugeben, die Sie mit der AWS -Befehlszeilenschnittstelle mit denselben Konfigurationen erstellen möchten.

Der Instanztyp Die Option wird verwendet, um die Ressourcenzuweisung wie die CPU und den Speicher in Ihrer EC2 -Instanz anzugeben. AWS bietet verschiedene Instanztypen und Sie können alle diese Instanztypen anzeigen, indem Sie den folgenden Link besuchen.

https: // aws.Amazonas.com/ec2/Instanztypen/

Der Schlüsselname Die Option gibt den Namen des SSH -Schlüsselpaares an, das wir an unsere Instanz anhängen müssen. Dieses SSH -Schlüsselpaar kann dann verwendet werden, um auf die EC2 -Instanz aus der Ferne zuzugreifen. Im vorherigen Abschnitt haben wir besprochen, wie wir ein SSH -Schlüsselpaar über die AWS -Befehlszeilenschnittstelle erstellen können.

Der Sicherheitsgruppe Die Option wird verwendet, um eine Liste von Sicherheitsgruppen anzugeben, die an die gestartete EC2 -Instanz beigefügt sind. AWS wird die Standardsicherheitsgruppe mit der EC2 -Instanz anhängen, wenn sie nicht angegeben sind.

Zusätzliche EC2 -Parameter

Wir haben bereits viele Instanzparameter erläutert, aber dennoch sind viele andere Parameter verfügbar. In diesem Abschnitt werden detailliertere Parameter erörtert, mit denen wir die neu erstellte EC2 -Instanz gemäß unseren Anforderungen konfigurieren können. Diese Parameter werden mit der Erstellung der EC2 -Instanz definiert, sind jedoch optional und müssen nicht ständig angeben.

Verfügbarkeitszone

Jede AWS -Region verfügt über eine oder mehrere Verfügbarkeitszonen, die geografisch getrennte Rechenzentren sind. Sie tragen dazu bei, die Verfügbarkeit des AWS -Dienstes in einer Region zu erhöhen. Wenn eine Verfügbarkeitszone in einer Region sinkt, werden die anderen Verfügbarkeitszonen weiterhin betrieben.

Wenn eine EC2 -Instanz erstellt wird. Die Verfügbarkeitszone kann mit dem folgenden Parameter angegeben werden.

Ubuntu@Ubuntu: ~ $ AWS EC2 Run-Instances \
--zählen \
--Instanztyp \
--Platzierung Verfügbarkeitzon =
--Bild-ID \

Sie können in der Ausgabe sehen, dass die Instanz in unserer gewünschten Verfügbarkeitszone gestartet wird.

VPC und Subnetz

Normalerweise erstellen wir ein separates VPC (virtuelle private Cloud) und Subnetze für jede neue Anwendung, die wir in unserem AWS -Konto gestartet haben. Dies gewährleistet ein hohes Maß an Sicherheit und ermöglicht es allen Ressourcen, zu kommunizieren, ohne auf das öffentliche Netzwerk zuzugreifen. Wenn Sie kein VPC angeben, werden alle Instanzen im zufälligen Subnetz des Standard -VPC gestartet.

Während Sie die EC2 -Instanz mithilfe der AWS -Befehlszeilenschnittstelle erstellen, können Sie das Subnetz mit der Verwendung des Subnetzes angeben -Subnetz-ID Möglichkeit.

Ubuntu@Ubuntu: ~ $ AWS EC2 Run-Instances \
--Instanztyp T2.Micro \
--Subnetz-ID Subnetz-0D1721EF0B75A675B \
--Bild-ID AMI-0CFF7528ff583BF9A \
--Graf 1

Beim Erstellen der EC2 -Instanz müssen wir nur die Subnetz -ID angeben, und die EC2 -Instanz wird automatisch im VPC erstellt, zu dem das Subnetz gehört.

EC2 -Benutzerdaten

Wenn wir eine neue Instanz erstellen, können Sie einige Skripts oder Befehle angeben, die Sie beim Start ausführen möchten, z. B. das Aktualisieren des Systems oder die Installation von Softwarepaketen. Dies ist nur eine optionale Sache und nicht ständig erforderlich, aber es kann in einigen Fällen sehr hilfreich sein. Um die Benutzerdaten bereitzustellen, müssen Sie ein Bash -Skript erstellen, das als Parameter angegeben wird, während die EC2 -Instanz initialisiert wird.

Öffnen Sie also Ihr Terminal und erstellen Sie darin eine einfache Textdatei.

Ubuntu@Ubuntu: ~ $ sudo nano

Schreiben wir ein Skript, um einen Apache -Webserver auf unserer Instanz zu installieren und zu starten.

#!/Bin/Bash
sudo yum install httpd -y
sudo systemctl starten httpd

Jetzt können wir dieses Benutzerdatenskript verwenden, um eine neue Instanz auszuführen. In dieser Instanz wird der Apache-Server vorinstalliert und ausgeführt.

Verwenden Sie die öffentliche IP Ihrer neu gestarteten EC2.

Auf diese Weise können Sie die Benutzerdaten verwenden, um während des Instanzstarts etwas zu installieren oder zu konfigurieren.

Abschluss

AWS bietet das Dienstprogramm für Befehlszeilen, um die EC2 -Instanzen programmatisch zu verwalten und zu erstellen. Auf diese Weise können Sie auch Ressourcen wie SSH -Schlüsseln, Sicherheitsgruppen und Speichervolumina erstellen. Mit Hilfe von CLI können Sie EC2 -Benutzerdaten, Verfügbarkeitszonen und Teilmengen verwalten. Die meisten Fachleute in der IT -Branche ziehen es vor, die CLI über die GUI -Konsole zu verwenden, da Sie nicht zwischen Registerkarten und Webseiten wechseln müssen. Darüber hinaus aktualisiert die GUI weiter und macht es schwierig, alle Parameter und Optionen zu verwalten.