Aggiungi mappature di dispositivi a blocchi all'istanza Amazon EC2 - Amazon Elastic Compute Cloud

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Aggiungi mappature di dispositivi a blocchi all'istanza Amazon EC2

Per impostazione predefinita, un'istanza che avvii include tutti i dispositivi di storage specificati nella mappatura dei dispositivi a blocchi del luogo AMI da cui hai avviato l'istanza. È possibile specificare le modifiche alla mappatura dei dispositivi a blocchi per un'istanza al momento dell'avvio e questi aggiornamenti si sovrascrivono o si uniscono alla mappatura dei dispositivi a blocchi di. AMI

Limitazioni
  • Per il volume root, puoi solo modificare: le dimensioni, il tipo e il contrassegno È possibile modificare il Delete on Termination (Elimina al termine).

  • Quando si modifica un EBS volume, non è possibile ridurne le dimensioni. Pertanto, è necessario specificare un'istantanea la cui dimensione sia uguale o superiore alla dimensione dell'istantanea specificata nella mappatura del dispositivo a blocchi di. AMI

Aggiornamento della mappatura dei dispositivi a blocchi all'avvio di un'istanza

È possibile aggiungere EBS volumi e volumi di Instance Store a un'istanza al momento del lancio. Tieni presente che l'aggiornamento della mappatura dei dispositivi a blocchi per un'istanza non apporta una modifica permanente alla mappatura dei dispositivi a blocchi del dispositivo AMI da cui è stata avviata.

Console
Per aggiungere volumi a un'istanza tramite la console
  1. Apri la EC2 console Amazon.

  2. Dal pannello di controllo, selezionare Launch Instance (Avvia istanza).

  3. Nella pagina Choose an Amazon Machine Image (AMI), seleziona AMI da usare e scegli Seleziona.

  4. Segui le istruzioni della procedura guidata per completare le pagine Choose an Instance Type (Scegli il tipo di istanza) e Configure Instance Details (Configura i dettagli dell'istanza).

  5. Nella pagina Aggiungi storage, puoi modificare il volume root, i volumi e EBS i volumi dell'Instance Store nel modo seguente:

    • Per modificare le dimensioni del volume root, individuare il volume Root nella colonna Type (Tipo) e modificarne il campo Size (Dimensioni).

    • Per sopprimere un EBS volume specificato dalla mappatura del dispositivo a blocchi AMI utilizzato per avviare l'istanza, individuate il volume e fate clic sulla relativa icona Elimina.

    • Per aggiungere un EBS volume, scegliete Aggiungi nuovo volume, scegliete EBSdall'elenco Tipo e compilate i campi (Dispositivo, Istantanea e così via).

    • Per eliminare un volume dell'Instance Store specificato dalla mappatura del dispositivo a blocchi AMI utilizzato per avviare l'istanza, individuate il volume e scegliete la relativa icona Elimina.

    • Per aggiungere un volume instance store, scegliere Add New Volume (Aggiungi nuovo volume), selezionare Instance Store dall'elenco Type (Tipo) e selezionare il nome di un dispositivo da Device (Dispositivo).

  6. Completare le restanti pagine della procedura guidata e scegliere Launch (Avvia).

Command line
Per aggiungere volumi a un'istanza utilizzando il AWS CLI

Utilizzate il comando run-instances con l'--block-device-mappingsopzione di specificare una mappatura dei dispositivi a blocchi per un'istanza al momento del lancio.

Ad esempio, supponiamo che un EBS -backed AMI specifichi la seguente mappatura dei dispositivi a blocchi per un'istanza Linux:

  • /dev/sdb = ephemeral0

  • /dev/sdh = snap-1234567890abcdef0

  • /dev/sdj = 100

Per evitare di collegarsi a un'istanza avviata /dev/sdj da questa istanzaAMI, utilizzate la seguente mappatura.

{ "DeviceName": "/dev/sdj", "NoDevice": "" }

Per aumentare le dimensioni di /dev/sdh a 300 GiBm specifica la seguente mappatura. Si noti che non occorre specificare l'ID della snapshot per /dev/sdh poiché per individuare il volume è sufficiente specificare il nome del dispositivo.

{ "DeviceName": "/dev/sdh", "Ebs": { "VolumeSize": 300 } }

Per aumentare la dimensione del volume root all'avvio dell'istanza, chiamate innanzitutto describe-images con l'ID di AMI per verificare il nome del dispositivo del volume root. Ad esempio "RootDeviceName": "/dev/xvda". Per sovrascrivere la dimensione del volume root, specifica il nome del dispositivo root utilizzato da AMI e la nuova dimensione del volume.

{ "DeviceName": "/dev/xvda", "Ebs": { "VolumeSize": 100 } }

Per collegare un volume instance store aggiuntivo, /dev/sdc, specificare la seguente mappatura. Se il tipo di istanza non supporta più volumi instance store, la mappatura non ha effetto. Se l'istanza supporta i volumi dell'NVMeInstance Store, questi vengono automaticamente enumerati e viene assegnato un nome di dispositivo. NVMe

{ "DeviceName": "/dev/sdc", "VirtualName": "ephemeral1" }
Per aggiungere volumi a un'istanza utilizzando AWS Tools for Windows PowerShell

Utilizzate il -BlockDeviceMapping parametro con il New-EC2Instancecomando (AWS Tools for Windows PowerShell).

Aggiornamento della mappatura dei dispositivi a blocchi di un'istanza in esecuzione

È possibile utilizzare il modify-instance-attributecomando per aggiornare la mappatura dei dispositivi a blocchi di un'istanza in esecuzione. Non è necessario arrestare l'istanza prima di cambiare questo attributo.

aws ec2 modify-instance-attribute --instance-id i-1a2b3c4d --block-device-mappings file://mapping.json

Ad esempio, per conservare il volume root al momento dell'interruzione dell'istanza, specificare quanto segue in mapping.json:

[ { "DeviceName": "/dev/sda1", "Ebs": { "DeleteOnTermination": false } } ]

In alternativa, è possibile utilizzare il -BlockDeviceMapping parametro con il Edit-EC2InstanceAttributecomando (AWS Tools for Windows PowerShell).

Visualizza i EBS volumi in un'istanza, blocca la mappatura dei dispositivi

È possibile enumerare facilmente i EBS volumi mappati su un'istanza.

Nota

Per le istanze lanciate prima del rilascio del 31/10/2009, non è possibile visualizzare la mappatura dei dispositivi a blocchiAPI. AWS È necessario scollegare e ricollegare i volumi in modo da poter visualizzare la mappatura dei dispositivi a blocchi. AWS

Console
Per visualizzare i EBS volumi di un'istanza utilizzando la console
  1. Apri la EC2 console Amazon.

  2. Nel pannello di navigazione, seleziona Instances (Istanze).

  3. Nella casella di ricerca, inserisci il tipo di dispositivo root, quindi scegli EBS. Viene visualizzato un elenco di istanze EBS supportate.

  4. Selezionare l'istanza desiderata ed esaminare i dettagli visualizzati nella scheda Storage (Archiviazione). Per il dispositivo root sono disponibili almeno le seguenti informazioni:

    • Tipo di dispositivo root (ad esempio,) EBS

    • Nome dispositivo root (ad esempio, /dev/xvda)

    • Dispositivi a blocchi (ad esempio, /dev/xvda, /dev/sdf e /dev/sdj)

    Se l'istanza è stata avviata con EBS volumi aggiuntivi utilizzando una mappatura dei dispositivi a blocchi, questi vengono visualizzati in Blocca dispositivi. Qualsiasi volume dell'instance store non viene visualizzato in questa scheda.

  5. Per visualizzare informazioni aggiuntive su un EBS volume, scegli l'ID del volume per accedere alla pagina del volume.

Command line

Per visualizzare i EBS volumi di un'istanza utilizzando la riga di comando

Utilizzate describe-instances (AWS CLI) o Get-EC2Instance(AWS Tools for Windows PowerShell) per enumerare i EBS volumi nella mappatura dei dispositivi a blocchi per un'istanza.

Visualizzazione della mappatura dei dispositivi a blocchi di un'istanza per i volumi instance store

Il tipo di istanza determina il numero e il tipo di volumi dell'archivio dell'istanza disponibili. Se il numero di volumi instance store in una mappatura dei dispositivi a blocchi supera il numero disponibile di volumi instance store per un'istanza, i volumi vengono ignorati. Per visualizzare i volumi dell'archivio dell'istanza per l'istanza, esegui il comando lsblk (istanza Linux) o apri Windows Disk Management (istanza Windows). Per sapere quanti volumi di Instance Store sono supportati da ogni tipo di istanza, consulta le specifiche del tipo di EC2 istanza Amazon.

Quando visualizzi la mappatura dei dispositivi a blocchi per la tua istanza, puoi vedere solo i EBS volumi, non i volumi dell'Instance Store. Il metodo utilizzato per visualizzare i volumi dell'archivio istanza per l'istanza dipende dal tipo di volume.

NVMevolumi dell'instance store

È possibile utilizzare il pacchetto della NVMe riga di comando, nvme-cli, per interrogare i volumi dell'NVMeinstance store nella mappatura dei dispositivi a blocchi. Scarica e installa il pacchetto sull'instanza, quindi emetti il seguente comando.

[ec2-user ~]$ sudo nvme list

Di seguito è riportato un esempio di output per un'istanza. Il testo nella colonna Modello indica se il volume è un volume o un EBS volume di instance store. In questo esempio, entrambi /dev/nvme1n1 e /dev/nvme2n1 sono volumi dell'archivio istanza.

Node SN Model Namespace ---------------- -------------------- ---------------------------------------- --------- /dev/nvme0n1 vol06afc3f8715b7a597 Amazon Elastic Block Store 1 /dev/nvme1n1 AWS2C1436F5159EB6614 Amazon EC2 NVMe Instance Storage 1 /dev/nvme2n1 AWSB1F4FF0C0A6C281EA Amazon EC2 NVMe Instance Storage 1 ...

È possibile utilizzare Disk Management o PowerShell elencare entrambi i NVMe volumi EBS e gli instance store. Per ulteriori informazioni, consulta Mappare NVMe i dischi dell'istanza Amazon EC2 Windows ai volumi.

HDDper SSD esempio, archivia i volumi

È possibile utilizzare i metadati dell'istanza per interrogare i volumi HDD o SSD instance store nella mappatura dei dispositivi a blocchi. NVMei volumi dell'instance store non sono inclusi.

La base URI per tutte le richieste di metadati ad esempio èhttp://169.254.169.254/latest/. Per ulteriori informazioni, consulta Usa i metadati dell'istanza per gestire l'EC2istanza.

Innanzitutto connettiti all'istanza in esecuzione, quindi da essa utilizza questa query per ottenere la relativa mappatura dei dispositivi a blocchi.

IMDSv2
[ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \ && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/block-device-mapping/
IMDSv1
[ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/block-device-mapping/

La risposta include i nomi dei dispositivi a blocchi dell'istanza. Ad esempio, l'output di un'istanza m1.small supportata da archivio istanza somiglia a quello seguente.

ami ephemeral0 root swap

Il dispositivo ami è il dispositivo root come visto dall'istanza. I volumi instance store sono denominati ephemeral[0-23]. Il dispositivo swap è destinato al file di paging. Se hai mappato anche EBS i volumi, questi appaiono come ebs1ebs2, e così via.

Per ottenere i dettagli su un singolo dispositivo a blocchi nella mappatura dei dispositivi a blocchi, aggiungi il suo nome alla query precedente, come mostrato.

IMDSv2
[ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \ && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/block-device-mapping/ephemeral0
IMDSv1
[ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/block-device-mapping/ephemeral0

Innanzitutto connettiti all'istanza in esecuzione, quindi da essa utilizza questa query per ottenere la relativa mappatura dei dispositivi a blocchi.

PS C:\> Invoke-RestMethod -uri http://169.254.169.254/latest/meta-data/block-device-mapping/

La risposta include i nomi dei dispositivi a blocchi dell'istanza. Ad esempio, l'output di un'istanza m1.small supportata da archivio istanza somiglia a quello seguente.

ami ephemeral0 root swap

Il dispositivo ami è il dispositivo root come visto dall'istanza. I volumi instance store sono denominati ephemeral[0-23]. Il dispositivo swap è destinato al file di paging. Se hai mappato anche EBS i volumi, questi appaiono come ebs1ebs2, e così via.

Per ottenere i dettagli su un singolo dispositivo a blocchi nella mappatura dei dispositivi a blocchi, aggiungi il suo nome alla query precedente, come mostrato.

PS C:\> Invoke-RestMethod -uri http://169.254.169.254/latest/meta-data/block-device-mapping/ephemeral0