En este tutorial, aprenderá a implementar el código de aplicación en una máquina virtual en AWS. Utilizará AWS CodeDeploy, un servicio que automatiza las implementaciones de código para servidores en las instalaciones o de AWS, a fin de implementar código en máquinas virtuales que creó y administra con Amazon EC2. 

Todas las operaciones que se explican en este tutorial pueden realizarse con la capa gratuita.

Administración de los recursos de AWS

Inicio de sesión en la consola

Necesitará crear un par de claves para tener acceso a la máquina virtual con Amazon EC2.  Si ya posee el par de claves, vaya directamente al paso 2.


a. Cuando haga clic aquí, se abrirá la consola de administración de AWS en una ventana nueva del navegador para que pueda seguir teniendo abierta esta guía paso a paso.  Haga clic en Create Key Pair (crear par de claves).

tmt-codeDeploy-20

(Haga clic para ampliar).

tmt-codeDeploy-20

b.  Indique un nombre para su par de claves.  En este tutorial, utilizaremos MyFirstKey. Haga clic en Create (Crear).

Nota: Amazon EC2 utiliza criptografía de clave pública para cifrar y descifrar información de registro. Para obtener más información sobre el par de claves, consulte par de claves de Amazon EC2 .

tmt-codeDeploy-19

(Haga clic para ampliar).

tmt-codeDeploy-19

a. Haga clic en el ícono de la página principal en la esquina superior izquierda de la consola de administración de AWS.  Encuentre el CodeDeploy en las herramientas del desarrollador y haga clic para abrir la consola AWS CodeDeploy.

tmt-codeDeploy-0

(Haga clic para ampliar).

tmt-codeDeploy-0

b. En la consola AWS CodeDeploy, haga clic en Comenzar ahora.

Si ya tiene las aplicaciones, haga clic en la columna derecha en Crear implementación de la explicación.

tmt-codeDeploy-1

(Haga clic para ampliar).

tmt-codeDeploy-1

c. Seleccione implementación de muestra y haga clic en Next (Siguiente).

tmt-codeDeploy-2

(Haga clic para ampliar).

tmt-codeDeploy-2

Necesitará lanzar una máquina virtual de AWS para implementar su código.  A las máquinas virtuales de AWS se las conoce como instancias Amazon EC2 o sólo “instancias” para abreviar. En este paso, lanzaremos tres instancias EC2 con una plantilla de EC2 preconfigurada.

a. Haga clic en el ícono de la página principal en la esquina superior izquierda de la consola de administración de AWS.  Encuentre el CodeDeploy en las herramientas del desarrollador y haga clic para abrir la consola AWS CodeDeploy.

tmt-codeDeploy-0

(Haga clic para ampliar).

tmt-codeDeploy-0

Configurará los ajustes de la instancia con las siguientes opciones:

  • Sistema operativo: puede seleccionar el sistema operativo de la instancia EC2.  En este tutorial, utilizaremos Amazon Linux
  • Tipo de instancia: en este tutorial, se seleccionó el tipo de instancia t1.micro como valor predeterminado para permanecer en la capa gratuita. Amazon EC2 ofrece una amplia selección de tipos de instancias optimizados para adaptarse a diferentes casos de uso. Los tipos de instancia abarcan varias combinaciones de capacidad de CPU, memoria, almacenamiento y redes que proporcionan flexibilidad para elegir la combinación de recursos adecuada para sus aplicaciones.  
  • Nombre del par de claves: de la lista desplegable, seleccione el par de claves de la instancia EC2 de Amazon que creó en el paso 1, MyFirstKey, para conectarse a las instancias Amazon EC2. También puede seleccionar un par de claves que ya posea. 
  • Valor y clave de etiqueta: AWS CodeDeploy utilizará este valor y clave de etiqueta para localizar las instancias durante la implementación. Puede dejar los valores predeterminados.

Haga clic en Launch Instances (Lanzar instancias).

Nota: Esto puede tardar varios minutos en completarse.  Mientras espera, puede revisar este tutorial con el siguiente video:

codeDeploy_video
2:10
Explicación de AWS CodeDeploy
tmt-codeDeploy-4

(Haga clic para ampliar).

tmt-codeDeploy-4

AWS CodeDeploy utiliza los nombres de la aplicación durante la implementación de códigos para garantizar que se refiere a los componentes de implementación correctos, como el grupo y la configuración de implementación y la revisión de la aplicación.


a. En la casilla Nombre de la aplicación, escriba HelloWorld como nombre de la aplicación de muestra y haga clic en Next Step (Paso siguiente).

tmt-codeDeploy-5

(Haga clic para ampliar).

tmt-codeDeploy-5

b. Examine la información sobre la revisión de la aplicación, como su ubicación y descripción.

Nota: Tiene la opción de descargar el paquete de muestra. En esta opción, puede examinar información sobre la revisión de la aplicación que desea implementar a EC2. Una revisión de la aplicación es un archivo de almacenamiento que posee contenido de origen, como código de origen, páginas Web, archivos ejecutables y scripts de implementación, junto con un archivo de especificación de la aplicación (archivo AppSpec). El archivo AppSpec ayuda al CodeDeploy a asignar los archivos de origen en la revisión de sus destinos y a ejecutar scripts en varias etapas de la implementación.

Haga clic en Next Step (Paso siguiente)

tmt-codeDeploy-7

(Haga clic para ampliar).

tmt-codeDeploy-7

Un grupo de implementación es un conjunto de instancias EC2 individuales en las que CodeDeploy implementa revisiones. Un grupo de implementación contiene instancias etiquetadas de manera individual, instancias Amazon EC2 en grupos de Auto Scaling o ambas.


En la casilla del nombre del grupo de implementación, deje el nombre de grupo e implementación propuesto (DemoFleet) como está.

Posteriormente, especificará las instancias EC2 de Amazon a implementar mediante el ingreso del par clave-valor en la sección de búsqueda mediante etiquetas Amazon EC2:

  • Las columnas de Clave y Valor se deben completar automáticamente con los valores del paso 3.
  • La columna de Instanciasmuestra el número de instancias EC2 en las que implementó el código.  En este tutorial, lanzamos y preconfiguramos tres instancias EC2 y ya fueron etiquetadas juntas en un grupo de implementación.

Elija Paso siguiente.

tmt-codeDeploy-8

(Haga clic para ampliar).

tmt-codeDeploy-8

En este paso, concederá permisos de AWS CodeDeploy para implementar las instancias. Debe crear un rol para un servicio de AWS cuando desee conceder permisos para un servicio como Amazon EC2 o AWS CodeDeploy. Estos servicios pueden acceder a recursos de AWS, por lo tanto debe crear un rol para determinar lo que el servicio puede hacer con esos recursos.


Rol de servicio: seleccione Crear un nuevo rol de servicio.  Si ya posee un rol de servicio, puede seleccionar Utilice un rol de servicio existente.

Nombre de rol: puede aceptar un valor predeterminado deCodeDeploy_HelloWorld.  Si está utilizando un rol de servicio existente, selecciónelo de la lista desplegable de nombre de rol.

Haga clic en Next Step (Paso siguiente).

tmt-codeDeploy-9

(Haga clic para ampliar).

tmt-codeDeploy-9

En este paso, seleccionaremos una configuración de implementación y posteriormente iniciaremos la implementación de las tres instancias EC2. Al finalizar este paso, habremos implementado de manera correcta un sitio Web en directo y en ejecución, al que podremos ver en línea.


a. La configuración de la implementación permite determinar cuántas instancias implementar de manera simultánea en las revisiones de su aplicación y describe las condiciones de éxito y error para la implementación. Por ejemplo, con la configuración predeterminada (“Una a la vez”), si implementa la aplicación a 3 instancias, esta configuración lo hará una a la vez.

Acepte la configuración de implementación predeterminada y haga clic en Next Step (Paso siguiente).

tmt-codeDeploy-10

(Haga clic para ampliar).

tmt-codeDeploy-10

b. Examine los detalles de su implementación y haga clic en Deploy Now (Implementar ahora).

Nota: Esto puede tardará varios minutos en completarse.

tmt-codeDeploy-11

(Haga clic para ampliar).

tmt-codeDeploy-11

c.  Nuestra revisión de muestra implementa una página Web única para cada instancia. Después que se completaron las tres instancias, haga clic en Ver todas las instancias.

tmt-codeDeploy-14

(Haga clic para ampliar).

tmt-codeDeploy-14

d.  Haga clic en el ID de la instancia para una de las instancias que implementó. Esto lo llevará al panel EC2 donde puede observar la instancia que lanzó.

tmt-codeDeploy-15

(Haga clic para ampliar).

tmt-codeDeploy-15

e. Para verificar si la aplicación de muestra se implementó correctamente, copie la dirección en el campo de DNS público en el panel inferior, péguela en el explorador y verá la página Web en directo.

tmt-codeDeploy-21

(Haga clic para ampliar).

tmt-codeDeploy-21

A fin de evitar cargas futuras, debe filtrar los recursos utilizados en este tutorial. Las instancias EC2 que lanzó en este tutorial continuarán ejecutándose a menos que las termine.


a. En la consola EC2, la barra de búsqueda se completa automáticamente con un filtro de búsqueda por ID de la instancia.  Elimine este filtro y verá todas las instancias lanzadas por CodeDeploy.  

tmt-codeDeploy-16a

(Haga clic para ampliar).

tmt-codeDeploy-16a

b. Seleccione las casillas de cada instancia Amazon EC2 para terminar. Seleccione las acciones, el estado de la instancia y haga clic en Terminate (Terminar).

Cuando se le solicite, haga clic en Yes, Terminate (Sí, terminado).

tmt-codeDeploy-18a

(Haga clic para ampliar).

tmt-codeDeploy-18a

Creó y completó la primera implementación de código en instancias Amazon EC2 con AWS CodeDeploy de manera correcta. Con la plantilla proporcionada, primero lanzó tres instancias que se preconfiguraron con las etiquetas adecuadas y se instalaron con el agente necesario para utilizar AWS CodeDeploy. Finalmente, preparó la aplicación para la implementación, concedió permiso a CodeDeploy para implementar las instancias y posteriormente, implementó el código correctamente.

Ahora que completó una implementación de muestra para las instancias Amazon EC2 con AWS CodeDeploy, puede comenzar a aprender cómo utilizar CodeDeploy en sus aplicaciones. Consulte la documentación de CodeDeploy para aprender a lanzar las instancias EC2 y luego configure las instancias para que CodeDeploy pueda implementar el código en ellas. En nuestro tutorial, simplificamos los pasos de configuración para ayudarlo a aprender y experimentar de qué manera funciona CodeDeploy.

Aprenda cómo configurar las instancias de AWS CodeDeploy

No