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

Todas las operaciones que se explican en este tutorial tienen derecho a la capa gratuita.

Administración de los recursos de AWS

Inicio de sesión en la consola

Necesitará crear un par de claves para acceder a su máquina virtual con Amazon EC2.  Si ya tiene un 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 dejar abierta esta guía paso a paso.  Haga clic en Crear par de claves.

tmt-codeDeploy-20

(Haga clic para ampliar).

tmt-codeDeploy-20

b. Asigne un nombre al par de claves.  En este tutorial, utilizaremos MyFirstKey. Haga clic en Crear.

Nota: Amazon EC2 utiliza la criptografía de clave pública para cifrar y descifrar la información de inicio de sesión. Para obtener más información sobre los pares de claves, consulte Pares de claves de Amazon EC2.

tmt-codeDeploy-19

(Haga clic para ampliar).

tmt-codeDeploy-19

a. Haga clic en el icono de Inicio en la esquina superior izquierda de la consola de administración de AWS.  Encuentre CodeDeploy en Herramientas para desarrolladores y haga clic para abrir la consola de AWS CodeDeploy.

tmt-codeDeploy-0

(Haga clic para ampliar).

tmt-codeDeploy-0

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

Si ya tiene aplicaciones, diríjase a la columna de la derecha y haga clic en Crear guía de implementación.

tmt-codeDeploy-1

(Haga clic para ampliar).

tmt-codeDeploy-1

c. Seleccione Implementación de muestra y haga clic en Paso siguiente.

tmt-codeDeploy-2

(Haga clic para ampliar).

tmt-codeDeploy-2

Necesitará lanzar una máquina virtual de AWS para implementar el código.  Las máquinas virtuales de AWS son llamadas instancias de Amazon EC2, o simplemente “instancias”. En este paso, vamos a lanzar tres instancias de EC2 con una plantilla de EC2 preconfigurada.


Configure la instancia con los siguientes parámetros:

  • Sistema operativo: puede elegir el sistema operativo de su instancia de EC2.  En este tutorial, utilizaremos Amazon Linux.
  • Tipo de instancia: en este tutorial, el tipo de instancia t1.micro fue seleccionado como el valor predeterminado para mantenerse dentro de la capa gratuita. Amazon EC2 proporciona 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. Le proporcionan flexibilidad para elegir la combinación de recursos adecuada para sus aplicaciones.
  • Nombre del par de claves: en el menú desplegable, seleccione el par de claves de la instancia de Amazon EC2 que ha creado en el paso 1, MyFirstKey, para conectarse a las instancias de Amazon EC2. También puede elegir un par de claves que ya posea.
  • Clave de etiqueta y valor: AWS CodeDeploy utilizará esta clave de etiqueta y valor para localizar las instancias durante las implementaciones. Puede dejar los valores predeterminados.

Haga clic en Lanzar instancias.

Nota: este paso puede tardar varios minutos en completarse.  Mientras espera, no dude en revisar este tutorial con el video que aparece a continuación:

codeDeploy_video
2:10
Guía de AWS CodeDeploy
tmt-codeDeploy-4

(Haga clic para ampliar).

tmt-codeDeploy-4

AWS CodeDeploy utiliza los nombres de aplicación durante las implementaciones de código para asegurarse de que se haga referencia a los componentes de implementación correctos, como grupo de implementaciones, configuración de la implementación y revisión de la aplicación.


a. En la casilla Nombre de la aplicación, escriba HelloWorld como el nombre de su aplicación de muestra y haga clic en Paso siguiente.

tmt-codeDeploy-5

(Haga clic para ampliar).

tmt-codeDeploy-5

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

Nota: puede descargar el paquete de muestra. En esta página puede analizar la información sobre la revisión de la aplicación que desea implementar en EC2. Una revisión de aplicación es un archivo con el contenido de origen, como código fuente, páginas web, archivos ejecutables y scripts de implementación, junto con un archivo de especificación de la aplicación (archivo de AppSpec). El archivo de AppSpec ayuda a CodeDeploy a asignar los archivos de origen de la revisión a sus destinos y a ejecutar scripts en distintas fases de la implementación.

Haga clic en Paso siguiente

tmt-codeDeploy-7

(Haga clic para ampliar).

tmt-codeDeploy-7

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


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

A continuación, especifique las instancias de Amazon EC2 para implementar al ingresar el par clave-valor en la sección Buscar por etiquetas de Amazon EC2:

  • Las columnas Clave y Valor deben autocompletarse con los valores del Paso 3.
  • La columna Instancias muestra el número de instancias de EC2 en las que implementará el código.  En este tutorial, hemos lanzado y preconfigurado tres instancias de EC2; dichas instancias ya fueron etiquetado juntas en un grupo de implementaciones.

Elija Paso siguiente.

tmt-codeDeploy-8

(Haga clic para ampliar).

tmt-codeDeploy-8

En este paso, deberá permitir la implementación de AWS CodeDeploy en sus instancias. Usted crea una función para un servicio de AWS cuando desea conceder permisos a un servicio como Amazon EC2 o AWS CodeDeploy. Estos servicios pueden acceder a los recursos de AWS, por lo que usted crea una función para determinar qué puede hacer el servicio con esos recursos.


Función de servicio: elija Crear una nueva función de servicio.  Si ya posee una función de servicio, puede elegir Usar una función de servicio existente.

Nombre de función: puede aceptar el valor predeterminado de CodeDeploy_HelloWorld.  Si utiliza una función de servicio existente, selecciónela de la lista desplegable Nombre de función.

Haga clic en Paso siguiente.

tmt-codeDeploy-9

(Haga clic para ampliar).

tmt-codeDeploy-9

En este paso, seleccionaremos la configuración de una implementación y, a continuación, iniciaremos la implementación en nuestras tres instancias de EC2. Al final de este paso, habremos implementado satisfactoriamente un sitio web activo y en ejecución, que podemos visitar en línea.


a. La configuración de la implementación le permite determinar cuántas instancias implementar en sus revisiones de aplicación de forma simultánea y determina el éxito o el error de la implementación. Por ejemplo, al usar la configuración predeterminada (“Una por vez”), si implementa su aplicación en 3 instancias, esta configuración se implementará en una instancia por vez.

Acepte la Configuración de implementación predeterminada y haga clic en Paso siguiente.

tmt-codeDeploy-10

(Haga clic para ampliar).

tmt-codeDeploy-10

b. Revise los detalles de su implementación y haga clic en 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 única página web en cada instancia. Una vez que las tres instancias se completan, haga clic en Ver todas las instancias.

tmt-codeDeploy-14

(Haga clic para ampliar).

tmt-codeDeploy-14

d. Haga clic en el ID de instancia para una de las instancias en las que realizó la implementación. Aparecerá el panel de EC2 donde puede ver la instancia que ha lanzado.

tmt-codeDeploy-15

(Haga clic para ampliar).

tmt-codeDeploy-15

e. Para verificar si su aplicación de muestra se implementó correctamente, copie la dirección en el campo de DNS público en el panel inferior, pegue la dirección en el navegador y verá la página web en directo.

tmt-codeDeploy-21

(Haga clic para ampliar).

tmt-codeDeploy-21

Para evitar cargos en el futuro, debe limpiar los recursos utilizados en este tutorial. Las instancias de EC2 que ha lanzado en este tutorial seguirán funcionando a menos que las termine.


a. En la consola de EC2, la barra de búsqueda se autocompleta con un filtro de búsqueda para el ID de 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 una de las instancias de Amazon EC2 para finalizar. Seleccione Acciones, Estado de la instancia y, a continuación, haga clic en Terminar.

Cuando se le pregunte, haga clic en Sí, terminar.

tmt-codeDeploy-18a

(Haga clic para ampliar).

tmt-codeDeploy-18a

Ha creado correctamente y completado su primera implementación de código en las instancias de Amazon EC2 mediante el uso de AWS CodeDeploy. Mediante una plantilla proporcionada, primero lanzó tres instancias que se preconfiguraron con las etiquetas correctas y se instalaron con el agente necesario para utilizar AWS CodeDeploy. Por último, preparó su solicitud de implementación, permitió que CodeDeploy se implementara en sus instancias y luego implementó correctamente su código.

Ahora que ha completado una implementación de muestra en las instancias de Amazon EC2 con AWS CodeDeploy, puede empezar a aprender cómo utilizar CodeDeploy en sus propias aplicaciones. Visite la documentación de CodeDeploy para obtener información sobre cómo lanzar instancias de EC2 y luego configurar las instancias de forma que CodeDeploy pueda implementar código en ellas. En nuestro tutorial, simplificamos los pasos de configuración para ayudarlo a aprender y a experimentar cómo funciona CodeDeploy.

Obtenga información sobre cómo configurar las instancias de AWS CodeDeploy

No