

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 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
```