Introducci贸n al c贸mputo en la nube

1

驴Qu茅 es el c贸mputo en la nube?

2

驴C贸mo puedo empezar a usar AWS?

3

Introducci贸n a la oferta de servicios de AWS y sus aplicaciones

Introducci贸n a la oferta de AWS y sus interacciones

4

Ejemplo de arquitectura con Elastic Beanstalk

5

驴Qu茅 es Amazon EC2?

6

Creando una instancia de EC2

7

Conect谩ndonos a nuestra instancia desde Windows

8

Conect谩ndonos a nuestra instancia desde Linux

9

Conect谩ndonos a nuestra instancia desde OSX

10

Subiendo un proyecto: Clonando un repositorio de GitHub a nuestra Instancia de EC2

11

Subiendo un proyecto a nuestra instancia de EC2: Ejecutar nuestro proyecto

12

驴Qu茅 es Lambda y Serverless?

13

Creando una funci贸n Lambda

Elastic Beanstalk

14

Conociendo Elastic Beanstalk

15

Creando un ambiente en Elastic Beanstalk

16

Almacenamiento - S3

17

Almacenamiento con S3: Contenido Estatico

18

Almacenamiento con Glacier: Contenido duradero

Bases de Datos

19

Bases de Datos - RDS Aurora PG

20

Conociendo RDS PG

21

Creando una base de datos Platzi DB

22

Haciendo una migraci贸n a RDS PG

23

Conociendo Aurora PG (Postgres)

24

Haciendo una migraci贸n a Aurora DB

25

Mejores pr谩cticas de Bases de Datos y RDS

Redes

26

Redes - Route53

Herramientas de administraci贸n

27

Herramientas de administraci贸n - IAM

28

Utilizando IAM

29

CloudWatch

30

CloudTrail

Seguridad

31

Certificate manager

32

GuardDuty

Bonus

33

AWS Rekognition

34

Creando nuestro servicio de Postgres

35

Accediendo a nuestra base de datos Postgres

Cierre del curso

36

Conclusiones del curso de Fundamentos de AWS Cloud

No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Creando un ambiente en Elastic Beanstalk

15/36
Recursos

Aportes 81

Preguntas 46

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Reg铆strate o inicia sesi贸n para participar.

Les comparto el archivo funcionando

Mi soluci贸n fue la siguiente:

  • Descargar este repositorio https://github.com/mauropm/aws-platzi-python/tree/elastic-beanstalk
  • Descomprimir el contenido, acceder a la carpeta de la aplicaci贸n eliminar la carpeta .ebextension.
  • Crear un archivo con el nombre requirements.txt y escribir en 茅l esta l铆nea: Flask==1.0.2
  • Comprimir solo la carpeta templates y los archivos requirements.txt y application.py. Luego subir ese archivo comprimido tal cual como lo indica el video.
    Espero les sirva

RT: @davidegc
Les comparto el archivo funcionando

Gracias a David por la ayuda! Descarguen ese archivo que si funciona.

Hola, voy a dejar por aca los pasos que segu铆 para que me funcione:

  • Borrar la carpeta .ebextensions
  • agregar un archivo requirements.txt con el siguiente contenido
    Flask==1.0.2
    Haciendo esos pasos pude desplegar de manera correcta el proyecto!

Veo en los comentarios que se tiene que hacer una modificaci贸n adicional no indicada en el video, muy mal. Qui茅n hace la edici贸n de los cursos? Iba todo muy bien, esto es un aspecto muy en contra al calificar el curso

Les dejo aqu铆 el zip que funciona.
Gracias a la soluci贸n de @NovoPles
(https://www.dropbox.com/s/0f5gnn3w1iy3737/aws-platzi-python.zip?dl=0)

Creo que es hora de acualizar este curso.

La soluci贸n que a mi me funcion贸 fue la siguiente:

  • Eliminar la carpeta .ebextensions
  • Crear el archivo requirements.txt con el siguiente contenido: Flask==1.0.2
  • Crear un zip con estos dos archivos y la carpeta templates.
    Para tener en cuenta: No se debe comprimir(.zip) el folder del proyecto. Debes comprimir directamente los archivos del proyecto.
    Gracias @Cristian Franco por tu aporte.

les comparto el archivo que funciona actualizado para aws actualizado a la fecha eb-flask-v4.zip

Amazon EC2

EC2 son un conjunto de m谩quinas virtuales en l铆nea que puedes utilizar para desarrollo, calidad o producci贸n

chmod 400 <name-key> dar permisos a la key
ssh -i <name-key> [email protected]<ip> conectarse a la m谩quina ec2
sudo su volverse root

example

https://github.com/mauropm/aws-platzi-python

<h4>Permisos de super usuario</h4>

sudo su

<h4>Instalaci贸n de flask</h4>

pip install flask

<h4>ejecutar programa</h4>

python app.py

AWS Lambda

es un servicio inform谩tico que permite ejecutar c贸digo sin aprovisionar ni administrar servidores.

Elastic Beanstalk

es una plataforma donde en pocos pasos, obtienes un balanceador de cargas y tantas instancias EC2 como tu quieras.

Amazon S3
Es un repositorio de archivos r谩pido y perfecto para uso de una aplicaci贸n a la hora de crear, manipular y almacenar datos.
Amazon Glacier
Es un servicio de almacenamiento en la nube para archivar datos y realizar copias de seguridad a largo plazo.

Amazon CloudWatch

Observaci贸n de sus recursos y aplicaciones de AWS tanto en AWS como locales
Amazon Cognito

Amazon Cognito proporciona autenticaci贸n, autorizaci贸n y administraci贸n de usuarios para sus aplicaciones m贸viles y web. Los usuarios pueden iniciar sesi贸n directamente con un nombre de usuario y una contrase帽a o a trav茅s de un tercero como Facebook, Amazon o Google.

Muy interesante esta informaci贸n. Deber铆an arreglar el curso, ya que no es f谩cil de seguir los ejemplos que envi贸 el profe, si no es por los compa帽eros que arreglaron el paquete.

Profesor, qu茅 pas贸?
Nos comimos la parte del contenido del archivo .zip, luego resulta que la carpeta y el archivo nuevo que se crearon no sirvieron para nada (.ebextensions y flask.config). Al final, la 煤nica forma de hacerlo funcionar fue creando un archivo requirements.txt tal como se帽al贸 @NovoPles

Gracias a todos quienes dieron la soluci贸n para que esto funcionara, un corazon para todos ustedes y un coscorron para el profesor xD

Efectivamente falta un paso importante en el video el cual es crear el archivo requirements.txt
Este se puede crear ejecutando el comando pip freeze > requirements.txt y debe quedar sobre el mismo nivel del application.py

Tambi茅n se debe tener en cuenta que el comprimido debe ser .zip y que todos los archivos deben quedar en la raiz del mismo

En mi caso, con Python 3.8 tuve usar Flask 2.0.3, para que funcionara, las versiones 1.X me causaron fallas.

Update Marzo 2021.

Descarga el repositorio, de application. py borra esto

if __name__ == "__main__":
    app.run("0.0.0.0",debug=False)
    #app.run("0.0.0.0",debug=True)

Crea el archivo requirements.txt para instalar las dependencias

flask

Selecciona estos tres items y haz un archivo zip

templates
applications .py
requirements.txt
Todo debe estar bien ahora.

La version del profe no funciona actualmente.

La verdad que estoy muy decepcionado con este curso, no puede ser que este tan desactualizado, mas de 3 horas llevo intentando hacer andar lo dado en esta clase y no hay caso, ya intente absolutamente todo lo que esta en los comentarios y sigue sin andar. Supongo que Platzi no es una forma 鈥淩apida鈥 y 鈥淔acil鈥 para aprender como dicen鈥

Si estas viendo este curso en 2022 y aun no se actualizan las clases y al momento de cargar el Zip te da error, es posible que hayas seleccionado la version mas reciente de Python, debes seleccionar justo la misma version que el profesor utiliza la 3.6 (Aun diga que esta obsoleta).

Lamentablemente MUY mal que aun sabiendo gente del platzi team las fallas que tiene justo este punto, de tener que agregar un archivo al git, no lo hagan directamente sobre esa branch y sigamos teniendo que hacerlo a mano (aun si saber que poner y solo teniendo que poner copiar pegar), tambi茅n en videos anteriores solo pude avanzar por ayuda de los aportes ya que el profesor daba cosas por sabidas cuando no se han explicado.

Esto me funciono a mi:

  • Descargar el .zip desde GitHub.
  • Descomprimirlo.
  • Entrar en la carpeta generada al descomprimir seleccionar todos los archivos y comprimirlos en un .zip juntos.

Y listo.

El archivo tal cual esta en GitHub actualmente funciona correctamente pasa lo siguiente:
Al descargar el archivo desde GitHub se genera un archivo .zip que contiene la carpeta en la ra铆z del mismo por lo cual AWS no logra conseguir el proyecto, al descomprimirlo y seleccionar los archivos se crea un .zip que en la ra铆z tiene los archivos en la ra铆z y as铆 AWS consigue el proyecto.

Estoy tomando este curso, ya tome las medidas que estan poniendo en los comentarios de bajar el ZIP del repositorio, eliminar el .ebextension y subirlo como mencionan, pero me aparece este error 馃槮 .

No pude 馃槙 intente todo lo de los comentarios y siempre me da el mismo error

Solo se debe comprimir los archivos y subcarpetas necesarios, NO toda la carpeta que viene por defecto al descargarnos el proyecto desde GIT, adem谩s seguir las recomendaciones de Flask==1.0.2 que indican los otros aportes.

Al utilizar el beanstalk para generar ambientes con la nueva interfaz arroja warnings con los permisos de autoscalling y loadbalancer:

Entrar a IAM AWS Console.
Buscar aws-elasticbeanstalk-service-role
(under Access Management > Roles).
Attach the following policies:

  • AutoScalingFullAccess
  • ElasticLoadBalancingFullAccess

Hacemos luego el rebuilt del environment, no mas errores.

Alguien podr铆a enviar el link para descargar eb-flask-v4.zip

Your WSGIPath refers to a file that does not exist.

me sale el siguiente error el cual no pude solucionar con ninguna de las ayudas que estuve leyendo en los comentarios, si alguien tiene algun codigo funcional para hacer el ejercicio se lo agradeceria, intente todos los ejemplos pero ninguno me funciono y no pude seguir por dicho motivo.

El branch elastic-beanstalk no esta disponible en GitHub 馃槮

saben como hace el .zip para el Elastic Beanstalk

No me funciono. Como que quizo explicar un posible error mas como no le sucedio siguio con otra cosa, mal mal ahi.

Pos ni comprimiendo la carpeta con los tres archivos me funciona (templates, application.py, requirements.txt), tambien hice los cambios de las lineas 23 y 24, pero no funcion贸. Alguien que haya logrado hacerlo podria colocar la forma de hacerlo?

No s茅 si cargu茅 mal los archivos o qu茅, pero a m铆 no me funcion贸. Me dice que est谩 DEGRADADO.

Si lograron subir el aplicativo y conectarse por ssh. La ruta donde se almacena la app es en

/var/app/current

Por ssh podr谩n editarle para no hacerlo en local

tambien me dio el mismo error de @andrescarriondiaz

(el de su imagen) aasi que segui el siguiente link y puede completar esta seccion del curso sin error!

https://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/GettingStarted.CreateApp.html

Saludos!

Para quienes hayan tenido problema con el deploy desde macOS, posiblemente logs con errores de sintaxis por ejecuci贸n de 鈥樷/.filename.config鈥 o algo parecido ejecuten este comando en su terminal

zip -d filename.zip __MACOSX/\*

https://stackoverflow.com/questions/10924236/mac-zip-compress-without-macosx-folder

**Mi aporte ** En este link pueden encontrar todos los tipos de Desencadenadores de escalado que el profe no explic贸 al 100%.

Ser铆a genial un curso de Docker con Elasticbeanstalk + Python + Django.

Excelente pr谩ctica

Por si alguien va realizar el proceso, dejo la documentacion oficial
https://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/create-deploy-python-flask.html

Vaya, si quisiera hacer el deploy de un API aqu铆 tambi茅n podr铆a, simplemente apuntar铆a hacia esta IP, aunque me parecer铆a interesante saber c贸mo hostear todo un sistema distribuido en AWS

No encontre donde el entro para el balanceador de carga 馃槙

驴La base de datos se crea por otro lugar?

Tengo el siguiente problema
Your WSGIPath refers to a file that does not exist.

Unsuccessful command execution on instance id(s) 鈥榠-04c0ee77fd1cf764b鈥. Aborting the operation. No puedo hacer deploy

Alguien soluciono el error de 鈥淵our WSGIPath refers to a file that does not exist.鈥

Este error me da igual a mi : WSGIPath refers to a file that does not exist.

despues del deploy y segun veo al clonar el enlace https://github.com/mauropm/aws-platzi-python.git no incluye el archivo .ebextensions me da la impresion que clona los archivos del branch
como se puede solucionar esto?

Si tengo mi instancia en EC2 funcionando y luego quiero agregarla a un load balancer, se puede?

Otra vez yo. Si quieren conectarse por shh a su instancia que se crea al momento de crear la aplicaci贸n en elastic beantalk. Una vez en su entorno, ver谩n del lado izquierdo la opci贸n de configuraci贸n y hay dos opciones una llamada 鈥淚nstancias鈥 donde pueden agregarle a su instancia el grupo de seguridad que crearon anteriormente y luego entran a la opci贸n de seguridad y ah铆 asignan la llave que ya hab铆an creado y listo, as铆 si se pueden conectar a su instancia por ssh.

NOTA: Al momento de asignar el nuevo grupo de seguridad, es necesario desmarcar el grupo anterior y dejar solo el que van a a帽adir.

驴Como me puedo conectar a la consola de una instancia creada a trav茅s de EB?
驴hay manera de generar un .pem para poder acceder a esta instancia?

Gracias

Hola tengo una duda que diferencias hay entre elastic Beanstalk y Elastic Container Service ??
Saludos

Mientras dure el update existe ca铆da del servicio? Cual es la experiencia al usuario?

Una pregunta, todos estos servicios que estamos creando se encuentran en la capa gratuita ? lo digo porque fue obligatorio en mi caso entregar los datos de la tarjeta de cr茅dito para confirmar la cuenta y poder crear la instancia de EC2.

Muchas gracias

Al crear el elastic beantalk, se crea una instancia de EC2, yo quiero acceder por medio de ssh a esa instancia, as铆 que voy a la instancia, modifico los permisos Inbound del grupo de seguridad que se creo para esa instancia, agrego los protocolos ssh y que se pueda conectar desde cualquier ip. pero cuando me voy a conectar a ella me aparece el siguiente error:

Instance is not associated with a key pair

This instance is not associated with a key pair. Without a key pair you will need to log into this instance using a valid username and password combination.

Que parece l贸gico porque no hay una llave .pem que me permita conectarme por ssh, as铆 como se cre贸 la instancia directamente usando el servicio de EC2 y termina diciendo el error que sin esa llave debo entonces usar un usuario y contrase帽a, en un v铆deo anterior dijiste que para esas instancias de amazon el usuario era 鈥渦ser鈥 pero cual es la contrase帽a o como la puedo averiguar ?

Pues no me sali贸, ya hice varios intentos generando varios zip, algunos con las recomendaciones de varios hilos pero nada, 驴y aqu铆 como se le hace?, 驴quien puede ayudar?, no hay soporte?, es solo pagar por el curso y r谩scate con tu u帽as?, soy nuevo as铆 que no tengo experiencia en esta plataforma, si alguien ayuda, gracias.

Me sale este error:
24-01-2019 23:20:16 UTC-0500 ERROR Your WSGIPath refers to a file that does not exist.
como lo soluciono?

Y para crear un LoadBalancer sin BeanStalk?

Hola, si alguien se topa con este error al crear la app en elastic beanstalk:

鈥> aws Creating security group failed Reason: No default VPC for this user

Como el mismo lo indica, es porque no encontro el VPC por defecto en la zona en la que se encuentran.

En mi caso, la habia borrado, asi que tuve que volverla a crear como indica la documentaci贸n aca:
https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html#create-default-vpc.

Espero le ayude a alguien por aca!

Genial!

Elastic Beanstalk es free tambien el primer a帽o?

Elastic Beanstalk es una plataforma donde en pocos pasos tendr谩s una buen ambiente de producci贸n sin complicarte tanto.

En capitulo se comio varias cosas el profe鈥 que mal!

Gracias!

Me encanto esta clase, aprend铆 bastante.

para utilizar mysql junto con elastic beanstalk, debo de tenerlo separado verdad,
porque la maquina ec2 no lo tendra instalado por default?

Hola, como estasn. Alguien pudo solucionar el error 鈥淵our WSGIPath refers to a file that does not exist.鈥?

Tengo el mismo problema en el deploy: Your WSGIPath refers to a file that does not exist.
Ya trate la solucion abajo propuesta por @NovoPles, de adicionarar el requirements.txt y eliminar la carpeta .ebextensions, pero no funciono.
Alguien sabe como resolver esto?

Pueden evaluar crear de nuevo esta clase??? Muchos errores durante la presentaci贸n, lo cual genera confusi贸n al realizar el laboratorio.! Mal para el profe.! Bien para los que apoyaron y compartieron pasos para la resoluci贸n.!

Super 馃槂

Seg煤n veo el Elastic Beanstalk viene siendo como un kubernetes administrado por Amazon, para yo montar mi proyecto y que ellos lo balanceen y escalen autom谩ticamente no?

Los requisitos que Amazon necesita para una aplicaci贸n Python son:
1.- Nombre de aplicaci贸n=application.py
2.- Dentro del application.py tambi茅n necesita el nombre de la variable = application.
Para los dem谩s lenguajes como node.js o java, tambien necesita los mismos requisitos o existen otros??

estoy aprendiendo un mont贸n!

Todo correcto!

Porque no usar siempre Elastic Beanstalk y no EC2, si la configuraci贸n de Elastic BeanStalk permite definir el tipo de instancia?

Que bueno esta clase!!

La documentaci贸n oficial nos dice que preferiblemente creemos un entorno virtual dentro de la carpeta del proyecto e instalemos flask. Y que de manera obligatorio debemos crear un archivo llamado requirements.txt

pip freeze > requirements.txt

que es el que indica las dependencias que se van a instalar durante el proceso de deploy. Por tanto en el archivo zip para esta clase solamente debe ir la carpeta tamplates, el archivo requirements.txt y el archivo application.py

https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-flask.html

Me sale este error Your WSGIPath refers to a file that does not exist.

Dato interesante 2021: cuando creas tu Elastic Beanstalk autom谩ticamente te la crea con Load Balanced 馃槂

Hola a todos.
FYI: A la fecha ya el entorno viene balanceado por defecto, no hace falta modificar la capacidad, pero igual es util saber modificarlo.

Al fin

![](