Come posso collegare automaticamente un volume EBS secondario persistente a una nuova istanza Spot EC2 Linux all'avvio?

Ultimo aggiornamento: 18-10-2021

Desidero utilizzare uno script di dati utente per avviare automaticamente un volume Amazon Elastic Block Store (Amazon EBS) secondario persistente sulla mia nuova istanza Spot Linux di Amazon Elastic Compute Cloud (Amazon EC2) all'avvio. Come posso fare?

Breve descrizione

Per collegare automaticamente un volume EBS secondario persistente a una nuova istanza Spot EC2 Linux all'avvio, aggiungi uno script di dati utente a un modello di avvio EC2. Utilizza il modello durante la configurazione della tua richiesta di istanza Spot.

Prerequisito

Crea o utilizza un ruolo AWS Identity and Access Management (IAM) a cui sia concesso almeno l'accesso ai volumi di allegati per Amazon EC2. Questo ruolo verrà associato al modello di avvio.

Risoluzione

Fase 1: configurazione di un modello di avvio con un ruolo IAM e uno script di dati utente

1.    Apri la console di Amazon EC2.

2.    Seleziona Modelli di avvio, quindi seleziona Crea modello di avvio.

3.    Scegli l'AMI, il tipo e la dimensione dell'istanza. Oppure, scegli un ruolo esistente.

4.    Associa una coppia di chiavi al modello.

5.    Scegli una sottorete nella stessa zona di disponibilità del volume EBS.

6.    Seleziona Dettagli avanzati.

7.    Aggiungi il ruolo IAM per il quale è stato concesso almeno l'accesso al volume di allegati, come illustrato nell'esempio seguente:

{
    "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.    Aggiungi uno script di dati utente al modello. Di seguito è riportato un esempio di script di dati utente. Sostituisci la regione e l'ID volume per adattarli al tuo ambiente.

#!/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

Fase 2: configurazione di una richiesta Spot utilizzando il modello di avvio creato nella fase 1

1.    Seleziona Istanza Spot, quindi seleziona Richiedi istanza Spot.

2.    Seleziona Modelli di avvio, quindi scegli il modello di avvio creato nella fase 1. Tutte le informazioni configurate sul modello vengono compilate automaticamente.

3.    Scegli la stessa zona di disponibilità del volume EBS.

4.    Seleziona Crea richiesta Spot.

Al termine della richiesta Spot, il volume EBS secondario persistente viene collegato automaticamente alla nuova istanza Spot all'avvio.


Questo articolo è stato utile?


Hai bisogno di supporto tecnico o per la fatturazione?