Personalizar la pila para conectarse a la base de datos de RDS - AWS OpsWorks

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Personalizar la pila para conectarse a la base de datos de RDS

importante

El AWS OpsWorks Stacks servicio llegó al final de su vida útil el 26 de mayo de 2024 y se ha desactivado tanto para los clientes nuevos como para los actuales. Recomendamos encarecidamente a los clientes que migren sus cargas de trabajo a otras soluciones lo antes posible. Si tienes preguntas sobre la migración, ponte en contacto con el AWS Support equipo en AWS Re:post o a través de Premium AWS Support.

Una vez que haya creado una instancia de RDS para utilizarla como base de datos de fondo para el servidor de aplicaciones PHP, podrá personalizarla desde ella. MyStack Introducción a las pilas de Linux en Chef 11

Para conectar el servidor de aplicaciones PHP a una base de datos de RDS
  1. Abra la consola AWS OpsWorks Stacks y cree una pila con una capa de PHP App Server que contenga una instancia e implemente SimplePHPapp, tal y como se describe en. Introducción a las pilas de Linux en Chef 11 Esta pila utiliza la version1 de SimplePHPApp, que no utiliza una conexión a la base de datos.

  2. Actualice la configuración de la pila para utilizar los libros de recetas personalizados que incluyen la receta appsetup.rb y los archivos de plantilla asociados y los archivos de atributos.

    1. Establezca Use custom Chef cookbooks (Usar libros de recetas de Chef personalizados) en Yes (Sí).

    2. Establezca Repository type (Tipo de repositorio) en Git y Repository URL (URL de repositorio) en git://github.com/amazonwebservices/opsworks-example-cookbooks.git.

  3. Añada lo siguiente al cuadro Custom Chef JSON (JSON de Chef personalizado) de la pila para asignar los datos de conexión de RDS a los atributos [:database] que appsetup.rb utiliza para crear el archivo de configuración.

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

    Utilice los valores de atributo siguientes:

    • username (nombre de usuario): es el nombre de usuario maestro especificado al crear la instancia de RDS.

      En este ejemplo se utiliza opsworksuser.

    • password (contraseña): es la contraseña maestra especificada al crear la instancia de RDS.

      Indique la contraseña que ha especificado.

    • database (base de datos): es la base de datos que ha creado al crear la instancia de RDS.

      En este ejemplo se utiliza rdsexampledb.

    • host: es el punto de enlace de la instancia de RDS, que ha obtenido de la consola de RDS al crear la instancia en la sección anterior. No incluya el número de puerto.

    • adapter (adaptador): es el adaptador.

      La instancia de RDS para este ejemplo utiliza MySQL, por lo que adapter (adaptador) se define en mysql. A diferencia de los otros atributos, appsetup.rb no utiliza adapter. En su lugar, lo utiliza la receta Configure integrada de la capa del servidor de aplicaciones PHP para crear un archivo de configuración diferente.

  4. Edite la configuración SimplePHPApp para especificar una versión de SimplePHPApp que utiliza una base de datos de backend, tal y como se indica a continuación:

    • Document root (Raíz del documento): establezca esta opción en web.

    • Branch/Revision (Ramificación/Revisión): establezca esta opción en version2.

    Deje el resto de opciones inalteradas.

  5. Edite la capa del servidor de aplicaciones PHP para configurar la conexión de la base de datos mediante la adición de phpapp::appsetup a las recetas Deploy de la capa.

  6. Implemente la nueva versión de SimplePHPApp.

  7. Cuando se haya implementado SimplePHPApp, ejecute la aplicación accediendo a la página Instances (Instancias) y haciendo clic en la dirección IP pública de la instancia php-app1. Debería ver la página siguiente en el navegador, que le permite introducir texto y almacenarlo en la base de datos.

nota

Si tu pila tiene una capa MySQL, AWS OpsWorks Stacks asigna automáticamente los datos de conexión correspondientes a los [:database] atributos. Sin embargo, si asigna el JSON personalizado a la pila que define diferentes valores [:database], estos anulan los valores predeterminados. Dado que los atributos [:deploy] se instalan en cada instancia, las recetas que dependen de los atributos [:database] utilizarán los datos de conexión personalizados y no los datos de la capa MySQL. Si desea que una capa del servidor de aplicaciones determinada utilice los datos de conexión personalizados, asigne el JSON personalizado al evento Deploy de la capa y limite dicha implementación a dicha capa. Para obtener más información sobre cómo utilizar los atributos de la implementación, consulte Implementación de aplicaciones. Para obtener más información sobre cómo anular los atributos integrados de AWS OpsWorks Stacks, consulte Anulación de atributos.