Suchen eines Linux-AMI - Amazon Elastic Compute Cloud

Suchen eines Linux-AMI

Bevor Sie eine Instance starten, müssen Sie ein AMI auswählen. Bei der Auswahl eines AMI müssen Sie die folgenden Anforderungen an die Instances beachten:

  • Die Region

  • Das Betriebssystem

  • Die Architektur: 32-Bit- (i386), 64-Bit- (x86_64) oder 64-Bit-ARM (arm64)

  • Der Root-Gerätetyp: Amazon EBS oder Instance-Speicher

  • Der Provider (z. B. Amazon Web Services)

  • Zusätzliche Software (z. B. SQL Server)

Wenn Sie ein Windows-AMI benötigen, erhalten Sie unter Finden eines AMI für Windows im Amazon EC2-Benutzerhandbuch für Windows-Instances weitere Informationen.

Suchen eines Linux-AMI mithilfe der Amazon EC2-Konsole

Sie finden Linux AMIs mit der Amazon EC2-Konsole. Sie können in der Liste der AMIs auswählen, wenn Sie den Startassistenten zum Starten einer Instance verwenden, oder Sie können alle verfügbaren AMIs über die Seite Images (Abbilder) durchsuchen. AMI-IDs sind für jede AWS-Region eindeutig.

So suchen Sie ein Linux-AMI bei Verwendung des Startassistenten

  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie in der Navigationsleiste die Region aus, in der Sie Ihre Instances starten möchten. Sie können unabhängig von Ihrem Standort jede verfügbare Region auswählen.

  3. Wählen Sie im Dashboard der Konsole die Option Launch Instance aus.

  4. Wählen Sie auf der Registerkarte Quick Start eines der am häufigsten genutzten AMIs in der Liste aus. Wenn das von Ihnen benötigte AMI nicht angezeigt wird, wählen Sie die Registerkarte My AMIs (Meine AMIs), AWS Marketplace oder Community AMIs, um weitere AMIs zu finden. Weitere Informationen finden Sie unter Schritt 1: Auswählen eines Amazon Machine Images (AMI).

So finden Sie ein Linux AMI über die Seite „Images“

  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie in der Navigationsleiste die Region aus, in der Sie Ihre Instances starten möchten. Sie können unabhängig von Ihrem Standort jede verfügbare Region auswählen.

  3. Wählen Sie im Navigationsbereich die Option AMIs.

  4. Mit den Filter-Optionen können Sie die angezeigten AMIs so filtern, dass nur die angezeigt werden, die Sie interessieren (optional). Wählen Sie beispielsweise Public Images (Öffentliche Images) aus, um alle Linux AMIs von AWS aufzulisten. Wählen Sie in der Suchleiste im Menü Owner (Eigentümer) aus und klicken Sie dann auf Amazon images (Amazon-Images). Wählen Sie wiederum in der Suchleiste Platform (Plattform) aus. Klicken Sie dann auf das Betriebssystem in der Liste.

  5. Klicken Sie auf das Symbol Show/Hide Colums (Spalten ein-/ausblenden), um auszuwählen, welche Image-Attribute angezeigt werden sollen, wie etwa der Root-Geräte-Typ (optional). Alternativ können Sie ein AMI in der Liste auswählen und seine Eigenschaften auf der Registerkarte Details sehen.

  6. Bevor Sie ein AMI auswählen, müssen Sie Folgendes beachten: Sie müssen wissen, ob das AMI durch Instance-Speicher oder Amazon EBS gestützt ist, und die Auswirkungen dieses Unterschieds kennen. Weitere Informationen finden Sie unter Speicher für das Root-Gerät.

  7. Um eine Instance über dieses AMI zu starten, wählen Sie die Instance aus und klicken dann auf Launch (Starten). Weitere Informationen zum Starten einer Instance über die Konsole erhalten Sie unter Starten Ihrer Instance über ein AMI. Wenn Sie die Instance nicht sofort starten möchten, notieren Sie sich die AMI-ID für später.

Suchen eines AMI mit AWS CLI

Sie können AWS CLI-Befehle für Amazon EC2 verwenden, um nur die Linux-AMIs aufzulisten, die Ihren Anforderungen entsprechen. Nachdem Sie ein AMI für Ihre Anforderungen gefunden haben, notieren Sie seine ID, sodass Sie sie zum Starten von Instances verwenden können. Weitere Informationen erhalten Sie unter Starten einer Instance mithilfe der AWS CLI im Benutzerhandbuch für AWS Command Line Interface.

Der Befehl describe-images unterstützt Filterparameter. Verwenden Sie beispielsweise den Parameter --owners, um öffentliche AMIs anzuzeigen, die Amazon gehören.

aws ec2 describe-images --owners self amazon

Sie können dem vorherigen Befehl den folgenden Filter hinzufügen, um ausschließlich AMIs anzuzeigen, die mit Amazon EBS gestützt sind:

--filters "Name=root-device-type,Values=ebs"
Wichtig

Das --owners-Flag im Befehl describe-images wegzulassen gibt alle Images zurück, bei denen Sie über Startberechtigungen verfügen (unabhängig vom Besitzer).

Suchen des neuesten Amazon Linux-AMI mit Systems Manager

Amazon EC2 bietet öffentliche AWS Systems Manager-Parameter für durch AWS verwaltete öffentliche AMIs, die Sie beim Starten von Instances verwenden können. Beispielsweise ist der von EC2 bereitgestellte Parameter /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2 in allen Regionen verfügbar und verweist immer auf die neueste Version des Amazon Linux 2 AMIs in einer bestimmten Region.

Die öffentlichen Amazon EC2 AMI-Parameter sind über die folgenden Pfade verfügbar:

  • /aws/service/ami-amazon-linux-latest

  • /aws/service/ami-windows-latest

Sie können eine Liste aller Linux AMIs in der aktuellen AWS-Region anzeigen, indem Sie den folgenden Befehl in der AWS-CLI verwenden.

aws ssm get-parameters-by-path --path /aws/service/ami-amazon-linux-latest --query Parameters[].Name

So starten Sie eine Instance mit einem öffentlichen Parameter:

Das folgende Beispiel verwendet den von EC2 bereitgestellten öffentlichen Parameter, um eine m5.xlarge-Instance unter Verwendung des neuesten Amazon Linux 2-AMIs zu starten.

Um den Parameter im Befehl anzugeben, verwenden Sie die folgende Syntax: resolve:ssm:public-parameter, wobei resolve:ssm das Standardpräfix und public-parameter der Pfad und Name des öffentlichen Parameters ist.

In diesem Beispiel sind die Parameter --count und --security-group nicht enthalten. Der Standardwert für --count lautet 1. Wenn Sie über eine Standard-VPC und eine Standardsicherheitsgruppe verfügen, werden diese verwendet.

aws ec2 run-instances --image-id resolve:ssm:/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2 --instance-type m5.xlarge --key-name MyKeyPair

Weitere Informationen finden Sie unter Verwendung öffentlicher Parameter im AWS Systems Manager-Benutzerhandbuch und Abrufen der neuesten Amazon-Linux-AMI-IDs unter Verwendung von AWS Systems Manager Parameterspeicher.

Verwenden eines Systems Manager-Parameters zum Suchen eines AMI

Wenn Sie eine Instance mit dem EC2-Startassistenten in der Konsole starten, können Sie entweder ein AMI aus der Liste oder einen AWS Systems Manager-Parameter auswählen, der auf eine AMI-ID verweist. Wenn Sie Automatisierungscode zum Starten Ihrer Instances verwenden, können Sie den Systems Manager-Parameter anstelle der AMI-ID angeben.

Ein Systems Manager-Parameter ist ein vom Kunden definiertes Schlüssel-Wert-Paar, das Sie in Systems Manager Parameterspeicher erstellen können. Der Parameterspeicher bietet einen zentralen Speicher zur Auslagerung Ihrer Anwendungskonfigurationswerte. Weitere Informationen finden Sie unter AWS Systems Manager Parameterspeicher im AWS Systems Manager-Benutzerhandbuch.

Wenn Sie einen Parameter erstellen, der auf eine AMI-ID verweist, stellen Sie sicher, dass Sie den Datentyp als aws:ec2:image angeben. Dieser Datentyp stellt sicher, dass beim Erstellen oder Ändern des Parameters der Parameterwert als AMI-ID validiert wird. Weitere Informationen finden Sie unter Native Parameterunterstützung für Amazon Machine Image-IDs im AWS Systems Manager-Benutzerhandbuch.

Anwendungsfälle

Über die Verwendung von Systems Manager-Parametern, die auf AMI-IDs verweisen, können Sie es Ihren Benutzern erleichtern, beim Starten von Instances das richtige AMI auszuwählen. Sie können außerdem die Wartung des Automatisierungscodes vereinfachen.

Benutzerfreundlicher

Wenn Instances unter Verwendung eines bestimmten AMIs gestartet werden müssen und wenn dieses AMI regelmäßig aktualisiert wird, empfehlen wir, dass Ihre Benutzer einen Systems Manager-Parameter auswählen müssen, um das AMI zu finden. Indem Sie Ihre Benutzer zur Auswahl eines Systems Manager-Parameters auffordern, können Sie sicherstellen, dass beim Start von Instances das neueste AMI verwendet wird.

Beispielsweise könnten Sie in Ihrer Organisation jeden Monat eine neue Version Ihres AMIs erstellen, das die neuesten Betriebssystem- und Anwendungs-Patches enthält. Außerdem müssen Ihre Benutzer Instances mit der neuesten Version Ihres AMIs starten. Um sicherzustellen, dass Ihre Benutzer die neueste Version verwenden, können Sie einen Systems Manager-Parameter (z. B. golden-ami) erstellen, der auf die korrekte AMI-ID verweist. Jedes Mal, wenn eine neue Version des AMIs erstellt wird, aktualisieren Sie den AMI-ID-Wert im Parameter, sodass er immer auf das neueste AMI verweist. Ihre Benutzer brauchen nichts von den regelmäßigen Updates des AMIs zu wissen, da sie weiterhin jedes Mal denselben Systems Manager-Parameter auswählen. Indem Sie die Benutzer einen Systems Manager-Parameter auswählen lassen, erleichtern Sie ihnen die Auswahl des richtigen AMI für den Start einer Instance.

Vereinfachen Sie die automatisierte Codepflege

Wenn Sie Automatisierungscode zum Starten Ihrer Instances verwenden, können Sie den Systems Manager-Parameter anstelle der AMI-ID angeben. Wenn eine neue Version des AMIs erstellt wird, ändern Sie den AMI-ID-Wert im Parameter so, dass er auf das neueste AMI verweist. Der Automatisierungscode, der auf den Parameter verweist, muss nicht jedes Mal geändert werden, wenn eine neue Version des AMIs erstellt wird. Dies vereinfacht die Wartung der Automatisierung erheblich und trägt zur Senkung der Bereitstellungskosten bei.

Anmerkung

Laufende Instances sind nicht betroffen, wenn Sie die AMI-ID ändern, auf die der Parameter Systems Manager verweis.

Starten einer Instance mit einem Systems Manager-Parameter

Sie können eine Instance über die Konsole oder die AWS CLI starten. Anstatt eine AMI-ID anzugeben, können Sie einen AWS Systems Manager-Parameter angeben, der auf eine AMI-ID verweist.

So finden Sie ein Linux AMI unter Verwendung eines Systems Manager-Parameters (Konsole):

  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie in der Navigationsleiste die Region aus, in der Sie Ihre Instances starten möchten. Sie können unabhängig von Ihrem Standort jede verfügbare Region auswählen.

  3. Wählen Sie im Dashboard der Konsole die Option Launch Instance aus.

  4. Wählen Sie Search by Systems Manager parameter (Suchen nach Systems Manager-Parameter) (oben rechts).

  5. Wählen Sie für Systems Manager-Parameter einen Parameter aus. Die entsprechende AMI-ID erscheint neben Currently resolves to (Gegenwärtig aufgelöst nach).

  6. Wählen Sie Search (Suchen) aus. Die AMIs, die der AMI-ID entsprechen, erscheinen in der Liste.

  7. Wählen Sie die AMI aus der Liste und wählen Sie Select (Auswählen).

Weitere Informationen über das Starten einer Instance über ein AMI mit dem Startassistenten finden Sie unter Schritt 1: Auswählen eines Amazon Machine Images (AMI).

So starten Sie eine Instance mit einem AWS Systems Manager-Parameter anstelle einer AMI-ID (AWS CLI):

Das folgende Beispiel verwendet den Systems Manager-Parameter golden-ami, um eine m5.xlarge-Instance zu starten. Der Parameter verweist auf eine AMI-ID.

Um den Parameter im Befehl anzugeben, verwenden Sie die folgende Syntax: resolve:ssm:/parameter-name, wobei resolve:ssm das Standardpräfix und parameter-name der eindeutige Parametername ist. Beachten Sie die Groß-/Kleinschreibung des Parameternamens. Umgekehrte Schrägstriche für den Parameternamen sind nur erforderlich, wenn der Parameter Teil einer Hierarchie ist, z. B. /amis/production/golden-ami. Sie können den umgekehrten Schrägstrich weglassen, wenn der Parameter nicht Teil einer Hierarchie ist.

In diesem Beispiel sind die Parameter --count und --security-group nicht enthalten. Der Standardwert für --count lautet 1. Wenn Sie über eine Standard-VPC und eine Standardsicherheitsgruppe verfügen, werden diese verwendet.

aws ec2 run-instances --image-id resolve:ssm:/golden-ami --instance-type m5.xlarge ...

So starten Sie eine Instance mit einer bestimmten Version eines AWS Systems Manager-Parameters (AWS CLI):

Systems Manager-Parameter bieten Versionsunterstützung. Jeder Iteration eines Parameters wird eine eindeutige Versionsnummer zugewiesen. Sie können die Version des Parameters wie folgt referenzieren: resolve:ssm:parameter-name:version, wobei version die eindeutige Versionsnummer ist. Standardmäßig wird die neueste Version des Parameters verwendet, wenn keine Version angegeben ist.

Das folgende Beispiel verwendet Version 2 des Parameters.

In diesem Beispiel sind die Parameter --count und --security-group nicht enthalten. Der Standardwert für --count lautet 1. Wenn Sie über eine Standard-VPC und eine Standardsicherheitsgruppe verfügen, werden diese verwendet.

aws ec2 run-instances --image-id resolve:ssm:/golden-ami:2 --instance-type m5.xlarge ...

So starten Sie eine Instance mit einem öffentlichen Parameter, der von AWS bereitgestellt wird

Amazon EC2 stellt öffentliche Systems Manager-Parameter für öffentliche AMIs bereit, die von AWS bereitgestellt werden. Beispielsweise ist der öffentliche Parameter /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2 in allen Regionen verfügbar und verweist immer auf die neueste Version des Amazon Linux 2 AMI in der Region.

aws ec2 run-instances --image-id resolve:ssm:/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2 --instance-type m5.xlarge ...

Berechtigungen

Wenn Sie Systems Manager-Parameter verwenden, die im Instance-Startassistenten auf AMI-IDs zu verweisen, müssen Sie ssm:DescribeParameters und ssm:GetParameters zu Ihrer IAM-Richtlinie hinzufügen. ssm:DescribeParameters erteilt Ihren IAM-Benutzern die Berechtigung, Systems Manager-Parameter anzuzeigen und auszuwählen. ssm:GetParameters erteilt Ihren IAM-Benutzern die Berechtigung, die Werte der Systems Manager-Parameter abzurufen. Sie können auch den Zugriff auf bestimmte Systems Manager-Parameter beschränken. Weitere Informationen finden Sie unter Verwenden des EC2-Startassistenten.

Einschränkungen

AMIs und Systems Manager-Parameter sind regionsspezifisch. Um denselben Systems Manager-Parameternamen in allen Regionen zu verwenden, erstellen Sie in jeder Region einen Systems Manager-Parameter mit demselben Namen (z. B. golden-ami). Verweisen Sie in jeder Region mit dem Parameter Systems Manager auf ein AMI in dieser Region.

Suchen eines Schnellstart-AMI

Wenn Sie eine Instance mit der Amazon EC2-Konsole starten, enthält die Seite Choose an Amazon Machine Image (AMI) (Amazon Machine Image (AMI) wählen) eine Liste beliebter AMIs auf der Registerkarte Quick Start (Schnellstart). Falls Sie den Start einer Instance mithilfe eines dieser Schnellstart-AMIs automatisieren möchten, müssen Sie die ID der aktuellen Version des AMI programmgesteuert suchen.

Zur Suche der aktuellen Version eines Schnellstart-AMI können Sie alle AMIs mit ihrem AMI-Namen auflisten und dann den mit dem neuesten Erstellungsdatum suchen.

Beispiel: Das aktuelle Amazon Linux 2-AMI suchen

aws ec2 describe-images \ --owners amazon \ --filters 'Name=name,Values=amzn2-ami-hvm-2.0.????????.?-x86_64-gp2' 'Name=state,Values=available' \ --query 'reverse(sort_by(Images, &CreationDate))[:1].ImageId' \ --output text

Beispiel: Das aktuelle Amazon Linux-AMI suchen

aws ec2 describe-images \ --owners amazon \ --filters 'Name=name,Values=amzn-ami-hvm-????.??.?.????????-x86_64-gp2' 'Name=state,Values=available' \ --query 'reverse(sort_by(Images, &CreationDate))[:1].ImageId' \ --output text

Beispiel: Das aktuelle Ubuntu Server 16.04 LTS-AMI suchen

aws ec2 describe-images \ --owners 099720109477 \ --filters 'Name=name,Values=ubuntu/images/hvm-ssd/ubuntu-xenial-16.04-amd64-server-????????' 'Name=state,Values=available' \ --query 'reverse(sort_by(Images, &CreationDate))[:1].ImageId' \ --output text

Beispiel: Das aktuelle Red Hat Enterprise Linux 7.5-AMI suchen

aws ec2 describe-images \ --owners 309956199498 \ --filters 'Name=name,Values=RHEL-7.5_HVM_GA*' 'Name=state,Values=available' \ --query 'reverse(sort_by(Images, &CreationDate))[:1].ImageId' \ --output text

Beispiel: Das aktuelle SUSE Linux Enterprise Server 15-AMI suchen

aws ec2 describe-images \ --owners amazon \ --filters 'Name=name,Values=suse-sles-15-v????????-hvm-ssd-x86_64' 'Name=state,Values=available' \ --query 'reverse(sort_by(Images, &CreationDate))[:1].ImageId' \ --output text