

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

# Aggiunta di un database all'ambiente Elastic Beanstalk
<a name="using-features.managing.db"></a>

Elastic *Beanstalk* fornisce l'integrazione accoppiata del database con Amazon Relational Database [Service (Amazon](https://aws.amazon.com/rds/) RDS). È possibile utilizzare Elastic Beanstalk per aggiungere un database MySQL, PostgreSQL, Oracle o SQL Server ad un ambiente esistente o a uno nuovo dopo averlo creato. Quando aggiungi un'istanza di database accoppiata a un ambiente, Elastic Beanstalk fornisce le informazioni di connessione all'applicazione. In questo modo è possibile impostare le proprietà dell'ambiente per il nome host del database, la porta, il nome utente, la password e il nome database.

**Vantaggi dell'utilizzo di un database accoppiato**  
Se è la prima volta che utilizzi un'istanza database con la tua applicazione, consigliamo di aggiungere un database a un ambiente di test con la console Elastic Beanstalk tramite il processo descritto in questo argomento. In questo modo è possibile verificare se la propria applicazione può leggere le proprietà dell'ambiente, costruire una stringa di connessione e connettersi a un'istanza database, senza la configurazione aggiuntiva richiesta per un database esterno a Elastic Beanstalk. 

**Considerazioni relative alla fase di produzione**  
Dopo aver verificato il corretto funzionamento dell'applicazione con il database, è possibile passare a un ambiente di produzione. A questo punto è possibile disaccoppiare il database dall'ambiente Elastic Beanstalk per passare a una configurazione che offre maggiore flessibilità. Il database disaccoppiato può rimanere operativo come istanza di database Amazon RDS esterna. L'integrità dell'ambiente non è influenzata dal disaccoppiamento del database. Se necessario, è possibile terminare l'ambiente e scegliere l'opzione di mantenere il database disponibile e operativo al di fuori di Elastic Beanstalk.

**Vantaggi del passaggio a un database disaccoppiato**  
L'utilizzo di un database esterno presenta diversi vantaggi. È possibile connettersi al database esterno da più ambienti, utilizzare tipi di database non supportati dai database integrati ed eseguire blue/green distribuzioni. In alternativa all'utilizzo di un database disaccoppiato creato da Elastic Beanstalk, è anche possibile creare un'istanza database al di fuori dell'ambiente Elastic Beanstalk. Entrambe le opzioni comportano un'istanza database esterna al tuo ambiente Elastic Beanstalk e richiede l'aggiunta di un gruppo di sicurezza e la configurazione della stringa di connessione. Per ulteriori informazioni, consultare [Utilizzo di Elastic Beanstalk con Amazon RDS](AWSHowTo.RDS.md).

**Topics**
+ [Ciclo di vita del database](#environments-cfg-rds-lifecycle)
+ [Aggiunta di un'istanza database Amazon RDS all'ambiente tramite la console](#environments-cfg-rds-create)
+ [Connessione al database](#environments-cfg-rds-connect)
+ [Configurazione di un'istanza database RDS integrata tramite la console](#using-features.managing.db.CON)
+ [Configurazione di un'istanza database RDS integrata tramite i file di configurazione](#using-features.managing.db.namespace)
+ [Disaccoppiamento di un'istanza database RDS tramite la console](#using-features.decoupling.db)
+ [Disaccoppiamento di un'istanza database RDS tramite i file di configurazione](#using-features.decoupling-config-files.db)

## Ciclo di vita del database
<a name="environments-cfg-rds-lifecycle"></a>

È possibile scegliere cosa accade al database dopo averlo disaccoppiato dall'ambiente Elastic Beanstalk. Le opzioni tra cui è possibile scegliere vengono definite collettivamente come *policy di eliminazione*. Le seguenti policy di eliminazione si applicano a un database dopo che l'utente [lo disaccoppia da un ambiente Elastic Beanstalk](#using-features.decoupling.db) o termina l'ambiente Elastic Beanstalk.
+ *Snapshot* (Snapshot): prima che Elastic Beanstalk termini il database, ne salva un'istantanea. È possibile ripristinare un database da uno snapshot quando si aggiunge un'istanza database a un ambiente Elastic Beanstalk o quando viene creato un database autonomo. Per ulteriori informazioni sulla creazione di una nuova istanza database autonoma da uno snapshot, consultare [Ripristino da uno snapshot DB](https://docs.aws.amazon.com//AmazonRDS/latest/UserGuide/USER_RestoreFromSnapshot.html) nella *Guida per l'utente di Amazon RDS*. Potrebbero essere applicati costi per l'archiviazione degli snapshot di database. Per ulteriori informazioni, consulta la sezione relativa allo *storage di backup* in [Prezzi di Amazon RDS](https://aws.amazon.com/rds/pricing/). 
+ *Delete* (Elimina): Elastic Beanstalk termina il database. Una volta terminata, l'istanza del database non è più disponibile per nessuna operazione.
+ *Retain* (Mantieni): l'istanza del database non viene terminata. Rimane disponibile e operativo, anche se disaccoppiato da Elastic Beanstalk. È quindi possibile configurare uno o più ambienti per connettersi al database come istanza di database Amazon RDS esterna. Per ulteriori informazioni, consultare [Utilizzo di Elastic Beanstalk con Amazon RDS](AWSHowTo.RDS.md).

## Aggiunta di un'istanza database Amazon RDS all'ambiente tramite la console
<a name="environments-cfg-rds-create"></a>

Puoi aggiungere un'istanza database all'ambiente tramite la console Elastic Beanstalk.

**Per aggiungere un'istanza database al tuo ambiente**

1. Apri la console [Elastic Beanstalk](https://console.aws.amazon.com/elasticbeanstalk) e, **nell'elenco Regioni, seleziona la tua**. Regione AWS

1. Nel pannello di navigazione selezionare **Environments** (Ambienti), quindi selezionare il nome dell'ambiente dall'elenco.

1. Nel pannello di navigazione, selezionare **Configuration** (Configurazione).

1. Nella categoria di configurazione del **Database**, scegliere **Edit (Modifica)**.

1. Scegliere un motore di database e immettere un nome utente e una password.

1. Per salvare le modifiche scegli **Apply** (Applica) nella parte inferiore della pagina.

Puoi configurare le seguenti opzioni:
+ **Snapshot**: scegli uno snapshot di database esistente. Elastic Beanstalk ripristina lo snapshot e lo aggiunge al tuo ambiente. Il valore predefinito è **None (Nessuna)**. Quando il valore è **None (Nessuno)**, è possibile configurare un nuovo database tramite le altre impostazioni della pagina.
+ **Engine (Motore)**: scegli un motore di database.
+ **Engine version (Versione motore)**: scegli una versione specifica del motore di database.
+ **Instance class (Classe istanza)**: scegli una classe di istanza database. Per informazioni sulle classi di istanza database, consulta [https://aws.amazon.com/rds/](https://aws.amazon.com/rds/).
+ **Storage**: scegli la quantità di storage da rendere disponibile per il database. In seguito puoi aumentare ma non diminuire lo storage allocato. Per ulteriori informazioni sull'allocazione di storage, consulta [Caratteristiche](https://aws.amazon.com/rds/#features).
+ **Username** (Nome utente): inserire un nome utente a propria scelta utilizzando una combinazione di numeri e lettere.
+ **Password**: immetti una password di tua scelta contenente da 8 a 16 caratteri ASCII stampabili (esclusi `/`, `\` e `@`).
+ **Availability (Disponibilità)**: scegli **High (Multi-AZ) (Alta (AZ multiple))** per eseguire un backup a caldo in una seconda zona di disponibilità per una disponibilità elevata.
+ **Database deletion policy** (Policy di eliminazione del database): la policy di eliminazione determina cosa accade al database dopo che è stato [disaccoppiato](#using-features.decoupling.db) dal proprio ambiente. Può essere impostato su uno dei seguenti valori: `Create Snapshot`, `Retain`, or `Delete`. Questi valori sono descritti in [Ciclo di vita del database](#environments-cfg-rds-lifecycle) in questo stesso argomento.

**Nota**  
Elastic Beanstalk crea un utente master per il database utilizzando il nome utente e la password forniti. Per ulteriori informazioni sull'utente master e i relativi privilegi, consulta [Privilegi dell'account utente master](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.MasterAccounts.html).

L'aggiunta di un'istanza database richiede circa 10 minuti. Al termine dell'aggiornamento, il nuovo database è *accoppiato* al proprio ambiente. Il nome host e altre informazioni di connessione dell'istanza database sono disponibili per la tua applicazione tramite le seguenti proprietà dell'ambiente. 


| Nome proprietà | Descrizione | Valore proprietà | 
| --- | --- | --- | 
|  `RDS_HOSTNAME`  |  Il nome host dell'istanza DB.  |  Nella scheda **Connectivity & security** (Connettività e sicurezza) della console Amazon RDS: **Endpoint**.  | 
|  `RDS_PORT`  |  La porta su cui l'istanza database accetta le connessioni. Il valore predefinito varia tra i motori di database.  |  Nella scheda **Connectivity & security (Connettività e sicurezza)** della console Amazon RDS: **Port (Porta)**.  | 
|  `RDS_DB_NAME`  |  Il nome del database, **ebdb**.  |  Nella scheda **Configuration (Configurazione)** della console Amazon RDS: **DB Name (Nome DB)**.  | 
|  `RDS_USERNAME`  |  Il nome utente configurato per il database.  |  Nella scheda **Configuration (Configurazione)** della console Amazon RDS: **Master username (Nome utente master)**.  | 
|  `RDS_PASSWORD`  |  La password configurata per il database.  |  Non disponibile per riferimento nella console Amazon RDS.  | 

## Connessione al database
<a name="environments-cfg-rds-connect"></a>

Utilizza le informazioni sulla connettività per la connessione al database dall'interno dell'applicazione tramite variabili di ambiente. Per ulteriori informazioni sull'utilizzo di Amazon RDS con le tue applicazioni, vedi i seguenti argomenti.
+ Java SE: [Connessione a un database (piattaforme Java SE)](java-rds.md#java-rds-javase)
+ Java con Tomcat: [Connessione a un database (piattaforme Tomcat)](java-rds.md#java-rds-tomcat)
+ Node.js: [Connessione a un database](create-deploy-nodejs.rds.md#nodejs-rds-connect)
+ .NET: [Connessione a un database](create_deploy_NET.rds.md#dotnet-rds-connect)
+ PHP: [Connessione a un database con PDO o My SQLi](create_deploy_PHP.rds.md#php-rds-connect)
+ Python: [Connessione a un database](create-deploy-python-rds.md#python-rds-connect)
+ Ruby: [Connessione a un database](create_deploy_Ruby.rds.md#ruby-rds-connect)

## Configurazione di un'istanza database RDS integrata tramite la console
<a name="using-features.managing.db.CON"></a>

È possibile visualizzare e modificare le impostazioni di configurazione per l'istanza database nella sezione **Database** della pagina **Configuration (Configurazione)** dell'ambiente nella [console Elastic Beanstalk](environments-console.md).

**Per configurare l'istanza database dell'ambiente nella console Elastic Beanstalk**

1. Apri la console [Elastic Beanstalk](https://console.aws.amazon.com/elasticbeanstalk) e, **nell'elenco Regioni, seleziona la tua**. Regione AWS

1. Nel pannello di navigazione selezionare **Environments** (Ambienti), quindi selezionare il nome dell'ambiente dall'elenco.

1. Nel pannello di navigazione, selezionare **Configuration** (Configurazione).

1. Nella categoria di configurazione del **Database**, scegliere **Edit (Modifica)**.

È possibile modificare le impostazioni **Instance class** (Classe istanza), ****Storage** (Archiviazione), Password**, **Availability** (Disponibilità) e **Database deletion policy** (Policy di eliminazione del database) dopo la creazione del database. In caso di modifica della classe dell'istanza, Elastic Beanstalk ripete il provisioning dell'istanza database.

Se Elastic Beanstalk non è più necessario per associare il database all'ambiente, è possibile scegliere di disaccoppiarlo selezionando **Decouple database** (Disaccoppiamento del database). È importante comprendere le opzioni e le considerazioni coinvolte in questa operazione. Per ulteriori informazioni, consulta [Disaccoppiamento di un'istanza database RDS tramite la console](#using-features.decoupling.db). 

**Attenzione**  
Non modificare le impostazioni nell'istanza database accoppiata al di fuori della funzionalità fornita da Elastic Beanstalk (ad esempio, nella console Amazon RDS). In caso contrario, la configurazione del database Amazon RDS potrebbe non essere sincronizzata con la definizione dell'ambiente. Quando aggiorni o riavvii l'ambiente, le impostazioni specificate nell'ambiente sovrascrivono le impostazioni definite al di fuori di Elastic Beanstalk.  
Se devi modificare impostazioni non supportate direttamente da Elastic Beanstalk, usa i [file di configurazione](#using-features.managing.db.namespace) di Elastic Beanstalk.

## Configurazione di un'istanza database RDS integrata tramite i file di configurazione
<a name="using-features.managing.db.namespace"></a>

È possibile configurare l'istanza database dell'ambiente usando i [file di configurazione](ebextensions.md). Usa le opzioni nel namespace [`aws:rds:dbinstance`](command-options-general.md#command-options-general-rdsdbinstance). L'esempio seguente modifica le dimensioni dello storage di database allocate impostandole su 100 GB.

**Example db-instance-options.ebextensions/ .config**  

```
option_settings:
  aws:rds:dbinstance:
    DBAllocatedStorage: 100
```

Se vuoi configurare proprietà dell'istanza database non supportate da Elastic Beanstalk, puoi comunque usare un file di configurazione e specificare le impostazioni usando la chiave `resources`. L'esempio seguente imposta i valori sulle proprietà Amazon RDS `Iops` e `StorageType`.

**Example .ebextensions/ db-instance-properties .config**  

```
Resources:
  AWSEBRDSDatabase:
    Type: AWS::RDS::DBInstance
    Properties:
      StorageType:io1
      Iops: 1000
```

## Disaccoppiamento di un'istanza database RDS tramite la console
<a name="using-features.decoupling.db"></a>

È possibile disaccoppiare il database da un ambiente Elastic Beanstalk senza compromettere l'integrità dell'ambiente. Prima di disaccoppiare il database, prendere in considerazione i requisiti seguenti:
+ *Cosa dovrebbe accadere al database dopo che è stato disaccoppiato?*

  È possibile scegliere di creare uno snapshot del database e quindi terminarlo, mantenere il database operativo come database autonomo esterno a Elastic Beanstalk o eliminare definitivamente il database. L'impostazione **Database deletion policy** (Policy di eliminazione del database) determina questo risultato. Per una descrizione dettagliata delle policy di eliminazione, consultare [Ciclo di vita del database](#environments-cfg-rds-lifecycle) in questo stesso argomento.
+ *È necessario apportare modifiche alle impostazioni di configurazione del database prima di disaccoppiarlo?*

  Se è necessario apportare modifiche alla configurazione del database, queste devono essere applicate *prima del disaccoppiamento* del database. Ciò include le modifiche apportate alla **Database deletion policy** (Policy di eliminazione del database). Eventuali modifiche in sospeso che vengono inviate contemporaneamente all'impostazione **Decouple database** (Disaccoppiamento del database) vengono ignorate, mentre viene applicata soltanto l'impostazione di disaccoppiamento.

  

**Per disaccoppiare un'istanza database da un ambiente**

1. Apri la console [Elastic Beanstalk](https://console.aws.amazon.com/elasticbeanstalk) e, **nell'elenco Regioni, seleziona la tua**. Regione AWS

1. Nel pannello di navigazione selezionare **Environments** (Ambienti), quindi selezionare il nome dell'ambiente dall'elenco.

1. Nel pannello di navigazione, selezionare **Configuration** (Configurazione).

1. Nella categoria di configurazione del **Database**, scegliere **Edit (Modifica)**.

1. Esaminare tutti i valori delle configurazioni nella sezione **Database settings** (Impostazioni database), in particolare la **Database deletion policy** (Policy di eliminazione del database), che determina cosa succede al database dopo che è stato disaccoppiato.

     
![\[Database settings form with engine, instance, storage, and deletion policy options.\]](http://docs.aws.amazon.com/it_it/elasticbeanstalk/latest/dg/images/aeb-rds-options-w-db-deletion-policies.png)

   

   Se tutte le altre impostazioni di configurazione sono corrette, passare alla **Fase 6** per disaccoppiare il database. 
**avvertimento**  
È importante *applicare* l'impostazione **Database deletion policy** (Policy di eliminazione del database) *separatamente* da **Decouple database** (Disaccoppiamento del database). Se si seleziona **Apply** (Applica) con l'intento di salvare sia **Decouple database** (Disaccoppiamento del database) sia una nuova **Database deletion policy** (Policy di eliminazione del database), la nuova policy di eliminazione selezionata viene ignorata. Elastic Beanstalk disaccoppia il database seguendo la policy di eliminazione precedente. Se la policy di eliminazione precedente è `Delete` o `Create Snapshot`, si rischia di perdere il database invece di seguire la policy in sospeso prevista.

   Se una delle impostazioni di configurazione richiede aggiornamenti, procedere come segue:

   1. Apportare le modifiche richieste nel pannello **Database settings** (Impostazioni database).

   1. Scegli **Applica**. Per salvare le modifiche alla configurazione del database sono necessari alcuni minuti.

   1. Tornare alla **Fase 3** e scegliere **Configuration** (Configurazione) dal pannello di navigazione.

1. Accedere alla sezione del riquadro **Database connection** (Connessione database).

     
![\[Database connection options showing "Couple database" selected and "Decouple database" unselected.\]](http://docs.aws.amazon.com/it_it/elasticbeanstalk/latest/dg/images/aeb-rds-couple-decouple-db.png)

   

1. Scegliere **Decouple database** (Disaccoppia database).

1. Scegliere **Apply** (Applica) per avviare l'operazione di disaccoppiamento del database.

L'impostazione della policy di eliminazione determina il risultato del database e il periodo di tempo necessario per disaccoppiare il database.
+ Se la policy di eliminazione è impostata su `Delete`, il database viene eliminato. L'operazione può richiedere circa 10-20 minuti, a seconda delle dimensioni del database.
+ Se la policy di eliminazione è impostata su `Snapshot`, viene creata una snapshot del database. Quindi, il database viene eliminato. Il tempo necessario per questo processo varia a seconda delle dimensioni del database.
+ Se la policy di eliminazione è impostata su `Retain`, il database rimane operativo all'esterno dell'ambiente Elastic Beanstalk. Di solito sono necessari meno di cinque minuti per disaccoppiare un database.

 Se è stato deciso di mantenere il database esterno all'ambiente Elastic Beanstalk è necessario effettuare ulteriori passaggi per configurarlo. Per ulteriori informazioni, consultare [Utilizzo di Elastic Beanstalk con Amazon RDS](AWSHowTo.RDS.md). Se si prevede di utilizzare il database disaccoppiato per un ambiente di produzione, verificare che il tipo di archiviazione utilizzato dal database sia adatto al carico di lavoro. Per ulteriori informazioni, consultare [Archiviazione dell'istanza database](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html) e [Modifica di un'istanza database](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html) nella *Guida per l'utente di Amazon RDS*. 

## Disaccoppiamento di un'istanza database RDS tramite i file di configurazione
<a name="using-features.decoupling-config-files.db"></a>

È possibile disaccoppiare l'istanza database da un ambiente Elastic Beanstalk senza influire sull'integrità dell'ambiente. L'istanza database segue la *policy di eliminazione del database* che è stata applicata quando il database è stato disaccoppiato.

Entrambe le opzioni necessarie per disaccoppiare il database si trovano nello spazio dei nomi [aws:rds:dbinstance](command-options-general.md#command-options-general-rdsdbinstance). Essi sono i seguenti:
+ L'opzione `DBDeletionPolicy` imposta la policy di eliminazione. Questa può essere impostata su uno dei valori seguenti: `Snapshot`, `Delete` oppure `Retain`. Questi valori sono descritti in [Ciclo di vita del database](#environments-cfg-rds-lifecycle) in questo stesso argomento.
+ L'opzione `HasCoupledDatabase` determina se l'ambiente ha un database accoppiato.
  + Se è stato attivato `true`, Elastic Beanstalk crea una nuova istanza database accoppiata al proprio ambiente.
  + Se è stato attivato `false`, Elastic Beanstalk inizia a disaccoppiare l'istanza database dall'ambiente.

Se si desidera modificare la configurazione del database prima di disaccoppiarlo, applicare prima tutte le modifiche alla configurazione in un'operazione separata. Ciò include modificare la configurazione di `DBDeletionPolicy`. Dopo aver applicato le modifiche, eseguire un comando separato per impostare l'opzione di disaccoppiamento. Se si inviano contemporaneamente altre impostazioni di configurazione e l'impostazione di disaccoppiamento, le altre impostazioni delle opzioni di configurazione vengono ignorate mentre viene applicata l'impostazione di disaccoppiamento. 

**avvertimento**  
È importante eseguire i comandi per applicare le impostazioni `DBDeletionPolicy` e `HasCoupledDatabase` come due operazioni separate. Se la policy di eliminazione attiva è già impostata su `Delete` o `Snapshot`, si rischia di perdere il database. Il database segue la policy di eliminazione attualmente attiva anziché la policy di eliminazione in sospeso prevista.

**Per disaccoppiare un'istanza database da un ambiente**

Seguire questi passaggi per disaccoppiare il database dall'ambiente Elastic Beanstalk. È possibile utilizzare l'EB CLI o il AWS CLI per completare i passaggi. Per ulteriori informazioni, consultare [Personalizzazione avanzata dell'ambiente con i file di configurazione](ebextensions.md). 

1. Se si desidera modificare la policy di eliminazione, impostare un file di configurazione nel formato seguente. In questo esempio la policy di eliminazione è impostata su conservazione.  
**Example**  

   ```
   option_settings:
     aws:rds:dbinstance:
       DBDeletionPolicy: Retain
   ```

1. Eseguire il comando utilizzando lo strumento preferito per completare l'aggiornamento della configurazione.

1. Configurare un file di configurazione per impostare `HasCoupledDatabase` su `false`.  
**Example**  

   ```
   option_settings:
     aws:rds:dbinstance:
       HasCoupledDatabase: false
   ```

1. Eseguire il comando utilizzando lo strumento preferito per completare l'aggiornamento della configurazione.

L'impostazione della policy di eliminazione determina il risultato del database e il periodo di tempo necessario per disaccoppiare il database.
+ Se la policy di eliminazione è impostata su `Delete`, il database viene eliminato. L'operazione può richiedere circa 10-20 minuti, a seconda delle dimensioni del database.
+ Se la policy di eliminazione è impostata su `Snapshot`, viene creata una snapshot del database. Quindi, il database viene eliminato. Il tempo necessario per questo processo varia a seconda delle dimensioni del database.
+ Se la policy di eliminazione è impostata su `Retain`, il database rimane operativo all'esterno dell'ambiente Elastic Beanstalk. Di solito sono necessari meno di cinque minuti per disaccoppiare un database.

 Se è stato deciso di mantenere il database esterno all'ambiente Elastic Beanstalk è necessario effettuare ulteriori passaggi per configurarlo. Per ulteriori informazioni, consultare [Utilizzo di Elastic Beanstalk con Amazon RDS](AWSHowTo.RDS.md). Se si prevede di utilizzare il database disaccoppiato per un ambiente di produzione, verificare che il tipo di archiviazione utilizzato dal database sia adatto al carico di lavoro. Per ulteriori informazioni, consultare [Archiviazione dell'istanza database](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html) e [Modifica di un'istanza database](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html) nella *Guida per l'utente di Amazon RDS*. 