Aggiungere un'istanza Amazon RDS DB al tuo ambiente PHP 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à.

Aggiungere un'istanza Amazon RDS DB al tuo ambiente PHP Elastic Beanstalk

Questo argomento fornisce istruzioni per creare un Amazon RDS utilizzando la console Elastic Beanstalk. Puoi utilizzare un'istanza DB di Amazon Relational Database Service (RDSAmazon) per archiviare i dati raccolti e modificati dalla tua applicazione. Il database può essere accoppiato all'ambiente e gestito da Elastic Beanstalk oppure può essere creato e gestito esternamente da un altro servizio. In queste istruzioni il database è accoppiato all'ambiente e gestito da Elastic Beanstalk. Per ulteriori informazioni sull'integrazione di Amazon RDS con Elastic Beanstalk, consulta. Aggiunta di un database all'ambiente Elastic Beanstalk

Aggiunta di un'istanza database all'ambiente

Per aggiungere un'istanza database al tuo ambiente
  1. Apri la console Elastic Beanstalk e, nell'elenco 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.

L'aggiunta di un'istanza database richiede circa 10 minuti. Quando l'aggiornamento dell'ambiente è completo, il nome host dell'istanza database e altre informazioni di connessione 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 Connettività e sicurezza della RDS console Amazon: Endpoint.

RDS_PORT

La porta su cui l'istanza database accetta le connessioni. Il valore predefinito varia tra i motori di database.

Nella scheda Connettività e sicurezza della RDS console Amazon: Porta.

RDS_DB_NAME

Il nome del database, ebdb.

Nella scheda Configurazione della RDS console Amazon: DB Name.

RDS_USERNAME

Il nome utente configurato per il database.

Nella scheda Configurazione della RDS console Amazon: nome utente principale.

RDS_PASSWORD

La password configurata per il database.

Non disponibile come riferimento nella RDS console Amazon.

Per ulteriori informazioni sulla configurazione di un'istanza di database accoppiata a un ambiente Elastic Beanstalk, consulta Aggiunta di un database all'ambiente Elastic Beanstalk.

Download di un driver

Per utilizzare PHP Data Objects (PDO) per connetterti al database, installa il driver corrispondente al motore di database che hai scelto.

Per ulteriori informazioni, consulta http://php.net/manual/en/pdo.installation.php.

Connessione a un database con a PDO o M ySQLi

Puoi utilizzare $_SERVER[`VARIABLE`] per leggere le informazioni di connessione dall'ambiente.

Per aPDO, crea un Data Source Name (DSN) dall'host, dalla porta e dal nome. Passalo DSN al costruttore per il PDO con il nome utente e la password del database.

Esempio Connect a un RDS database con PDO - My SQL
<?php $dbhost = $_SERVER['RDS_HOSTNAME']; $dbport = $_SERVER['RDS_PORT']; $dbname = $_SERVER['RDS_DB_NAME']; $charset = 'utf8' ; $dsn = "mysql:host={$dbhost};port={$dbport};dbname={$dbname};charset={$charset}"; $username = $_SERVER['RDS_USERNAME']; $password = $_SERVER['RDS_PASSWORD']; $pdo = new PDO($dsn, $username, $password); ?>

Per gli altri driver, sostituisci mysql con il nome del tuo driver: pgsql, oci o sqlsrv.

Per MySQLi, passa il nome host, il nome utente, la password, il nome del database e la porta al mysqli costruttore.

Esempio Connettiti a un RDS database con mysqli_connect ()
$link = new mysqli($_SERVER['RDS_HOSTNAME'], $_SERVER['RDS_USERNAME'], $_SERVER['RDS_PASSWORD'], $_SERVER['RDS_DB_NAME'], $_SERVER['RDS_PORT']);

Connessione a un database con Symfony

Per Symfony 3.2 e versioni successive, puoi utilizzare %env(PROPERTY_NAME)% per impostare i parametri di database in un file di configurazione in base alle proprietà dell'ambiente stabilite da Elastic Beanstalk.

Esempio app/config/parameters.yml
parameters: database_driver: pdo_mysql database_host: '%env(RDS_HOSTNAME)%' database_port: '%env(RDS_PORT)%' database_name: '%env(RDS_DB_NAME)%' database_user: '%env(RDS_USERNAME)%' database_password: '%env(RDS_PASSWORD)%'

Per ulteriori informazioni, consultare la sezione sui parametri esterni (Symfony 3.4).

Per le versioni precedenti di Symfony, le variabili di ambiente sono accessibili solo se iniziano con SYMFONY__. Questo significa che le proprietà di ambiente definite da Elastic Beanstalk non sono accessibili e che occorre definire delle proprietà di ambiente personalizzate per trasmettere le informazioni di connessione a Symfony.

Per connetterti a un database con Symfony 2, crea una proprietà dell'ambiente per ciascun parametro. Successivamente, utilizza %property.name% per accedere alla variabile trasformata per Symfony in un file di configurazione. Ad esempio, si può accedere a una proprietà di ambiente denominata SYMFONY__DATABASE__USER come database.user.

database_user: "%database.user%"

Per ulteriori informazioni, consultare la sezione sui parametri esterni (Symfony 2.8).