

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.

# Comment connecter une instance de serveur d'applications à Amazon RDS
<a name="customizing-rds-connect"></a>

**Important**  
Le AWS OpsWorks Stacks service a pris fin le 26 mai 2024 et a été désactivé tant pour les nouveaux clients que pour les clients existants. Nous recommandons vivement aux clients de migrer leurs charges de travail vers d'autres solutions dès que possible. Si vous avez des questions sur la migration, contactez l' AWS Support équipe sur [AWS Re:Post](https://repost.aws/) ou via le [AWS Support](https://aws.amazon.com/support) Premium.

Cette section décrit comment personnaliser [Mise en route des piles Linux Chef 11](gettingstarted.md) pour que le serveur MyStack d'applications PHP se connecte à une instance RDS.

**Topics**
+ [Création d'une base de données Amazon RDS MySQL](customizing-rds-connect-create.md)
+ [Personnaliser la pile pour se connecter à la base de données RDS](customizing-rds-connect-customize.md)

# Création d'une base de données Amazon RDS MySQL
<a name="customizing-rds-connect-create"></a>

**Important**  
Le AWS OpsWorks Stacks service a pris fin le 26 mai 2024 et a été désactivé tant pour les nouveaux clients que pour les clients existants. Nous recommandons vivement aux clients de migrer leurs charges de travail vers d'autres solutions dès que possible. Si vous avez des questions sur la migration, contactez l' AWS Support équipe sur [AWS Re:Post](https://repost.aws/) ou via le [AWS Support](https://aws.amazon.com/support) Premium.

Vous êtes maintenant prêt à créer une base de données RDS pour cet exemple à l'aide de l'assistant de lancement d'instance de base de données de la console Amazon RDS. La procédure suivante est un bref résumé des détails essentiels. Pour une description détaillée de la création d'une base de données, consultez [Mise en route avec Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.html).

**Pour créer la base de données Amazon RDS**

1. Si vous créez une base de données RDS pour la première fois, cliquez sur **Get Started Now**. Sinon, cliquez sur **RDS Dashboard** dans le volet de navigation, puis cliquez sur **Launch a DB Instance**.

1. Sélectionnez **MySQL Community Edition** comme instance DB.

1. Sous la question **Envisagez-vous d'utiliser cette base de données à des fins de production ?,** sélectionnez **Non, cette instance...**, ce qui suffit pour l'exemple. En production, vous pouvez sélectionner **Yes, use Multi-AZ Deployment... (Oui, utilisez le déploiement multi-AZ)**. Cliquez sur **Étape suivante**.

1. Sur la page **Spécification de détails de base de données**, indiquez les valeurs suivantes :
   + **Classe d'instance DB** : **db.t2.micro**
   + **Déploiement multi-AZ** : **Non**
   + **Stockage alloué** : **5** Go
   + **Identifiant de l'instance DB** : **rdsexample**
   + **Identifiant principal** : **opsworksuser**
   + **Master Password** : spécifiez un mot de passe approprié et enregistrez-le en vue d'une utilisation ultérieure.

   Acceptez les valeurs par défaut pour les autres options et cliquez sur **Next Step**.

1. Sur la page **Configuration de paramètres avancés**, spécifiez les valeurs suivantes :
   + Dans la section **Network & Security**, pour **VPC Security Group(s)**, sélectionnez **phpsecgroup (VPC)**.
   + Dans la section **Database options (Options de la base de données)**, pour **Database Name (Nom de la base de données)**, saisissez **rdsexampledb**.
   + Dans la section **Backup**, définissez **Backup Retention Period** sur **0** dans le cas de cette procédure pas à pas.

   Acceptez les paramètres par défaut pour les autres options et cliquez sur **Launch DB Instance**.

1. Choisissez **View Your DB Instances** pour voir la liste des instances DB.

1. Sélectionnez l'instance **rdsexample** dans la liste et cliquez sur la flèche pour révéler le point de terminaison de l'instance et autres détails. Enregistrez le point de terminaison en vue d'une utilisation ultérieure. Il se présente sous la forme `rdsexample.c6c8mntzhgv0.us-west-2.rds.amazonaws.com:3306`. Enregistrez juste le nom DNS ; vous n'aurez pas besoin du numéro de port.

1. Utilisez un outil tel que MySQL Workbench pour créer une table nommée `urler` dans la base de données `rdsexampledb` en utilisant la commande SQL suivante :

   ```
   CREATE TABLE urler(id INT UNSIGNED NOT NULL AUTO_INCREMENT,author VARCHAR(63) NOT NULL,message TEXT,PRIMARY KEY (id))
   ```

# Personnaliser la pile pour se connecter à la base de données RDS
<a name="customizing-rds-connect-customize"></a>

**Important**  
Le AWS OpsWorks Stacks service a pris fin le 26 mai 2024 et a été désactivé tant pour les nouveaux clients que pour les clients existants. Nous recommandons vivement aux clients de migrer leurs charges de travail vers d'autres solutions dès que possible. Si vous avez des questions sur la migration, contactez l' AWS Support équipe sur [AWS Re:Post](https://repost.aws/) ou via le [AWS Support](https://aws.amazon.com/support) Premium.

Une fois que vous avez [créé une instance RDS](customizing-rds-connect-create.md) à utiliser comme base de données principale pour le serveur d'applications PHP, vous pouvez la personnaliser MyStack à partir de. [Mise en route des piles Linux Chef 11](gettingstarted.md)

**Pour connecter le serveur d'applications PHP à une base de données RDS**

1. Ouvrez la console OpsWorks Stacks et créez une pile avec une couche PHP App Server contenant une instance et déployez SimplePHPApp, comme décrit dans[Mise en route des piles Linux Chef 11](gettingstarted.md). Cette pile utilise la version 1 de SimplePHPApp, qui n'utilise pas de connexion à la base de données. 

1. [Mettez à jour la configuration de la pile](workingstacks-edit.md) pour utiliser les livres personnalisés qui incluent la recette `appsetup.rb`, et les fichiers modèles et les fichiers d'attributs associés.

   1. Définissez **Utiliser les livres de recettes Chef personnalisés** sur **Oui**.

   1. Définissez **Repository type** sur **Git** et **Repository URL** sur `git://github.com/amazonwebservices/opsworks-example-cookbooks.git`.

1. Ajoutez les éléments suivants à la zone **Custom Chef JSON** de la pile pour affecter les données de connexion RDS aux attributs `[:database]` qu'`appsetup.rb` utilise pour créer le fichier de configuration.

   ```
   {
     "deploy": {
       "simplephpapp": {
         "database": {
           "username": "opsworksuser",
           "password": "your_password",
           "database": "rdsexampledb",
           "host": "rds_endpoint",
           "adapter": "mysql"
         }
       }
     }
   }
   ```

   Utilisez les valeurs d'attributs suivantes :
   + **username** : nom d'utilisateur principal que vous avez spécifié lorsque vous avez créé l'instance RDS.

     Cet exemple utilise `opsworksuser`.
   + **password** : mot de passe que vous avez spécifié lorsque vous avez créé l'instance RDS.

     Remplissez le mot de passe que vous avez spécifié.
   + **database** : base de données que vous avez créée lorsque vous avez créé l'instance RDS.

     Cet exemple utilise `rdsexampledb`.
   + **host** : point de terminaison de l'instance RDS, que vous avez obtenu à partir de la console RDS lorsque vous avez créé l'instance dans la section précédente. N'incluez pas le numéro de port.
   + **adapter** : carte.

     Comme l'instance RDS de cet exemple utilise MySQL, **adapter** a la valeur `mysql`. Contrairement aux autres attributs, **adapter** n'est pas utilisé par `appsetup.rb`. Il est plutôt utilisé par la recette de configuration intégrée de la couche PHP App Server pour créer un fichier de configuration différent.

1. [Modifiez la PHPApp configuration Simple](workingapps-editing.md) pour spécifier une version de Simple PHPApp qui utilise une base de données principale, comme suit :
   + **Document root** : définissez l'option sur `web`.
   + **Branch/Revision** : définissez l'option sur `version2`.

   Laissez les autres options inchangées.

1. [Modifiez la couche PHP App Server](workinglayers-basics-edit.md) pour configurer la connexion à la base de données en l'ajoutant `phpapp::appsetup` aux recettes de déploiement de la couche.

1. [Déployez la nouvelle PHPApp version Simple](workingapps-deploying.md).

1. Lorsque Simple PHPApp est déployé, exécutez l'application en accédant à la page **Instances** et en cliquant sur l'adresse IP publique de l'instance php-app1. Vous devez voir la page suivante dans votre navigateur, ce qui vous permet de saisir du texte et de le stocker dans la base de données.  
![\[Text input field labeled "Your Thoughts" with a "Share Your Thought" button.\]](http://docs.aws.amazon.com/fr_fr/opsworks/latest/userguide/images/gsb7.png)

**Note**  
Si votre pile possède une couche MySQL, OpsWorks Stacks attribue automatiquement les données de connexion correspondantes aux `[:database]` attributs. Cependant, si vous affectez le JSON personnalisé à la pile qui définit différentes valeurs `[:database]`, celles-ci remplacent les valeurs par défaut. Comme les `[:deploy]` attributs sont installés sur chaque instance, toutes les recettes qui dépendent des `[:database]` attributs utiliseront les données de connexion personnalisées, et non les données de la couche MySQL pour le. Si vous souhaitez qu'une couche de serveur d'applications particulière utilise les données de connexion personnalisées, attribuez le JSON personnalisé à l'événement Deploy de la couche et limitez ce déploiement à cette couche. Pour plus d'informations sur l'utilisation des attributs de déploiement, consultez [Déploiement d'applications](workingapps-deploying.md). Pour plus d'informations sur la substitution des attributs OpsWorks Stacks intégrés, consultez [Remplacement des attributs](workingcookbook-attributes.md).