Yii Framework in Amazon Elastic Beanstalk << The application did not respond at the health check URL.>>

Amazon Elastic Beanstalk es una gran sistema en el cual puedes subir tu aplicación sin necesidad de preocupar de la configuración del servidor y el manejo de los recursos de este mismo.

Este sistema para funcionar posee un health check que se encarga de revisar que todo funcione como debe antes de mostrar la aplicación al público, si esta revisión no es aprobada la aplicación no responderá.

Al usar un framework, especialmente si desarrollamos una aplicación que requiera inicio de sesión, especialmente si este es MVC, debemos preocuparnos de pasar esta prueba de antemano.

En este caso es bastante sencillo, simplemente se debe crear un controlador con una vista que muestre el estado del servicio de manera dinámica o un mensaje de manera estática y asegurarnos que sea accesible por todo el mundo. En este caso si estamos manejando una aplicación basadao en roles y permisos, asegurarnos que todos ( ‘*’ ) tengan acceso a a esta página.

En mi caso usando Yii, cree un controlador llamado health que simplemente responde de manera estática que todo está bien.

  1. Crear Vista + Controlador.
  2. Asegurarnos que sea accesible por todos.
  3. Ingresar la nueva dirección a nuestro “health check url”.
Controlador:
class HealthController extends Controller
{
	public function actionIndex()
	{
		$this->renderPartial('index');
	}

}
Vista:
breadcrumbs=array(
	'Health',
);?>

The Service is up and Running.

Agregarlo a la configuración de Beanstalk:
AWS HEALTH CHECK

 

De esta manera es super sencillo tener el sistema UP & Running. Existen distintas respuestas que se le pueden dar al servidor para que seas notificado de algún problema.

7 Replies to “Yii Framework in Amazon Elastic Beanstalk << The application did not respond at the health check URL.>>”

  1. Diego says:

    Excelente!
    Muchas gracias Cristian por compartir tus conocimientos… Estaré muy pendiente de tu blog, hay muchas cosas interesantes por aqui!.

    View Comment Responder
  2. Jhon Campos says:

    Hola buen día, excelente!
    Sinceramente gran trabajo, por favor podrias ayudarme, diciendome como conectar mis repositorios git que tengo en Springloop a diferentes enviroments en Aws mediante Elastic Beanstalk.
    te agradecería mucho.

    View Comment Responder
    1. ctala says:

      Jhon, gracias por tu comentario.

      Te cuento que la forma de abordar la solución es algo distinta. La idea es que desde el clon del repositorio que tienes en tu pc de manera local se lo envías a BeanStalk. Actualmente creo que estos sistemas como SpringLoop, Bitbucket o GitHub no pueden hacer un push de manera directa. Ojala en algún momento eso cambie :).

      Espero que te haya servido de algo, de todas maneras tu deberás generar el push de manera local o desde un server que pueda realizarlo.

      View Comment Responder
  3. Julian says:

    Muy buen blog, aunque tengo las siguientes dudas: para subir una aplicación yii, simplemente la comprimo en el .zip y subo la nueva versión? y en que se diferencia elasticbeanstalk con AWS OpsWorks, cual sería mejor para este caso…

    Muchas gracias,

    View Comment Responder
    1. ctala says:

      LA verdad aún no he usado OpsWorks, pero BeanStalk está orientada a desarrolladoras y el manejo de las versiones a través de repositorios.

      Si debes comprimir en un zip y luego subirla, es posible que no sea la solución que necesites.

      Saludos!

      View Comment Responder

Deja un comentario

This site uses Akismet to reduce spam. Learn how your comment data is processed.