Erstellen Sie ein Inventar Ihrer EC2 Instanzen - Amazon Elastic Compute Cloud

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen Sie ein Inventar Ihrer EC2 Instanzen

Amazon EC2 bietet skalierbare Rechenkapazität auf Abruf. Eine EC2 Instance ist ein virtueller Server, der im AWS Netzwerk läuft.

In der folgenden Tabelle werden die wichtigsten Merkmale einer EC2 Instanz beschrieben. Ein Systemadministrator kann anhand der in diesem Handbuch enthaltenen Anleitungen Informationen zu diesen Merkmalen abrufen und anhand dieser Informationen funktionsgleiche Server konfigurieren, die On-Premises oder im Netzwerk eines anderen Cloud-Anbieters ausgeführt werden.

Merkmal Description
Geografischer Standort Amazon EC2 wird in allen AWS Regionen weltweit gehostet. Sie wählen Standorte für Ihre Instances aus, die sich in der Nähe Ihrer Kunden befinden. Sie können Instances an mehreren Standorten starten.
Hardwarespezifikationen Amazon EC2 bietet eine große Auswahl an Instance-Typen, die für verschiedene Anwendungsfälle optimiert sind. Die Instance-Typen, die Sie für Ihre Instances auswählen, bestimmen deren Rechen-, Arbeitsspeicher-, Netzwerk- und Speicherressourcen.
Bilder Ein Amazon Machine Image (AMI) enthält die Software, die Sie beim Start auf Ihrer Instance installieren müssen. Dazu gehören das Betriebssystem, Softwarepakete und benutzerdefinierte Konfigurationen.
IP-Adressen und DNS-Hostnamen Instances erhalten private IP-Adressen und einen privaten DNS-Hostnamen. Wenn Sie eine öffentliche IP-Adresse für eine Instance konfigurieren, erhält sie auch einen öffentlichen DNS-Hostnamen.
Regeln für Sicherheitsgruppen Die Ihren Instances zugeordneten Sicherheitsgruppenregeln legen fest, welcher eingehende und ausgehende Datenverkehr zulässig ist.
Benutzerdaten Benutzerdaten werden den Instances beim Start zur Verfügung gestellt. Es besteht aus Shell-Skripten (Linux) oder PowerShell Skripten (Windows).

Geografischer Standort

Amazon EC2 ist in jeder AWS Region weltweit verfügbar. Jede -Region ist ein separater geografischer Bereich. Sie können die Netzwerklatenz verringern, wenn Sie Regionen für Ihre Server auswählen, die sich in der Nähe der Mehrheit Ihrer Benutzer befinden.

Sie können Amazon EC2 Global View verwenden, um Ihre EC2 Amazon-Instances in allen Regionen aufzulisten. Mit der AWS-Managementkonsole und der API müssen Sie die Instances für jede Region einzeln auflisten.

Warum das wichtig ist

Nachdem Sie ermittelt haben, wo sich Ihre Instances befinden, können Sie je nach Ihren Anforderungen entscheiden, ob Sie funktionell gleichwertige Server an denselben Standorten oder an verschiedenen Standorten bereitstellen möchten.

Um eine Zusammenfassung Ihrer EC2 Instances in allen Regionen zu erhalten
  1. Öffnen Sie die Amazon EC2 Global View-Konsole zu https://console.aws.amazon.com/ec2globalview/Hause.

  2. Überprüfen Sie auf der Registerkarte Region Explorer unter Zusammenfassung die Ressourcenanzahl für Instances, die die Anzahl der Instances und die Anzahl der Regionen umfasst. Wählen Sie den unterstrichenen Text, um zu sehen, wie sich die Anzahl der Instances auf die Regionen verteilt.

  3. Wählen Sie auf der Registerkarte Globale Suche den Client-Filter Ressourcentyp = Instance aus. Sie können die Ergebnisse weiter filtern, indem Sie eine Region oder ein Tag angeben.

Um die Anzahl der EC2 Instances in einer Region zu ermitteln, verwenden Sie AWS CLI

Verwenden Sie den Befehl describe-instances, um die Instances in der aktuellen Region zu zählen. Sie müssen diesen Befehl in jeder Region ausführen, in der Sie Instances haben.

aws ec2 describe-instances \ --region us-east-2 \ --query "length(Reservations[*].Instances[])"

Es folgt eine Beispielausgabe.

27

Verwenden Sie IDs stattdessen den folgenden --query Parameter, um eine Liste der Instanz anstelle der Anzahl der Instanzen abzurufen.

--query "Reservations[*].Instances[].InstanceId"

Hardwarespezifikationen

Der Instanztyp, den Sie für eine EC2 Instance angeben, bestimmt die Rechen-, Arbeitsspeicher-, Speicher- und Netzwerkressourcen, die ihr zur Verfügung stehen. Jeder Instance-Typ bietet ein anderes Verhältnis in Bezug auf Datenverarbeitung, Arbeitsspeicher, Speicher und Netzwerkfunktionen. Weitere Informationen finden Sie im Amazon EC2 Instance Types Guide.

Warum diese wichtig sind

Nachdem Sie die Hardwarespezifikationen für Ihre Instances festgelegt haben, können Sie festlegen, welche Mindestspezifikationen für funktionsgleiche Server erforderlich sind.

So rufen Sie eine Zusammenfassung der von Ihren Instances verwendeten Instance-Typen ab

Verwenden Sie den folgenden describe-instances-Befehl. Der sed-Befehl entfernt Zeilen mit Klammern und Leerzeilen. Sie müssen diesen Befehl in jeder Region ausführen, in der Sie Instances haben.

aws ec2 describe-instances \ --query "Reservations[*].Instances[].InstanceType" | sed 's/[][]//g;/^$/d' | sort | uniq -c | sort -nr

Es folgt eine Beispielausgabe.

20 "c6i.4xlarge", 5 "t2.micro", 2 "g6e.2xlarge",
So rufen Sie Informationen zu bestimmten Instance-Typen ab

Verwenden Sie den folgenden describe-instance-typesBefehl, um die Instance-Typen zu beschreiben. Der --query-Parameter umfasst nur die angegebenen Felder in der Ausgabe. Dies sind die grundlegenden Eigenschaften. Sie können alle zusätzlichen Felder angeben, die Sie benötigen, oder Sie können die Spezifikationen für EC2 Amazon-Instance-Typen im Amazon EC2 Instance Types Guide nachschlagen.

aws ec2 describe-instance-types \ --instance-types c6i.4xlarge t2.micro g6e.2xlarge \ --query "InstanceTypes[*].[InstanceType,VCpuInfo.DefaultVCpus,MemoryInfo.SizeInMiB,NetworkInfo.NetworkPerformance]" \ --output table

Es folgt eine Beispielausgabe. Die Spalten lauten Instanztyp, vCPUs, Speicher (GiB) und Netzwerkbandbreite (Gbit/s).

------------------------------------------------------ | DescribeInstanceTypes | +--------------+-----+--------+----------------------+ | t2.micro | 1 | 1024 | Low to Moderate | | c6i.4xlarge | 16 | 32768 | Up to 12.5 Gigabit | | g6e.2xlarge | 8 | 65536 | Up to 20 Gigabit | +--------------+-----+--------+----------------------+

Bilder

Ein Amazon Machine Image (AMI) stellt die Software bereit, die beim Start auf Ihrer Instance installiert wird, z. B. das Betriebssystem, Services, Entwicklungstools und Anwendungen. Sie können ein AMI in andere Formate exportieren, um es mit anderen Servern zu verwenden.

Warum diese wichtig sind

Nachdem Sie die AMIs für Ihre Instances festgelegt haben, können Sie die Images planen, die für funktionsgleiche Server erforderlich sind. Möglicherweise können Sie Ihre Daten in ein Format exportieren AMIs , das Sie an anderer Stelle verwenden können. Alternativ müssen Sie möglicherweise eine Verbindung zu einer Instance herstellen, die Sie von jedem AMI aus gestartet haben, überprüfen, was installiert und wie sie konfiguriert ist, und sicherstellen, dass Sie über eine Kopie von allem verfügen, was Sie benötigen.

Um das AMIs für deine Instanzen zu bekommen

Verwenden Sie den folgenden describe-instances-Befehl. Der sed-Befehl entfernt Zeilen mit Klammern und Leerzeilen. Sie müssen diesen Befehl in jeder Region ausführen, in der Sie Instances haben.

aws ec2 describe-instances \ --query "Reservations[*].Instances[].ImageId" | sed 's/[][]//g;/^$/d' | sort | uniq -c | sort -nr

Es folgt eine Beispielausgabe.

20 "ami-0a70b9d193ae8a79", 5 "ami-07d9cf938edb0739b", 2 "ami-09245d5773578a1d6",
Um Informationen zu bestimmten AMIs

Verwenden Sie den Befehl describe-images. Der --query-Parameter umfasst nur die angegebenen Felder in der Ausgabe. Sie können alle zusätzlichen Felder hinzufügen, die Sie benötigen.

aws ec2 describe-images \ --image-id ami-0a70b9d193ae8a79 ami-07d9cf938edb0739b ami-09245d5773578a1d6 \ --query "Images[*].{ID:ImageId,CreateDate:CreationDate,Name:Name,Description:Description}"

Es folgt eine Beispielausgabe.

[ { "ID": "ami-0a70b9d193ae8a799", "CreateDate": "2025-03-01T02:22:41.000Z", "Name": "web-server-3.1", "Description": "Image for web servers" }, { "ID": "ami-07d9cf938edb0739b", "CreateDate": "2025-02-01T23:59:03.000Z", "Name": "awesome-application-11.5", "Description": "Image for Awesome Application" }, { "ID": "ami-09245d5773578a1d6", "CreateDate": "2025-01-31T02:22:41.000Z", "Name": "monitoring-4.2", "Description": "Monitoring software" } ]
So erstellen Sie eine VM-Datei aus einem AMI

Verwenden Sie den Befehl export-image. Die unterstützten Image-Formate sind VHD (kompatibel mit Citrix Xen und Microsoft Hyper-V), VMDK (kompatibel mit VMware ESX und VMware vSphere) und Raw-Format (kompatibel mit KVM- und Xen-Hypervisoren). Informationen zu den Anforderungen und Einschränkungen von VM Import/Export finden Sie unter Import/Export VM-Anforderungen.

IP-Adressen und DNS-Hostnamen

Ihre Benutzer stellen über das Internet mithilfe ihrer öffentlichen DNS-Hostnamen eine Verbindung zu Ihren EC2 Instanzen her. Der öffentliche DNS-Hostname einer EC2 Instance wird in ihre öffentliche IP-Adresse aufgelöst. EC2 Instanzen können über ihre privaten IP-Adressen miteinander kommunizieren.

Warum diese wichtig sind

IP-Adressen ermöglichen es Geräten, über ein lokales Netzwerk oder das Internet miteinander zu kommunizieren. Indem Sie sich die IP-Adressen und DNS-Namen Ihrer Instances notieren, können Sie sicherstellen, dass funktionell gleichwertige Server mit denselben Clients oder Geräten wie Ihre Instances kommunizieren können. Sie können beispielsweise Ihre Load Balancer-Konfiguration oder die DNS-Datensätze, die Sie für Ihren DNS-Anbieter erstellt haben, aktualisieren.

So rufen Sie die IP-Adressen und DNS-Hostnamen für Ihre Instances ab

Verwenden Sie den folgenden describe-instances-Befehl. Sie müssen diesen Befehl in jeder Region ausführen, in der Sie Instances haben. Der --query-Parameter umfasst nur die angegebenen Felder in der Ausgabe. Sie können alle zusätzlichen Felder hinzufügen, die Sie benötigen.

aws ec2 describe-instances \ --query "Reservations[*].Instances[].[InstanceId,PrivateIpAddress,PublicDnsName]" \ --output table

Es folgt eine Beispielausgabe. Die Spalten lauten Instanz-ID, private IPv4 Adresse und öffentlicher IPv4 DNS-Name.

---------------------------------------------------------------------------------------- | DescribeInstances | +---------------------+------------+---------------------------------------------------+ | i-0bac57d7472c89bac | 10.0.2.139 | ec2-192-0-2-142.us-east-2.compute.amazonaws.com | | i-0fa8b7678975a3fff | 10.0.14.85 | ec2-198-51-100-56.us-east-2.compute.amazonaws.com | ... ... | i-08fd74f3f1595fdbd | 10.0.1.241 | ec2-203.0.113.13.us-east-2.compute.amazonaws.com | +---------------------+------------+---------------------------------------------------+

Sicherheitsgruppenregeln

Eine Sicherheitsgruppe fungiert als virtuelle Firewall. Nachdem Sie einer EC2 Instance eine Sicherheitsgruppe zugeordnet haben, erlauben deren Regeln eingehenden und ausgehenden Datenverkehr für die EC2 Instance über bestimmte Ports und Protokolle.

Warum diese wichtig sind

Nachdem Sie den eingehenden Datenverkehr festgelegt haben, der Ihren Server erreichen darf, und den ausgehenden Datenverkehr, der Ihren Server verlassen darf, können Sie die Firewall-Regeln planen, die für funktionsgleiche Server erforderlich sind.

So rufen Sie die Sicherheitsgruppen für Ihre Instances ab

Verwenden Sie den folgenden describe-instances-Befehl. Der sed-Befehl entfernt Zeilen mit Klammern und Leerzeilen. Sie müssen diesen Befehl in jeder Region ausführen, in der Sie Instances haben.

aws ec2 describe-instances \ --query "Reservations[*].Instances[].SecurityGroups[].GroupId" | sed 's/[][]//g;/^$/d' | sort | uniq -c | sort -nr

Es folgt eine Beispielausgabe.

27 "sg-01dd3383691d02f42", 10 "sg-08c77cc910c0b3b2c", 2 "sg-00f4e409629f1a42d",
So rufen Sie die Regeln einer Sicherheitsgruppe für den eingehenden Datenverkehr ab

Verwenden Sie den folgenden describe-security-group-rulesBefehl, um die Regeln für die angegebene Sicherheitsgruppe anzuzeigen, in der sich diese befindetIsEgress. false

aws ec2 describe-security-group-rules \ --filters Name=group-id,Values=sg-01dd3383691d02f42 \ --query 'SecurityGroupRules[?IsEgress==`false`]'

Es folgt eine Beispielausgabe. Die erste Regel ist die Standardregel für eingehenden Datenverkehr, die eingehenden Datenverkehr von allen Ressourcen zulässt, die dieser Sicherheitsgruppe zugewiesen sind. Die andere Regel erlaubt SSH-Verkehr von den IP-Adressen in der angegebenen Präfixliste. Verwenden Sie den describe-prefix-listsBefehl, um die CIDR-Blöcke in einer Präfixliste zu beschreiben.

[ { "SecurityGroupRuleId": "sgr-06c8b42574a91db1b", "GroupId": "sg-01dd3383691d02f42", "GroupOwnerId": "123456789012", "IsEgress": false, "IpProtocol": "-1", "FromPort": -1, "ToPort": -1, "ReferencedGroupInfo": { "GroupId": "sg-01dd3383691d02f42", "UserId": "123456789012" }, "Tags": [], "SecurityGroupRuleArn": "arn:aws:ec2:us-west-2:123456789012:security-group-rule/sgr-06c8b42574a91db1b" }, { "SecurityGroupRuleId": "sgr-0886a5d46afcd1758", "GroupId": "sg-01dd3383691d02f42", "GroupOwnerId": "123456789012", "IsEgress": false, "IpProtocol": "tcp", "FromPort": 22, "ToPort": 22, "PrefixListId": "pl-f8a6439125e7bf465", "Tags": [], "SecurityGroupRuleArn": "arn:aws:ec2:us-east-2:123456789012:security-group-rule/sgr-0886a5d46afcd1758" } ]
So rufen Sie die Regeln einer Sicherheitsgruppe für den ausgehenden Datenverkehr ab

Verwenden Sie den folgenden describe-security-group-rulesBefehl, um die Regeln für die angegebene Sicherheitsgruppe anzuzeigen, wo sie sich IsEgress befindettrue.

aws ec2 describe-security-group-rules \ --filters Name=group-id,Values=sg-01dd3383691d02f42 \ --query 'SecurityGroupRules[?IsEgress==`true`]'

Es folgt eine Beispielausgabe. Er enthält nur die Standardregel für ausgehenden Datenverkehr, die den gesamten ausgehenden Datenverkehr IPv4 zulässt.

[ { "SecurityGroupRuleId": "sgr-048f09a719247dce7", "GroupId": "sg-01dd3383691d02f42", "GroupOwnerId": "123456789012", "IsEgress": true, "IpProtocol": "-1", "FromPort": -1, "ToPort": -1, "CidrIpv4": "0.0.0.0/0", "Tags": [], "SecurityGroupRuleArn": "arn:aws:ec2:us-east-2:123456789012:security-group-rule/sgr-048f09a719247dce7" } ]

Benutzerdaten

Wenn Sie eine EC2 Instance starten, können Sie mithilfe von Benutzerdaten ein Shell-Skript an die Instance übergeben. Beachten Sie, dass Benutzerdaten base64-codiert sind. Sie müssen also die Benutzerdaten dekodieren, um das Skript lesen zu können.

Warum das wichtig ist

Wenn Sie beim Start im Rahmen der Einrichtung Ihrer Instances Befehle ausführen, müssen Sie möglicherweise dieselben Aufgaben ausführen, wenn Sie funktionsgleiche Server einrichten.

So zeigen Sie die dekodierten Benutzerdaten für eine Instance an

Verwenden Sie den folgenden describe-instance-attribute-Befehl. Der Befehl base64 dekodiert die Benutzerdaten.

aws ec2 describe-instance-attribute \ --instance-id i-1234567890abcdef0 \ --attribute userData \ --output text \ --query "UserData.Value" | base64 --decode

Es folgt eine Beispielausgabe.

#!/bin/bash yum update -y service httpd start chkconfig httpd on

Im Folgenden sind weitere Merkmale von EC2 Instanzen aufgeführt:

Sie können überprüfen, ob Sie Folgendes verwenden, um EC2 Instances zu starten oder den Traffic zwischen Ihren EC2 Instances zu verteilen: