Conectar a EC2 a través de FileZilla

FileZilla es uno de mis clientes FTP / SSH preferidos para transferencia de archivos y las instancias de amazon son perfectas para mi para  realizar servidores de prueba o de producción.

Asumiremos lo siguiente:

  1. Instancia de EC2 ya creada.
  2. Existen permisos de acceso SSH a la instancia. ( Puerto 22 abierto por defecto ).
  3. Archivo PEM creado para acceder a nuestra máquina. ( En mi caso un linux / ubuntu)
  4. FileZilla Instalado :).
La verdad es super sencillo, solo debemos decirle a FileZilla el archivo PEM que nosotros utilizamos para que lo use como una opción de conexión. Para lograrlo:
Editar -> Opciones -> SFTP
Opciones de FileZilla - SFTP
Configuración SFTP para agregar PEM File.
Al Seleccionar nuestro archivo PEM nos dice que no está en un formato válido para FileZilla. Simplemente aceptamos y utilizamos el nuevo archivo.
Ahora a la configuración de la conexión.
Al agregar sitio, le pedimos que sea de tipo interactivo y le damos nuestro usuario, en mi caso «ubuntu» que es el usuario por defecto de la máquina.
Configuración Interactiva EC2
Configuración Interactiva EC2
Ahora simplemente al conectar no deberíamos tener ningún problema :D.

¡Mantengamos el contacto!

Me encantaría que te mantuvieras al día con el contenido que estoy generando. Recuerda que no es solo el blog, son las redes sociales, libros, y distintos pódcast 😎.

Hago todo lo posible para no hacer Spam,

Actualizar WordPress va directo al FTP

Si tienes los permisos de la carpeta wp-content bien puestos, y aún se redirecciona a la página de FTP, es devido a la diferencia entre el usuario que actualmente esta usando el sistema con el que ejecuta. Para solucionar esto simplemente podemos forzar a que se haga la actualización de manera directa agregando la siguiente … Leer más

HOWTO Custom AMI en Elastic Bean Stalk de AWS ( Amazon Web Services )

Elastic Bean Stalk se ha convertido en una de mis herramientas favoritas. El fácil deploy de mis aplicaciones utilizando git, la maquina con php5 y la conexión al RDS han hecho que me vuelva comodo en la forma como manejo las versiones y las máquinas para mi software. Además hay que tomar en cuenta que las instancias micro son libres de pago.

La AMI ( Amazon Machine Image ) en la que se lanzan todas las instancias de la aplicación subida por ElasticBeanStalk es una distribución propia de Amazon con un Vanilla Kernel. Esta versión utiliza yum para la instalación de paquetes.

La razón de utilizar una maquina CUSTOM / PROPIA es debido a que la maquina por defecto no tenga todo lo que necesitas. En mi caso particular necesitaba una librería de php-pear para mi aplicación escrita en php.

En mi caso, la idea es extender una imagen linux ( existen distintas versiones incluyendo windows ). Las AMIs en las que me puedo basar dependiendo de la arquitectura son las siguientes:

  1. 32: ami-15812b7c – amazon/PHPBeanstalk32-2012.08.09T20.48.38.0000
  2. 64: ami-ff812b96 – amazon/PHPBeanstalk64-2012.08.09T20.51.54.0000

Y los pasos a seguir son los siguientes:

  1. Crear una instancia en EC2 basada en una de estas imágenes.
  2. Modificar Nuestra nueva Imagen y crear una AMI a partir de ella.
  3. Establecer que nuestra aplicación en BeanStalk utilice nuestra nueva AMI ( Custom AMI )
OJO : Estoy asumiendo que ya tienen una aplicación andando en ElasticBeanStalk, si no la tienen es posible que necesiten una para corroborar este tutorial.

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.

¡Mantengamos el contacto!

Me encantaría que te mantuvieras al día con el contenido que estoy generando. Recuerda que no es solo el blog, son las redes sociales, libros, y distintos pódcast 😎.

Hago todo lo posible para no hacer Spam,