Verwalten von AWS VPC mit aws-cli

Die Verwaltung einer VPC und anderer Ressourcen wie Subnet, Route Table, Internet Gateway vom Terminal aus mit aws-cli kann etwas verwirrend sein, wenn Sie sich nicht gut mit VPC auskennen. In diesem Artikel werden wir eine VPC mit 2 Subnetzen, einer Routentabelle und einem Internet-Gateway erstellen, diese Subnetze werden öffentliche Subnetze sein. Nachdem die VPC erstellt ist, werden wir versuchen, uns mit der in dieser VPC erstellten EC2-Instanz zu verbinden. Das Ziel dieses Artikels ist es, Ihnen die Befehle vorzustellen, mit denen Sie die VPC vom Terminal aus verwalten können.

Es ist ratsam, zunächst die VPC sehr gut zu verstehen, der Fokus dieses Artikels liegt nicht auf der Erklärung der VPC. Um die Operationen zu kennen, die auf VPC durchgeführt werden können, besuchen Sie die offizielle Dokumentation hier.

Vorraussetzungen

  1. AWS-Konto (Erstellen Sie es, wenn Sie noch keines haben).
  2. Grundlegendes Verständnis von VPC (Klicken Sie hier, um zu erfahren, wieSie eine VPC über die AWS-Konsole erstellen können).
  3. AWS IAM-Benutzer mit der ihm zugeordneten RichtlinieAmazonVPCFullAccess und seinen Zugriffs- und Geheimschlüsseln (Klicken Sie hier, um zu erfahren, wie Sie einen IAM-Benutzer erstellen).
  4. AWS CLI, installiert auf Ihrem lokalen Rechner.
  5. Grundlegendes Verständnis der EC2-Instanz (Klicken Sie hier, um zu lernen, wie man eine Ubuntu EC2-Instanz erstellt)

Was werden wir tun?

  1. Prüfen Sie aws cli und exportieren Sie den AWS-Zugangs- und Geheimschlüssel auf Ihrem lokalen Rechner.
  2. Verwalten Sie die VPC mit aws cli.

Prüfen Sie aws cli und exportieren Sie aws access & secret key auf Ihrem lokalen Rechner.

Wenn Sie das Dienstprogramm aws-cli nicht auf Ihrem Rechner installiert haben, lesen Sie die offizielle Dokumentation hier , um es auf Ihrem lokalen Rechner zu installieren und dann die Version mit dem folgenden Befehl zu überprüfen.

aws --version

Wenn Sie den folgenden Befehl ausführen, erhalten Sie einen Fehler, da Sie den Zugriff auf Ihr AWS-Konto im Terminal nicht konfiguriert haben.

aws sts get-caller-identity

Exportieren Sie den AWS IAM-Benutzerzugang und die geheimen Schlüssel auf Ihrem Terminal mit den folgenden Befehlen.

export AWS_ACCESS_KEY_ID=<aws-user-access-key>
export AWS_SECRET_ACCESS_KEY=<aws-user-secret-key>

Dieses Mal können Sie Ihre Identität überprüfen, indem Sie den folgenden Befehl ausführen

aws sts get-caller-identity

Verwalten von VPC mit aws-cli

Erstellen Sie eine VPC mit dem folgenden Befehl, es wird keine Standard-VPC erstellt. 10.0.0.0/16 ist die CIDR für die zu erstellende VPC. Sie können eine gültige CIDR nach Ihrer Wahl und Anforderung angeben.

aws ec2 create-vpc --cidr-block 10.0.0.0/16

VPC erstellen

Beachten Sie die VpcId im obigen Bildschirmfoto. In Ihrer Ausgabe wird eine andere VpcId angezeigt. Notieren Sie sich die VpcId, wir werden sie in den nächsten Schritten benötigen.

Um alle VPCs aus Ihrer aktuellen Region zu beschreiben, führen Sie den folgenden Befehl aus.

aws ec2 describe-vpcs

Durch die Angabe der VpcId können Sie den spezifischen VPC beschreiben

aws ec2 describe-vpcs --vpc-ids vpc-03c4278f3b75efd77

Lassen Sie uns nun 2 Subnetze in der erstellten VPC anlegen. Dabei müssen die beiden Subnets eindeutige CIDR-Blöcke in der VPC haben.

aws ec2 create-subnet --vpc-id vpc-03c4278f3b75efd77 --cidr-block 10.0.1.0/24
aws ec2 create-subnet --vpc-id vpc-03c4278f3b75efd77 --cidr-block 10.0.2.0/24

Subnetze erstellen

Um die Subnetze öffentlich zu machen, müssen wir ein Internet-Gateway erstellen

aws ec2 create-internet-gateway

Verbinden Sie das Internet-Gateway mit der VPC, die wir zuvor erstellt haben.

aws ec2 attach-internet-gateway --internet-gateway-id igw-04f1e4f13f92599c3 --vpc-id vpc-03c4278f3b75efd77

Internet-Gateway erstellen

Erstellen wir nun eine Routentabelle.

aws ec2 create-route-table --vpc-id vpc-03c4278f3b75efd77

Verbinden Sie die Routentabelle mit den beiden Subnetzen

aws ec2 associate-route-table --route-table-id rtb-0878d652f460dbf50 --subnet-id subnet-0748ef7a26aefc7cc
aws ec2 associate-route-table --route-table-id rtb-0878d652f460dbf50 --subnet-id subnet-0375b656eb64962e8

Routentabelle erstellen

Wenn Sie eine Route von der Routentabelle zum Internet-Gateway erstellen, werden die mit der Routentabelle verbundenen Subnetze öffentlich.

aws ec2 create-route --route-table-id rtb-0878d652f460dbf50 --destination-cidr-block 0.0.0.0/0 --gateway-id igw-04f1e4f13f92599c3

Kreta Route

Wir haben jetzt eine VPC mit zwei Subnetzen, einer Routentabelle und einer Route von der Routentabelle zum Internet-Gateway.

Wenn wir eine EC2-Instanz in dieser VPC und einem der Subnetze erstellen, wird die Instanz öffentlich aus dem Internet erreichbar sein. Lesen Sie das in der Voraussetzung erwähnte Dokument, um zu erfahren, wie Sie eine Ubuntu EC2-Instanz erstellen. Geben Sie beim Erstellen einer Instanz die soeben erstellte VPC an.

aws ec2 describe-instances --instance-ids i-079acfea39b6ad2c9 | grep VpcId
aws ec2 describe-instances --instance-ids i-079acfea39b6ad2c9 | grep SubnetId
aws ec2 describe-instances --instance-ids i-079acfea39b6ad2c9 | grep PublicIpAddress
ssh -i ~/Downloads/aws-cli.pem [email protected]

Verbinden mit EC2

Fazit

In diesem Artikel haben wir die Schritte zum Erstellen einer VPC mit 2 Subnetzen, 1 Routentabelle, Internet-Gateway und einer Route zum Internet-Gateway aus der Routentabelle gesehen. Wir haben auch gesehen, dass die Instanz, die in einem der Subnetze erstellt wurde, die Instanzöffentlich verfügbar ist, da beide Subnetze öffentliche Subnetze sind.

Das könnte dich auch interessieren …