GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Verwalten Sie AWS VPC mit aws-cli

Die Verwaltung einer VPC und anderer Ressourcen wie Subnetz, Routing-Tabelle, Internet-Gateway über das Terminal mit aws-cli kann etwas verwirrend sein, wenn Sie nicht gut mit VPC umgehen können. In diesem Artikel erstellen wir eine VPC mit 2 Subnetzen, Routing-Tabelle und Internet-Gateway, diese Subnetze sind öffentliche Subnetze. Nachdem die VPC erstellt wurde, versuchen wir, eine Verbindung zu der EC2-Instanz herzustellen, die in dieser VPC erstellt wurde. Das Ziel dieses Artikels ist es, Ihnen die Befehle vorzustellen, die zum Verwalten von VPC vom Terminal aus verwendet werden.

Es wird empfohlen, die VPC zunächst sehr gut zu verstehen, der Fokus dieses Artikels liegt nicht auf der Erklärung der VPC. Informationen zu Vorgängen, die auf VPC ausgeführt werden können, finden Sie hier in der offiziellen Dokumentation.

Voraussetzungen

  1. AWS-Konto  (erstellen, falls Sie noch keines haben).
  2. Grundlegendes Verständnis von VPC (Klicken Sie hier, um zu erfahren, wie Sie eine VPC über die AWS-Konsole erstellen).
  3. AWS-IAM-Benutzer mit angehängter AmazonVPCFullAccess-Richtlinie und seinen Zugriffs- und Geheimschlüsseln (Klicken Sie hier, um zu erfahren, wie Sie einen IAM-Benutzer erstellen).
  4. AWS CLI auf Ihrem lokalen Computer installiert.
  5. Grundlegendes Verständnis der EC2-Instanz (Klicken Sie hier, um zu erfahren, wie Sie eine Ubuntu EC2-Instanz erstellen)

Was werden wir tun?

  1. Überprüfen Sie aws CLI und exportieren Sie den AWS-Zugriff und den geheimen Schlüssel auf Ihrem lokalen Computer.
  2. VPC mit aws CLI verwalten.

Überprüfen Sie aws cli und exportieren Sie aws access &secret key auf Ihrem lokalen Computer.

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

aws --version

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

aws sts get-caller-identity

Exportieren Sie den AWS IAM-Benutzerzugriff 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>

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

aws sts get-caller-identity

VPC mit aws-cli verwalten

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

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

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

aws ec2 describe-vpcs

Durch Angabe der VpcId können Sie die spezifische VPC beschreiben

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

Lassen Sie uns nun 2 Subnetze in der von uns erstellten VPC erstellen. Hier müssen beide Subnetze 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

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

aws ec2 create-internet-gateway

Verbinden Sie das Internet-Gateway mit der zuvor erstellten VPC.

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

Lassen Sie uns nun eine Routing-Tabelle erstellen.

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

Verknüpfen Sie die Routing-Tabelle mit 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

Das Erstellen einer Route von der Routing-Tabelle zum Internet-Gateway macht die mit der Routing-Tabelle verknüpften Subnetze öffentlich

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

Wir haben jetzt eine VPC mit 2 Subnetzen, 1 Routing-Tabelle und einer Route von der Routing-Tabelle zum Internet-Gateway.

Wenn wir eine EC2-Instanz in dieser VPC und einem der Subnetze erstellen, ist die Instanz öffentlich über das Internet erreichbar. Informationen zum Erstellen einer Ubuntu EC2-Instance finden Sie in dem in der Voraussetzung genannten Dokument. Geben Sie beim Erstellen einer Instanz die gerade 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]

Schlussfolgerung

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


Linux
  1. Verwalten Sie den Start mit systemd

  2. Ansible Guide:Verwalten Sie Dateien mit Ansible

  3. Erstellen Sie mit Terraform eine Virtual Private Cloud (VPC) auf AWS

  4. Erstellen Sie mit Terraform eine EC2-Instance auf AWS

  5. So verwalten Sie NodeJS-Pakete mit Npm

Erstellen Sie mit Terraform einen S3-Bucket auf AWS

So erstellen Sie einen S3-Bucket mit Python Boto3 auf AWS

So verwalten Sie Terraform State in einem AWS S3-Bucket

Verwalten Sie Ihre Spiele mit Lutris unter Linux

Verwenden von Docker Desktop zum Verwalten eines Containers

So installieren Sie AWS-CLI auf Ubuntu