Personnaliser la pile pour se connecter à la base de données RDS - AWS OpsWorks

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.

Personnaliser la pile pour se connecter à la base de données RDS

Important

Le AWS OpsWorks Stacks service a atteint sa fin de vie 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 ou via le AWS Support Premium.

Une fois que vous avez créé une instance RDS à 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

Pour connecter le serveur d'applications PHP à une base de données RDS
  1. Ouvrez la console AWS 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 Cette pile utilise version1 de SimplePHPApp, qui n'utilise pas une connexion de base de données.

  2. Mettez à jour la configuration de la pile 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.

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

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

  4. Modifiez la configuration de SimplePHPApp pour spécifier une version de SimplePHPApp 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.

  5. Modifiez la couche PHP App Server pour configurer la connexion à la base de données en l'ajoutant phpapp::appsetup aux recettes de déploiement de la couche.

  6. Déployez la nouvelle version de SimplePHPApp.

  7. Lorsque SimplePHPApp est déployée, 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.
Note

Si votre pile possède une couche MySQL, AWS 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. Pour plus d'informations sur la substitution des attributs AWS OpsWorks Stacks intégrés, consultez Remplacement des attributs.