Información general sobre la actividad

En esta actividad, optimizará los recursos de AWS que se usan para ejecutar la aplicación web de la cafetería. En concreto, podrá hacer lo siguiente:

  1. desinstalar de la instancia de la cafetería la base de datos local dada de baja para reducir los requisitos de almacenamiento de la instancia

  2. cambiar el tipo de instancia a T3 micro para reducir los costos

    En este diagrama, se ilustra la topología del entorno en tiempo de ejecución de la aplicación web de la cafetería antes y después de la optimización.

    Diagramas de topología de optimización de recursos antes y después:

    Untitled

    Objetivos de la actividad

    Después de completar esta actividad, podrá realizar lo siguiente:

    Relevancia del caso empresarial

    La cafetería tiene una nuevo requisito empresarial: optimizar los recursos con el fin de reducir los costos de los servicios de AWS.

    Una vez completada la migración a Amazon Relational Database Service (Amazon RDS) (acción realizada en una actividad anterior), Sofîa identificó una serie de oportunidades de optimización que podría implementar para reducir los costos de los servicios de AWS. En primer lugar, se dio cuenta de que la base de datos local dada de baja podía desinstalarse para reducir los requisitos de almacenamiento de la instancia de la cafetería. También se dio cuenta de que la instancia de la cafetería podía reducirse a un tipo de instancia más pequeño porque el proceso de la base de datos ya no se ejecutaba en ella.

    En esta actividad, asumirá el papel de Sofîa y trabajará en la optimización de la instancia de la cafetería para ahorrar costos.

    Tarea 1: optimizar el sitio web para reducir costos

    Dado que la base de datos local se ha migrado a Amazon RDS, puede reducir los costos del servicio de AWS realizando las siguientes acciones en la instancia EC2 de la cafetería:

    En esta tarea, utilizará AWS Command Line Interface (AWS CLI) para realizar estas acciones. Primero abrirá una sesión de Secure Shell (SSH) en la instancia de la cafetería y en el host de la CLI.

    Tarea 1.1.3: configurar la AWS CLI

    Para poder ejecutar comandos de la AWS CLI en la instancia, primero debe configurar el entorno de AWS CLI para definir las credenciales de la cuenta de AWS, el nombre de la región y el formato de salida que se utilizará.

    1. Averigüe la región en la que se ejecuta la instancia CLI Host:

      
      curl <http://169.254.169.254/latest/dynamic/instance-identity/document> | grep region
      

      Esta información se utilizará en breve.

    2. Actualice el software de la AWS CLI con las credenciales.

      
      aws configure
      
    3. Cuando se le solicite, ingrese la siguiente información:

      • ID de la clave de acceso de AWS: haga clic en el menú desplegable Details (Detalles), situado sobre estas instrucciones, y luego haga clic en Show (Mostrar). Copie el valor de AccessKey y péguelo en la ventana de terminal.

      Untitled

      Clave de acceso secreta de AWS: copie y pegue el valor de SecretKey ubicado en la pantalla Credentials (Credenciales).

      Nombre de la región predeterminada: escriba el nombre de la región donde se ejecutan sus instancias EC2, la cual averiguó hace un momento. Por ejemplo, us-east-1 o eu-west-2.

      Formato de salida predeterminado: json.

      Deje abierta la sesión de SSH de esta ventana de terminal. Volverá a utilizarla más adelante en la actividad.

    Tarea 1.2: conectarse a la instancia CLI Host mediante SSH

    Siga las mismas instrucciones que utilizó en la tarea 1.1 para abrir una sesión de SSH en una instancia EC2 diferente, la instancia CLI Host.

    No cierre la conexión con la instancia CafeInstance, en su lugar, cree una conexión con el host de la CLI en una nueva ventana (mediante PuTTY en Windows o mediante una ventana de terminal adicional en macOS o Linux).

    Puede encontrar la dirección IP pública de la instancia CLI Host en la consola de EC2 o haciendo clic en el menú desplegable Details (Detalles) situado arriba de estas instrucciones y luego haciendo clic en Show (Mostrar).

    Después de conectarse, asegúrese de configurar también el software cliente de la AWS CLI en la instancia EC2 CLI Host por medio del siguiente comando aws configure.

    Tarea 1.3: desinstalar MariaDB y redimensionar la instancia

    1. Detenga la base de datos local y desinstálela de la instancia de la cafetería. En la ventana de SSH de CafeInstance, ingrese:

      
      sudo systemctl stop mariadb
      
      
      sudo yum -y remove mariadb-server
      

      Si el último comando se ejecuta con éxito, verá el siguiente mensaje:Complete! (¡Completo!) en el resultado.

    2. Cierre la ventana de SSH de CafeInstance porque ya no la necesitará.

    3. Determine el ID de instancia de CafeInstance. Diríjase a la ventana de SSH de la instancia CLI Host e ingrese:

      
      aws ec2 describe-instances \\--filters "Name=tag:Name,Values= CafeInstance" \\--query "Reservations[*].Instances[*].InstanceId"
      

      Registre el valor devuelto de la siguiente manera:

      
      CafeInstance Instance ID: i-nnnnnnnnnn
      
    4. Detenga la instancia de la cafetería y cambie el tipo de instancia a t3.micro. En la ventana de SSH de la instancia CLI Host, ingrese:

      
      aws ec2 stop-instances --instance-ids <CafeInstance Instance ID>
      

      En dicho comando, sustituya <CafeInstance Instance ID> por el valor que registró anteriormente.

    5. Cambie el tipo de instancia a t3.micro. En la ventana de SSH de la instancia CLI Host, ingrese:

      
      aws ec2 modify-instance-attribute \\--instance-id <CafeInstance Instance ID> \\--instance-type "{\\"Value\\": \\"t3.micro\\"}"
      

      En dicho comando, sustituya <CafeInstance Instance ID> por el valor que registró anteriormente.

      Si el comando se completa con éxito, no se devolverá ninguna resultado.

    6. Inicie la instancia de la cafetería. En la ventana de SSH de la instancia CLI Host, ingrese:

      
      aws ec2 start-instances --instance-ids <CafeInstance Instance ID>
      

      En dicho comando, sustituya <CafeInstance Instance ID> por el valor que registró anteriormente.

    7. Verifique el estado actual de la instancia y espere hasta aparezca el mensaje running. En la ventana de SSH de la instancia CLI Host, ingrese:

      
      aws ec2 describe-instances \\--instance-ids <CafeInstance Instance ID> \\--query "Reservations[*].Instances[*].[InstanceType,PublicDnsName,PublicIpAddress,State.Name]"
      

      En dicho comando, sustituya <CafeInstance Instance ID> por el valor que registró anteriormente.

    8. La instancia puede tardar unos instantes en alcanzar el estado running. Repita periódicamente el comando hasta que pueda confirmar que se está ejecutando. Registre también los valores PublicDnsName y PublicIPAddress que devuelve el comando utilizando el siguiente formato:

      
      Downsized CafeInstance Public DNS Name: ec2-zzz-zzz-zzz-zzz.eu-west-2.compute.amazonaws.comDownsized CafeInstance Public IP Address: nnn.nnn.nnn.nnn
      

      Información: Dado que ha reiniciado la instancia, Amazon EC2 asignará a la instancia un nombre DNS público y una dirección IP pública diferentes a los que tenía antes.

    9. Pruebe el sitio web de la cafetería para asegurarse de que se encuentra operativo. En una ventana del navegador, ingrese la siguiente URL:

      
      http://<Downsized CafeInstance Public DNS Name>/cafe
      

      Sustituya <Downsized CafeInstance Public DNS Name> por el valor que registró.

    10. Pruebe las funciones del sitio web para comprobar que esté operativo.

      ¡Muy buen trabajo! Ha desinstalado con éxito la base de datos local dada de baja y ha reducido la instancia de la cafetería.

    Tarea 2: utilizar la calculadora de precios de AWS para estimar los costos de los servicios de AWS

    AWS proporciona una herramienta que le permite estimar los costos mensuales de los servicios de AWS que utiliza o tiene previsto utilizar. En esta tarea, utilizará la calculadora de precios de AWS para estimar el costo de ejecutar el sitio web de la cafetería en AWS antes y después de la optimización de la instancia EC2. A continuación, calculará el ahorro de costos previsto.

    NOTA: Los valores que ingresará en la calculadora de precios de AWS se han simplificado para los fines de este ejercicio. La intención es mostrarle el uso básico de la calculadora y destacar las funciones que ofrece.

    Los ejemplos de precios mostrados en esta actividad estaban vigentes en el momento de la publicación, abril de 2020, y son solo de carácter informativo. Consulte el sitio web de AWS para conocer los precios actuales de cada servicio.

    Tarea 2.1: calcular los costos antes de la optimización

    Primero, calculará los costos de ejecutar el sitio web en la topología previa a la optimización, es decir, en una instancia pequeña T3 con una base de datos local dada de baja que aún ocupa espacio de almacenamiento.

    En concreto, utilizará la siguiente configuración y lista de servicios para describir los componentes de la topología:

    1. Abra la calculadora de precios de AWS. En un navegador web, diríjase a la siguiente URL:

      
      <https://calculator.aws>
      

      Haga clic en Create estimate (Crear presupuesto).