

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à.

# Mappature dei dispositivi a blocchi per i volumi sulle istanze Amazon EC2
<a name="block-device-mapping-concepts"></a>

Ogni istanza che avvii dispone di un volume root associato, che è un volume Amazon EBS o un volume di archivio dell’istanza. Puoi utilizzare le mappature dei dispositivi a blocchi per specificare ulteriori volumi EBS o volumi di archivio dell’istanza da collegare a un’istanza quando viene avviata. Puoi anche collegare volumi EBS aggiuntivi a un'istanza in esecuzione. Tuttavia, il solo modo di collegare volumi di archivio dell’istanza a un’istanza è utilizzare mappature dei dispositivi a blocchi per collegarli quando l’istanza viene avviata.

**Topics**
+ [Concetti relativi alla mappatura dei dispositivi a blocchi](#block-device-mapping-def)
+ [Aggiungere mappature dei dispositivi a blocchi a un'AMI](ami-block-device-mapping.md)
+ [Aggiungi mappature dei dispositivi a blocchi all'istanza Amazon EC2](instance-block-device-mapping.md)

## Concetti relativi alla mappatura dei dispositivi a blocchi
<a name="block-device-mapping-def"></a>

Un *dispositivo a blocchi* è un dispositivo di archiviazione che sposta i dati in sequenze di byte o bit (blocchi). Tali dispositivi supportano l'accesso casuale e generalmente utilizzano I/O con buffering. Tra gli esempi sono inclusi hard disk, unità CD-ROM e unità flash. Un dispositivo a blocchi può essere collegato fisicamente a un computer oppure è possibile accedervi in remoto come se fosse collegato fisicamente.

Amazon EC2 supporta due tipi di dispositivi a blocchi: 
+ Volumi di instance store (dispositivi virtuali il cui hardware sottostante è fisicamente collegato al computer host per l'istanza)
+ Volumi EBS (dispositivi di archiviazione remoti)

Una *mappatura dei dispositivi a blocchi* definisce i dispositivi a blocchi (volumi instance store e volumi EBS) da collegare a un'istanza. Puoi specificare una mappatura dei dispositivi a blocchi come parte del processo di creazione di un'AMI in modo che la mappatura venga utilizzata da tutte le istanze avviate dall'AMI. In alternativa, puoi specificare una mappatura dei dispositivi a blocchi quando avvii un'istanza, in modo che la mappatura sostituisca quella specificata nell'AMI da cui hai avviato l'istanza. Tieni presente che tutti i volumi di NVMe instance store supportati da un tipo di istanza vengono automaticamente enumerati e assegnato un nome di dispositivo all'avvio dell'istanza; includerli nella mappatura dei dispositivi a blocchi non ha alcun effetto.

**Topics**
+ [Voci della mappatura dei dispositivi a blocchi](#parts-of-a-block-device-mapping)
+ [Precisazioni sui volumi instance store nelle mappature dei dispositivi a blocchi](#instance_store_caveats)
+ [Esempio di mappatura dei dispositivi a blocchi](#block-device-mapping-ex)
+ [Come i dispositivi vengono resi disponibili nel sistema operativo](#bdm-to-os)

### Voci della mappatura dei dispositivi a blocchi
<a name="parts-of-a-block-device-mapping"></a>

Quando crei una mappatura dei dispositivi a blocchi, devi specificare le seguenti informazioni per ogni dispositivo a blocchi che devi collegare all'istanza:
+ Il nome del dispositivo utilizzato in Amazon EC2. Il driver dei dispositivi a blocchi dell'istanza assegna il nome del volume effettivo durante il montaggio del volume. Il nome assegnato può essere diverso dal nome che Amazon EC2 consiglia. Per ulteriori informazioni, consulta [Nomi dei dispositivi per i volumi sulle EC2 istanze Amazon](device_naming.md).

Per i volumi dell'Instance store, è inoltre possibile specificare le seguenti informazioni:
+ Il dispositivo virtuale: `ephemeral[0-23]`. Tieni presente che il numero e la dimensione dei volumi instance store per l'istanza variano a seconda del tipo di istanza stessa.

Ad NVMe esempio, i volumi di archiviazione, valgono anche le seguenti informazioni:
+ Questi volumi vengono enumerati e assegnati a un nome di dispositivo automaticamente all'avvio dell'istanza; includerli nella mappatura dei dispositivi a blocchi non ha nessuna conseguenza.

Per i volumi EBS, specificare anche le seguenti informazioni:
+ L'ID dello snapshot da utilizzare per creare il dispositivo a blocchi (snap-*xxxxxxxx*). Questo valore è opzionale se specifichi una dimensione per il volume. Non è possibile specificare l'ID di uno snapshot archiviato.
+ La dimensione del volume in GiB. La dimensione specificata deve essere maggiore o uguale a quella della snapshot specificata.
+ Determina se eliminare il volume al momento dell'interruzione dell'istanza (`true` o `false`). Il valore predefinito è `true` per il volume root e `false` per i volumi collegati. Quando crei un'AMI, la relativa mappatura dei dispositivi a blocchi eredita questa impostazione dall'istanza. Quando avvii un'istanza, eredita questa impostazione dall'AMI.
+ Il tipo di volume, che può essere `gp2` e `gp3` per SSD per scopo generico, `io1` e `io2` per SSD IOPS con provisioning, `st1` per HDD ottimizzati per velocità effettiva, `sc1` per HDD Cold o `standard` per Magnetici.
+ Il numero di input/output operazioni al secondo (IOPS) supportate dal volume. (Utilizzato solo con i volumi `io1` e `io2`).
+ Alcuni tipi di istanza supportano più di una scheda EBS. Puoi selezionare la scheda EBS per il volume a cui allegare specificando l'indice della scheda EBS. Per ulteriori informazioni, consulta [Schede EBS](ebs_cards.md).

### Precisazioni sui volumi instance store nelle mappature dei dispositivi a blocchi
<a name="instance_store_caveats"></a>

Ci sono diversi avvertimenti da considerare quando si avviano istanze con volumi di storage delle istanze nelle AMIs mappature dei dispositivi a blocchi.
+ Alcuni tipi di istanza includono più volumi instance store di altre, mentre alcune non ne contengono affatto. Se il tuo tipo di istanza supporta un volume instance store e la tua AMI dispone di mappature per due volumi instance store, l'istanza verrà avviata con un volume instance store.
+ I volumi instance store possono essere mappati solo al momento dell'avvio. Non puoi arrestare un'istanza senza volumi instance store (come `t2.micro`), modificare l'istanza in un tipo che supporta i volumi instance store e riavviarla con volumi instance store. Tuttavia, puoi creare un'AMI dall'istanza e avviarla su un tipo di istanza che supporta i volumi instance store, quindi mappare questi volumi all'istanza.
+ Se avvii un'istanza con volumi instance store mappati, quindi la arresti e la modifichi in un tipo di istanza con meno volumi instance store e la riavvii, le mappature dei volumi instance store dell'avvio iniziale mostreranno ancora i metadati dell'istanza. Tuttavia, per l'istanza è disponibile solo il numero massimo di volumi instance store supportati per quel tipo di istanza.
**Nota**  
Quando un'istanza viene arrestata, tutti i dati sui volumi instance store vengono persi.
+ A seconda della capacità dell'instance store al momento dell'avvio, le istanze M3 potrebbero ignorare le mappature dei dispositivi a blocchi dell'instance store dell'AMI, a meno che non vengano specificate all'avvio. Per essere certo che i volumi instance store siano disponibili all'avvio dell'istanza, anche se l'AMI che stai avviando include volumi instance store mappati nell'AMI, devi specificare le mappature dei dispositivi a blocchi dell'instance store. 

### Esempio di mappatura dei dispositivi a blocchi
<a name="block-device-mapping-ex"></a>

L'illustrazione sottostante mostra un esempio di mappatura dei dispositivi a blocchi di un'istanza supportata da EBS. `/dev/sdb` viene mappato a `ephemeral0`, mentre un volume EBS viene mappato a `/dev/sdh` e l'altro a `/dev/sdj`. Nell’illustrazione è mostrato anche il volume EBS che rappresenta il volume root, `/dev/sda1`.

![\[Relazione tra istanza, volumi instance store e volumi EBS.\]](http://docs.aws.amazon.com/it_it/AWSEC2/latest/UserGuide/images/block_device_mapping_figure.png)


Si noti che questo esempio di mappatura dei dispositivi a blocchi viene utilizzato nei comandi di esempio e in questo argomento. APIs È possibile trovare comandi di esempio APIs che creano mappature di dispositivi a blocchi in e. [Specificare una mappatura dei dispositivi a blocchi di un'AMI](ami-block-device-mapping.md#create-ami-bdm) [Aggiornamento della mappatura dei dispositivi a blocchi all'avvio di un'istanza](instance-block-device-mapping.md#Using_OverridingAMIBDM)

### Come i dispositivi vengono resi disponibili nel sistema operativo
<a name="bdm-to-os"></a>

Nomi di dispositivo come `/dev/sdh` e `xvdh` vengono utilizzati da Amazon EC2 per descrivere i dispositivi a blocchi. La mappatura dei dispositivi a blocchi è utilizzata da Amazon EC2 per specificare i dispositivi a blocchi da collegare a un'istanza EC2. Prima che si possa accedere al dispositivo di archiviazione, dopo che è stato allegato a un'istanza, un dispositivo a blocchi deve essere montato dal sistema operativo. Se viene distaccato da un'istanza, un dispositivo a blocchi viene smontato dal sistema operativo e non è più possibile accedere al dispositivo di archiviazione.

**Istanze Linux**: al primo avvio, i nomi di dispositivo specificati nella mappatura dei dispositivi a blocchi vengono mappati ai dispositivi a blocchi corrispondenti. Il tipo di istanza determina quali volumi instance store formattare e montare per impostazione predefinita. Puoi montare volumi instance store aggiuntivi all'avvio, a condizione che non venga superato il numero consentito di volumi instance store per il tipo di istanza che hai scelto. Per ulteriori informazioni, consulta [Archivio dell'istanza archiviazione a blocchi temporanea per le istanze EC2](InstanceStorage.md). Il driver dei dispositivi a blocchi dell'istanza determina quali dispositivi utilizzare quando i volumi vengono formattati e montati.

**Istanze Windows**: al primo avvio, i nomi di dispositivo specificati nella mappatura dei dispositivi a blocchi vengono mappati ai dispositivi a blocchi corrispondenti, quindi il servizio Ec2Config inizializza e monta le unità. Il volume root è montato come `C:\`. I volumi instance store vengono montati come `Z:\`, `Y:\` e così via. Per montare un volume EBS, puoi utilizzare qualsiasi lettera di unità disponibile. Tuttavia, puoi configurare come vengono assegnate le lettere ai volumi EBS. Per ulteriori informazioni, consulta [Agenti di avvio di Windows su istanze Amazon EC2 Windows](configure-launch-agents.md).

# Aggiungere mappature dei dispositivi a blocchi a un'AMI
<a name="ami-block-device-mapping"></a>

Ogni AMI dispone di una mappatura dei dispositivi a blocchi che specifica i dispositivi a blocchi da collegare a un'istanza al suo avvio dall'AMI. Per aggiungere ulteriori dispositivi a blocchi a un'AMI devi creare una tua AMI.

**Topics**
+ [Specificare una mappatura dei dispositivi a blocchi di un'AMI](#create-ami-bdm)
+ [Visualizzazione dei volumi EBS nella mappatura dei dispositivi a blocchi di un'AMI](#view-ami-bdm)

## Specificare una mappatura dei dispositivi a blocchi di un'AMI
<a name="create-ami-bdm"></a>

Ci sono due modi per specificare i volumi oltre al volume root quando crei un'AMI. Se hai già collegato i volumi a un'istanza in esecuzione prima di creare un'AMI dall'istanza, la mappatura dei dispositivi a blocchi dell'AMI includerà gli stessi volumi. Per i volumi EBS, i dati esistenti vengono salvati in una nuova snapshot, che è specificata nella mappatura dei dispositivi a blocchi. Per i volumi instance store, i dati non vengono conservati.

Per un'AMI EBS-backed, puoi aggiungere i volumi EBS e i volumi instance store utilizzando la mappatura dei dispositivi a blocchi. Per un’AMI supportata da Amazon S3, puoi aggiungere volumi di archivio dell’istanza solo modificando le voci della mappatura dei dispositivi a blocchi nel file manifesto di immagine al momento della registrazione dell’immagine.

**Nota**  
Per le istanze M3, devo specificare i volumi instance store nella mappatura dei dispositivi a blocchi dell'istanza quando la avvii. Quando avvii un'istanza M3, i volumi instance store specificati nella mappatura dei dispositivi a blocchi dell'AMI potrebbero venire ignorati se non sono stati specificati come parte della mappatura.

------
#### [ Console ]

**Per aggiungere volumi a un’AMI**

1. Aprire la console Amazon EC2.

1. Nel riquadro di navigazione, scegliere **Instances (Istanze)**.

1. Selezionare un'istanza e scegliere **Actions (Operazioni)**, **Image and templates (Immagine e modelli)**, **Create image (Crea immagine)**.

1. Inserire un nome e una descrizione per l'immagine.

1. I volumi di istanza vengono visualizzati in **Instance volumes (Volumi istanza)**. Per aggiungere un altro volume, scegliere **Add volume (Aggiungi volume)**.

1. Per **Volume type (Tipo di volume)**, scegliere il tipo di volume. Per **Device (Dispositivo)**, scegliere il nome del dispositivo. Per un volume EBS, è possibile specificare dettagli aggiuntivi, ad esempio uno snapshot, la dimensione del volume, il tipo di volume, lo IOPS e lo stato di crittografia.

1. Scegliere **Create Image (Crea immagine)**.

------
#### [ AWS CLI ]

**Per aggiungere volumi a un’AMI**

Utilizzare il comando [create-image](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-image.html) per specificare una mappatura dei dispositivi a blocchi di un’AMI supportata da EBS. Utilizzare il comando [register-image](https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html) per specificare una mappatura dei dispositivi a blocchi di un’AMI supportata da Amazon S3.

Specificare la mappatura dei dispositivi a blocchi utilizzando il parametro `--block-device-mappings`. Puoi specificare argomenti codificati in JSON direttamente sulla riga di comando o facendo riferimento a un file JSON, come illustrato di seguito.

```
--block-device-mappings file://mapping.json
```

Per aggiungere un volume instance store, utilizzare la mappatura seguente: Tieni presente che i volumi dell' NVMeInstance Store vengono aggiunti automaticamente.

```
{
    "DeviceName": "device_name",
    "VirtualName": "ephemeral0"
}
```

Per aggiungere un volume di 100 GiB vuoto, utilizzare la seguente mappatura:

```
{
    "DeviceName": "device_name",
    "Ebs": {
      "VolumeSize": 100
    }
}
```

Per aggiungere un volume EBS basato su uno snapshot, utilizzare la seguente mappatura:

```
{
    "DeviceName": "device_name",
    "Ebs": {
      "SnapshotId": "snap-1234567890abcdef0"
    }
}
```

Per omettere la mappatura per un dispositivo, utilizzare la seguente mappatura:

```
{
    "DeviceName": "device_name",
    "NoDevice": ""
}
```

------
#### [ PowerShell ]

Utilizzare il [New-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Image.html)cmdlet per specificare una mappatura dei dispositivi a blocchi per un'AMI supportata da EBS. Utilizza il [Register-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Image.html)cmdlet per specificare una mappatura dei dispositivi a blocchi per un'AMI supportata da Amazon S3.

Aggiungi l’opzione `-BlockDeviceMapping`, specificando gli aggiornamenti in `bdm`:

```
-BlockDeviceMapping $bdm
```

La mappatura seguente aggiunge un volume in base a uno snapshot.

```
$ebd = New-Object -TypeName Amazon.EC2.Model.EbsBlockDevice
$ebd.SnapshotId = "snap-1234567890abcdef0"
$bdm = New-Object -TypeName Amazon.EC2.Model.BlockDeviceMapping
$bdm.DeviceName = "device_name"
$bdm.Ebs = $ebd
```

La mappatura seguente aggiunge un volume di 100 GB vuoto.

```
$ebd = New-Object -TypeName Amazon.EC2.Model.EbsBlockDevice
$ebd.VolumeSize = 100
$bdm = New-Object -TypeName Amazon.EC2.Model.BlockDeviceMapping
$bdm.DeviceName = "device_name"
$bdm.Ebs = $ebd
```

------

## Visualizzazione dei volumi EBS nella mappatura dei dispositivi a blocchi di un'AMI
<a name="view-ami-bdm"></a>

Puoi enumerare facilmente i volumi EBS nella mappatura dei dispositivi a blocchi dell'AMI.

------
#### [ Console ]

**Per visualizzare i volumi EBS di un’AMI**

1. Aprire la console Amazon EC2.

1. Nel pannello di navigazione, scegli **AMIs**.

1. Scegli le immagini **EBS dall'elenco dei **filtri** per ottenere un elenco di immagini** supportate da EBS. AMIs 

1. Selezionare l'AMI desiderata e controllare la scheda **Details (Dettagli)**. Al minimo, le seguenti informazioni sono disponibili per il volume root (dove il termine **dispositivo root** equivale a **volume root**):
   + **Root Device Type (Tipo dispositivo root** (`ebs`)
   + **Root Device Name (Nome dispositivo root)** (ad esempio, `/dev/sda1`)
   + **Block Devices (Dispositivi a blocchi)** (ad esempio, `/dev/sda1=snap-1234567890abcdef0:8:true`)

   Se l'AMI è stata creata con volumi EBS aggiuntivi tramite la mappatura dei dispositivi a blocchi, nel campo **Block Devices (Dispositivi a blocchi)** viene visualizzata anche la mappatura di tali volumi aggiuntivi (Questa schermata non visualizza i volumi instance store).

------
#### [ AWS CLI ]

**Per visualizzare i volumi EBS di un’AMI**  
Utilizzare il comando [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) .

```
aws ec2 describe-images \
    --image-ids ami-0abcdef1234567890 \
    --query Image[0].BlockDeviceMappings
```

------
#### [ PowerShell ]

**Per visualizzare i volumi EBS di un’AMI**  
Utilizza il cmdlet [Get-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html).

```
(Get-EC2Image -ImageId ami-0abcdef1234567890).BlockDeviceMappings
```

------

# Aggiungi mappature dei dispositivi a blocchi all'istanza Amazon EC2
<a name="instance-block-device-mapping"></a>

Per impostazione predefinita, un'istanza avviata include eventuali dispositivi di archiviazione specificati nella mappatura dei dispositivi a blocchi di un'AMI da cui l'istanza è stata avviata. Puoi specificare le modifiche alle mappatura dei dispositivi a blocchi di un'istanza quando la avvii; tali aggiornamenti sostituiscono la mappatura dei dispositivi a blocchi dell'AMI o si uniscono a essa.

**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 modifichi un volume EBS non puoi ridurne le dimensioni, pertanto devi specificare una snapshot le cui dimensioni siano uguali o maggiori di quelle della snapshot specificata nella mappatura dei dispositivi a blocchi dell'AMI.

**Topics**
+ [Aggiornamento della mappatura dei dispositivi a blocchi all'avvio di un'istanza](#Using_OverridingAMIBDM)
+ [Aggiornamento della mappatura dei dispositivi a blocchi di un'istanza in esecuzione](#update-instance-bdm)
+ [Visualizzazione dei volumi EBS nella mappatura dei dispositivi a blocchi di un'istanza](#view-instance-bdm)
+ [Visualizzazione della mappatura dei dispositivi a blocchi di un'istanza per i volumi instance store](#bdm-instance-metadata)

## Aggiornamento della mappatura dei dispositivi a blocchi all'avvio di un'istanza
<a name="Using_OverridingAMIBDM"></a>

Puoi aggiungere volumi EBS e volumi instance store a un'istanza al momento del suo avvio. Tieni presente che l'aggiornamento della mappatura dei dispositivi a blocchi di un'istanza non comporta una modifica permanente della mappatura dell'AMI da cui l'istanza è stata avviata.

------
#### [ Console ]

**Per aggiornare i volumi per un’istanza all’avvio**

1. Segui la procedura di [avvio di un’istanza](ec2-launch-instance-wizard.md), ma non avviare l’istanza finché non avrai completato i seguenti passaggi per aggiornare i volumi.

1. (Facoltativo) Per aggiungere un volume, scegli **Configura archiviazione**, **Aggiungi nuovo volume**. Seleziona la dimensione e il tipo di volume.

1. (Facoltativo) Per sopprimere un volume specificato dalla mappatura dei dispositivi a blocchi dell’AMI, scegli **Configura archiviazione**, **Rimuovi**.

1. (Facoltativo) Per modificare la configurazione di un volume EBS, nel riquadro **Configura archiviazione**, scegli **Avanzato**. Espandi le informazioni relative al volume e apporta le modifiche necessarie.

1. Nel pannello **Summary** (Riepilogo), verifica la configurazione dell'istanza, quindi scegli **Launch instance** (Avvia istanza). Per ulteriori informazioni, consulta [Avviare un'istanza EC2 tramite la procedura guidata di avvio dell'istanza nella console](ec2-launch-instance-wizard.md).

------
#### [ AWS CLI ]

**Per aggiornare i volumi per un’istanza all’avvio**  
Utilizzare il comando [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) con l’opzione `--block-device-mappings`.

```
--block-device-mappings file://mapping.json
```

Ad esempio, si supponga che un’AMI di mappatura dei dispositivi a blocchi specifichi ciò che segue:
+ `/dev/xvda`: volume root EBS
+ `/dev/sdh`: volume EBS creato da `snap-1234567890abcdef0`
+ `/dev/sdj`: volume EBS vuoto con una dimensione di `100`
+ `/dev/sdb`: volume di archivio dell’istanza `ephemeral0`

Supponiamo che quanto segue sia l’istanza di mappatura dei dispositivi a blocchi in `mapping.json`.

```
[
    {
        "DeviceName": "/dev/xvda",
        "Ebs": {
            "VolumeSize": 100
        }
    },
    {
        "DeviceName": "/dev/sdj",
        "NoDevice": ""
    },
    {
        "DeviceName": "/dev/sdh",
        "Ebs": {
            "VolumeSize": 300
        }
    },
    {
        "DeviceName": "/dev/sdc",
        "VirtualName": "ephemeral1"
    }
]
```

L’istanza di mappatura dei dispositivi a blocchi esegue le seguenti operazioni:
+ Sostituisce la dimensione del volume root, `/dev/xvda`, aumentandola a 100 GiB.
+ Impedisce a `/dev/sdj` di collegarsi all’istanza.
+ Sostituisce la dimensione di `/dev/sdh`, aumentandola a 300 GiB. Nota che non è necessario specificare nuovamente l’ID snapshot.
+ Aggiunge un volume effimero, `/dev/sdc`. Se il tipo di istanza non supporta più volumi di archivio dell’istanza, questo non ha effetto. Se il tipo di istanza supporta i volumi dell' NVMe Instance Store, questi vengono automaticamente enumerati e inclusi nella mappatura dei dispositivi a blocchi di istanza e non possono essere sovrascritti.

------
#### [ PowerShell ]

**Per aggiornare i volumi per un’istanza all’avvio**  
Utilizzare il `-BlockDeviceMapping` parametro con il cmdlet con il parametro. [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html)`-BlockDeviceMapping`

```
-BlockDeviceMapping $bdm
```

Supponiamo che quanto segue sia l’istanza di mappatura dei dispositivi a blocchi in `$bdm`.

```
$bdm = @()

$root = New-Object -TypeName Amazon.EC2.Model.BlockDeviceMapping
$root.DeviceName = "/dev/xvda"
$ebs1 = New-Object -TypeName Amazon.EC2.Model.EbsBlockDevice
$ebs1.VolumeSize = 100
$root.Ebs = $ebs1
$bdm += $root

$sdj = New-Object -TypeName Amazon.EC2.Model.BlockDeviceMapping
$sdj.DeviceName = "/dev/sdj"
$sdj.NoDevice = ""
$bdm += $sdj

$sdh = New-Object -TypeName Amazon.EC2.Model.BlockDeviceMapping
$sdh.DeviceName = "/dev/sdh"
$ebs2 = New-Object -TypeName Amazon.EC2.Model.EbsBlockDevice
$ebs2.VolumeSize = 300
$sdh.Ebs = $ebs2
$bdm += $sdh

$sdc = New-Object -TypeName Amazon.EC2.Model.BlockDeviceMapping
$sdc.DeviceName = "/dev/sdc"
$sdc.VirtualName = "ephemeral1"
$bdm += $sdc
```

L’istanza di mappatura dei dispositivi a blocchi esegue le seguenti operazioni:
+ Sostituisce la dimensione del volume root, `/dev/xvda`, aumentandola a 100 GiB.
+ Impedisce a `/dev/sdj` di collegarsi all’istanza.
+ Sostituisce la dimensione di `/dev/sdh`, aumentandola a 300 GiB. Nota che non è necessario specificare nuovamente l’ID snapshot.
+ Aggiunge un volume effimero, `/dev/sdc`. Se il tipo di istanza non supporta più volumi di archivio dell’istanza, questo non ha effetto. Se il tipo di NVMe istanza supporta i volumi dell'Instance Store, questi vengono automaticamente enumerati e inclusi nella mappatura dei dispositivi a blocchi di istanza e non possono essere sostituiti.

------

## Aggiornamento della mappatura dei dispositivi a blocchi di un'istanza in esecuzione
<a name="update-instance-bdm"></a>

Non è necessario arrestare l'istanza prima di cambiare questo attributo.

------
#### [ AWS CLI ]

**Per aggiornare la mappatura dei dispositivi a blocchi di un’istanza in esecuzione**  
Utilizza il comando [modify-instance-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html).

Aggiungere l’opzione `--block-device-mappings`:

```
--block-device-mappings file://mapping.json
```

In `mapping.json`, specifica gli aggiornamenti. Ad esempio, il seguente aggiornamento modifica il volume root in modo che persista.

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

------
#### [ PowerShell ]

**Per aggiornare la mappatura dei dispositivi a blocchi di un’istanza in esecuzione**  
Utilizza il cmdlet [Edit-EC2InstanceAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html).

Aggiungere l’opzione `-BlockDeviceMapping`:

```
-BlockDeviceMapping $bdm
```

In `bdm`, specifica gli aggiornamenti. Ad esempio, il seguente aggiornamento modifica il volume root in modo che persista.

```
$ebd = New-Object -TypeName Amazon.EC2.Model.EbsBlockDevice
$ebd.DeleteOnTermination = false
$bdm = New-Object -TypeName Amazon.EC2.Model.BlockDeviceMapping
$bdm.DeviceName = "/dev/sda1"
$bdm.Ebs = $ebd
```

------

## Visualizzazione dei volumi EBS nella mappatura dei dispositivi a blocchi di un'istanza
<a name="view-instance-bdm"></a>

Puoi enumerare facilmente i volumi EBS mappati a un'istanza.

------
#### [ Console ]

**Per visualizzare i volumi EBS di un’istanza**

1. Aprire la console Amazon EC2.

1. Nel riquadro di navigazione, seleziona **Instances (Istanze)**.

1. Selezionare l’istanza ed esaminare i dettagli visualizzati nella scheda **Storage (Archiviazione)**. Al minimo, le seguenti informazioni sono disponibili per il volume root (dove il termine **dispositivo root** equivale a **volume root**):
   + **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 volumi EBS aggiuntivi utilizzando una mappatura di dispositivi a blocchi, questi vengono visualizzati in **Block devices (Dispositivi a blocchi)**. Qualsiasi volume dell'instance store non viene visualizzato in questa scheda.

1. Per visualizzare ulteriori informazioni su un volume EBS, scegliere il relativo ID volume per andare alla pagina del volume.

------
#### [ AWS CLI ]

**Per visualizzare i volumi EBS di un’istanza**  
Utilizzare il comando [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html).

```
aws ec2 describe-instances \
    --instance-ids i-1234567890abcdef0 \
    --query Reservations[*].Instances[0].BlockDeviceMappings
```

------
#### [ PowerShell ]

**Per visualizzare i volumi EBS di un’istanza**  
Utilizza il cmdlet [Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html).

```
(Get-EC2Instance -InstanceId i-0bac57d7472c89bac).Instances.BlockDeviceMappings
```

------

## Visualizzazione della mappatura dei dispositivi a blocchi di un'istanza per i volumi instance store
<a name="bdm-instance-metadata"></a>

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 conoscere il numero di volumi instance store supportati da ogni tipo di istanza, consulta [le specifiche del tipo di istanza Amazon EC2](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-instance-type-specifications.html).

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



### NVMe volumi dell'instance store
<a name="nvme-instance-store"></a>

#### Istanze Linux
<a name="nvme-instance-store-linux"></a>

È possibile utilizzare il pacchetto della NVMe riga di comando, [nvme-cli, per interrogare i](https://github.com/linux-nvme/nvme-cli) volumi dell' NVMe instance 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 EBS o un volume dell'archivio istanza. 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         ...
```

#### Istanze Windows
<a name="nvme-instance-store-windows"></a>

È possibile utilizzare Disk Management o PowerShell elencare sia i volumi EBS che quelli dell'Instance Store. NVMe Per ulteriori informazioni, consulta [Mappare i dischi NVMe ai volumi nell'istanza Amazon EC2 Windows](windows-list-disks-nvme.md).

### Volumi di archivio istanza HDD o SSD
<a name="hdd-ssd-instance-store"></a>

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

L'URI di base di tutte le richieste dei metadati dell'istanza è `http://169.254.169.254/latest/`. Per ulteriori informazioni, consulta [Utilizzo dei metadati dell'istanza per gestire l'istanza EC2](ec2-instance-metadata.md).

#### Istanze Linux
<a name="hdd-ssd-instance-store-linux"></a>

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 volume 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 i volumi EBS, questi appariranno come `ebs1`, `ebs2` 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
```

------

#### Istanze Windows
<a name="hdd-ssd-instance-store-windows"></a>

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 volume 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 i volumi EBS, questi appariranno come `ebs1`, `ebs2` 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
```