Wie kann ich beim Booten automatisch ein persistentes sekundäres EBS-Volume an eine neue EC2 Linux Spot Instance anhängen?

Letzte Aktualisierung: 18.10.2021

Ich möchte ein Benutzerdatenskript verwenden, um beim Booten automatisch ein persistentes sekundäres Amazon-Elastic-Block-Store-Volume (Amazon EBS) auf meiner neuen Amazon Elastic Compute Cloud (Amazon EC2) Linux Spot Instance zu starten. Wie gehe ich dazu vor?

Kurzbeschreibung

Um beim Booten automatisch ein persistentes sekundäres EBS-Volume an eine neue EC2 Linux Spot Instance anzuhängen, fügen Sie ein Benutzerdatenskript zu einer EC2-Startvorlage hinzu. Verwenden Sie die Vorlage, wenn Sie Ihre Spot-Instance-Anfrage konfigurieren.

Voraussetzung

Erstellen oder verwenden Sie eine AWS-Identity-and-Access-Management-Rolle (IAM), für den Mindest-Anfügen-Volume-Zugriff für Amazon EC2 gewährt wird. Diese Rolle wird an die Startvorlage angehängt.

Auflösung

Schritt 1: Konfigurieren einer Startvorlage mit einer IAM-Rolle und einem Benutzerdatenskript

1.    Öffnen der Amazon-EC2-Konsole.

2.    Wählen Sie Startvorlagen und dann Startvorlage erstellen aus.

3.    Wählen Sie das Instance-AMI, den Typ und die Größe. Oder wählen Sie ein vorhandenes AMI aus.

4.    Verknüpfen Sie ein Schlüsselpaar mit der Vorlage.

5.    Wählen Sie ein Subnetz in derselben Availability Zone wie das EBS-Volume.

6.    Wählen Sie Erweiterte Details aus.

7.    Fügen Sie die IAM-Rolle hinzu, für den Mindest-Anfüge-Volume-Zugriff gewährt wurde, wie im folgenden Beispiel gezeigt:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:AttachVolume",
                "ec2:DetachVolume"
            ],
            "Resource": [
                "arn:aws:ec2:*:*:instance/*",
                "arn:aws:ec2:*:*:volume/vol-xxxxxxxxxxxx"
            ]
        },
        {
            "Effect": "Allow",
            "Action": "ec2:DescribeVolumes",
            "Resource": "arn:aws:ec2:*:*:volume/vol-xxxxxxxxxxxx"
        }
    ]

8.    Fügen Sie der Vorlage ein Benutzerdatenskript hinzu. Das Folgende ist ein Beispiel für Benutzerdatenskript. Ersetzen Sie die Region und die Volume-ID entsprechend Ihrer Umgebung.

#!/bin/bash
      OUTPUT=$(curl http://169.254.169.254/latest/meta-data/instance-id)
      aws ec2 attach-volume --volume-id vol-xxxxxxxxxxxx --device /dev/xvdf --instance-id $OUTPUT --region ap-southeast-1

Schritt 2: Konfigurieren einer Spot-Anfrage mithilfe der in Schritt 1 erstellten Startvorlage

1.    Wählen Sie Spot-Instance und dann Spot-Instance anfordern aus.

2.    Wählen Sie Startvorlagen und dann die Startvorlage aus, die in Schritt 1 erstellt wurde. Alle in der Vorlage konfigurierten Informationen werden automatisch ausgefüllt.

3.    Wählen Sie dieselbe Availability Zone wie das EBS-Volume.

4.    Wählen Sie Spot-Anfrage erstellen aus.

Nach Abschluss der Spot-Anforderung wird das persistente sekundäre EBS-Volume beim Booten automatisch an die neue Spot-Instance angehängt.


War dieser Artikel hilfreich?


Benötigen Sie Hilfe zur Fakturierung oder technischen Support?