Aggiunta di un database all'ambiente Elastic Beanstalk - AWS Elastic Beanstalk

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

Elastic Beanstalk fornisce l'integrazione con Amazon Relational Database Service (Amazon 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 si aggiunge un'istanza database, 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.

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.

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.

L'utilizzo di un database esterno presenta diversi vantaggi. Per connettersi al database esterno da più ambienti, utilizzare tipi di database non supportati con database integrati ed eseguire distribuzioni blu/verde. 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.

Ciclo di vita del database

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

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

Aggiunta di un'istanza database Amazon RDS all'ambiente tramite la console

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 e nell'elenco Regions (Regioni) seleziona la tua Regione AWS.

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

    Nota

    Se si dispone di molti ambienti, utilizzare la barra di ricerca per filtrare l'elenco degli ambienti.

  3. Nel pannello di navigazione, selezionare Configuration (Configurazione).

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

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

  6. 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, consultare 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.

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

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

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.

Configurazione di un'istanza database RDS integrata tramite la console

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

Per configurare l'istanza database dell'ambiente nella console Elastic Beanstalk
  1. Apri la console Elastic Beanstalk e nell'elenco Regions (Regioni) seleziona la tua Regione AWS.

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

    Nota

    Se si dispone di molti ambienti, utilizzare la barra di ricerca per filtrare l'elenco degli ambienti.

  3. Nel pannello di navigazione, selezionare Configuration (Configurazione).

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

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 di Elastic Beanstalk.

Configurazione di un'istanza database RDS integrata tramite i file di configurazione

È possibile configurare l'istanza database dell'ambiente usando i file di configurazione. Usa le opzioni nel namespace aws:rds:dbinstance. L'esempio seguente modifica le dimensioni dello storage di database allocate impostandole su 100 GB.

Esempio .ebextensions/db-instance-options.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.

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

È 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 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 e nell'elenco Regions (Regioni) seleziona la tua Regione AWS.

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

    Nota

    Se si dispone di molti ambienti, utilizzare la barra di ricerca per filtrare l'elenco degli ambienti.

  3. Nel pannello di navigazione, selezionare Configuration (Configurazione).

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

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

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

    2. Seleziona Apply (Applica). Per salvare le modifiche alla configurazione del database sono necessari alcuni minuti.

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

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

    Database connection options showing "Couple database" selected and "Decouple database" unselected.

  7. Scegliere Decouple database (Disaccoppia database).

  8. 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. 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 e Modifica di un'istanza database nella Guida per l'utente di Amazon RDS.

Disaccoppiamento di un'istanza database RDS tramite i file di configurazione

È 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. 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 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 la CLI EB o la AWS CLI per completare i passaggi. Per ulteriori informazioni, consultare Personalizzazione avanzata dell'ambiente con i file di configurazione.

  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.

    option_settings: aws:rds:dbinstance: DBDeletionPolicy: Retain
  2. Eseguire il comando utilizzando lo strumento preferito per completare l'aggiornamento della configurazione.

  3. Configurare un file di configurazione per impostare HasCoupledDatabase su false.

    option_settings: aws:rds:dbinstance: HasCoupledDatabase: false
  4. 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. 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 e Modifica di un'istanza database nella Guida per l'utente di Amazon RDS.