Ajouter une instance Amazon RDS DB à votre environnement PHP Elastic Beanstalk - AWS Elastic Beanstalk

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Ajouter une instance Amazon RDS DB à votre environnement PHP Elastic Beanstalk

Cette rubrique fournit des instructions pour créer un Amazon à RDS l'aide de la console Elastic Beanstalk. Vous pouvez utiliser une instance de base de données Amazon Relational Database Service (RDSAmazon) pour stocker les données collectées et modifiées par votre application. La base de données peut être liée à votre environnement et gérée par Elastic Beanstalk, ou elle peut être créée comme déliée et gérée en externe par un autre service. Dans ces instructions, la base de données est couplée à votre environnement et gérée par Elastic Beanstalk. Pour plus d'informations sur l'intégration d'un Amazon RDS à Elastic Beanstalk, consultez. Ajout d'une base de données à votre environnement Elastic Beanstalk

Ajout d'une instance de base de données à votre environnement

Pour ajouter une instance DB à votre environnement
  1. Ouvrez la console Elastic Beanstalk, puis dans la liste des régions, sélectionnez votre. Région AWS

  2. Dans le panneau de navigation, choisissez Environments (Environnements), puis choisissez le nom de votre environnement dans la liste.

    Note

    Si vous avez plusieurs environnements, utilisez la barre de recherche pour filtrer la liste des environnements.

  3. Dans le panneau de navigation, choisissez Configuration.

  4. Dans la catégorie de configuration Database (Base de données), choisissez Edit (Modifier).

  5. Choisissez un moteur de base de données, puis saisissez un nom d'utilisateur et un mot de passe.

  6. Pour enregistrer les modifications, cliquez sur Appliquer en bas de la page.

L'ajout d'une instance DB prend environ 10 minutes. Une fois la mise à jour de l'environnement terminée, le nom d'hôte de l'instance DB et les autres informations de connexion sont disponibles dans votre application, via les propriétés d'environnement suivantes :

Nom de la propriété Description Valeur de la propriété

RDS_HOSTNAME

Nom d'hôte de l'instance DB.

Dans l'onglet Connectivité et sécurité de la RDS console Amazon : Endpoint.

RDS_PORT

Port sur lequel l'instance de base de données accepte des connexions. La valeur par défaut varie selon les moteurs de base de données.

Dans l'onglet Connectivité et sécurité de la RDS console Amazon : Port.

RDS_DB_NAME

Nom de la base de données, ebdb.

Dans l'onglet Configuration de la RDS console Amazon : Nom de la base de données.

RDS_USERNAME

Nom d'utilisateur que vous avez configuré pour votre base de données.

Dans l'onglet Configuration de la RDS console Amazon : Nom d'utilisateur principal.

RDS_PASSWORD

Mot de passe que vous avez configuré pour votre base de données.

Non disponible pour référence dans la RDS console Amazon.

Pour plus d'informations sur la configuration d'une instance de base de données liée à un environnement Elastic Beanstalk, consultez Ajout d'une base de données à votre environnement Elastic Beanstalk.

Téléchargement d'un pilote

Pour utiliser PHP Data Objects (PDO) pour vous connecter à la base de données, installez le pilote correspondant au moteur de base de données que vous avez choisi.

Pour de plus amples informations, veuillez consulter http://php.net/manual/en/pdo.installation.php.

Connexion à une base de données avec a PDO ou M ySQLi

Vous pouvez utiliser $_SERVER[`VARIABLE`] afin de lire les informations de connexion depuis l'environnement.

Pour unPDO, créez un nom de source de données (DSN) à partir de l'hôte, du port et du nom. Transmettez-le DSN au constructeur du PDO avec le nom d'utilisateur et le mot de passe de la base de données.

Exemple Connectez-vous à une RDS base de données avec 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); ?>

Pour les autres pilotes, remplacez mysql par le nom de votre pilote – pgsql, oci ou sqlsrv.

Pour MySQLi, transmettez le nom d'hôte, le nom d'utilisateur, le mot de passe, le nom de base de données et le port au mysqli constructeur.

Exemple Connectez-vous à une RDS base de données avec mysqli_connect ()
$link = new mysqli($_SERVER['RDS_HOSTNAME'], $_SERVER['RDS_USERNAME'], $_SERVER['RDS_PASSWORD'], $_SERVER['RDS_DB_NAME'], $_SERVER['RDS_PORT']);

Connexion à une base de données avec Symfony

Pour Symfony version 3.2 et versions ultérieures, vous pouvez utiliser %env(PROPERTY_NAME)% pour définir les paramètres de base de données dans un fichier de configuration en fonction des propriétés d'environnement définies par Elastic Beanstalk.

Exemple 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)%'

Pour plus d'informations, consultez External Parameters (Symfony 3.4).

Pour les versions antérieures de Symfony, les variables d'environnement sont uniquement accessibles si elles commencent par SYMFONY__. Cela signifie que les propriétés d'environnement définies par Elastic Beanstalk ne sont pas accessibles, et vous devez définir vos propres propriétés d'environnement pour transmettre les informations de connexion à Symfony.

Pour vous connecter à une base de données avec Symfony 2, créez une propriété d'environnement pour chaque paramètre. Ensuite, utilisez %property.name% pour accéder à la variable transformée par Symfony dans un fichier de configuration. Par exemple, une propriété d'environnement nommée SYMFONY__DATABASE__USER est accessible en tant que database.user.

database_user: "%database.user%"

Pour plus d'informations, consultez External Parameters (Symfony 2.8).