Cuando empecé a usar AWS EC2, pensé que estaba girando un servidor. Eso es lo que dice la mayoría de los tutoriales. Sólo “lance una instancia” y estás bien. Pero lo que no sabía era esto: EC2 es simple en la superficie, pero tiene un montón de detalles ocultos que pueden costarle tiempo, dinero y sabiduría. Aquí está todo lo que desearía que alguien me dijera antes de usar EC2 por primera vez, para que puedas evitar los errores que hice. Seleccionar el tipo de instancia correcto no es opcional La primera decisión que tomas es el tipo de instancia. Verás nombres como , de , de y así sucesivamente. t2.micro t3.medium m5.large En ese momento, eligió el más barato - El animal libre, ¿no es así? t2.micro Pero mi app continuó colapsando. No entendía cómo funcionan las instancias “burstables”. : What I learned t2.micro utiliza créditos de CPU. Gana créditos con el tiempo y los gasta cuando su aplicación necesita más CPU. If you run a long-running process (like a build or script), you can run out of credits fast. Una vez que termine, su instancia se vuelve muy lenta. : What to do instead Si simplemente está experimentando o alojando un sitio estático, t2.micro está bien. Si necesita algo más estable para tareas de fondo, use la serie t3 o m. Siempre combine la instancia con su carga de trabajo real, no con la etiqueta de precio. Los grupos de seguridad son firewalls (y ellos importan) Cuando lanzé mi instancia EC2, no pude SSH en ella. I thought it was broken. Pero fue sólo la - La versión de un firewall de EC2 - bloqueando mi acceso. security group : What I learned Por defecto, EC2 bloquea todo el tráfico entrante. Debes abrir manualmente puertos, incluso para SSH (port 22) o HTTP (port 80). Si desea visitar su aplicación en un navegador, debe permitir el puerto 80 (o 443 para HTTPS). : What to do instead Al configurar su instancia, agrega una regla para permitir SSH de su IP. Para sitios web públicos, permita HTTP y HTTPS. No abras todos los puertos al mundo. EC2 es sólo un servidor en blanco Cuando entré en mi instancia, escribí para ejecutar mi app Node. node “Comando no encontrado”. Yo intenté Eso tampoco funcionó. git pull Entonces me golpeó - EC2 es sólo una Nada viene preinstalado. bare OS : What I learned Necesitas instalar todo: Node, Python, Git, Nginx, cualquier cosa. No hay GUI, sólo un terminal. Es como alquilar un ordenador desde la nube. : What to do instead Utilice un script de inicio para automatizar la configuración inicial. O crea tu propio AMI personalizado una vez que todo esté configurado de la manera que quieras. If you’re deploying often, consider using or with pre-installed stacks. Elastic Beanstalk AWS AMI images EC2 no almacena sus datos a menos que usted le diga Una vez reinicié mi instancia EC2 y todos mis archivos de aplicaciones desaparecieron. ha ido. ¿Por qué? yo estaba usando - que se limpia en stop/start. ephemeral storage : What I learned EC2 tiene dos tipos principales de almacenamiento: Instance Store (temporal) y EBS (persistente). Sólo los volúmenes de EBS conservan sus datos después del cierre. Algunos AMIs se almacenan por defecto a menos que se modifiquen. : What to do instead Siempre use EBS para cualquier cosa importante. Tome snapshots de su volumen regularmente. Si necesita aún más durabilidad, considere almacenar archivos en S3 en su lugar. Los IP públicos pueden cambiar (a menos que utilice IPs elásticos) Construí una buena aplicación pequeña, la desplegé en EC2 y envié la IP a mis amigos. Unos días más tarde, dijeron que no funcionaba. He comprobado.El IP público había cambiado. : What I learned EC2 asigna una nueva IP pública cada vez que detiene y inicia la instancia. Si desea una IP estable, debe utilizar una IP elástica. : What to do instead Vaya a EC2 > IPs elásticos y asigna uno. Asociarlo con su instancia. Actualice su DNS o use esta IP en su código frontend. Nota: Se le cobrará por las IP Elastic no utilizadas, por lo que liberarlas cuando no sean necesarias. Los pares de claves SSH son todo No se puede conectar con una contraseña. Cuando inicia su instancia, AWS solicita una - que file. key pair .pem Eliminé mi pensamiento pensando que no lo necesitaba de nuevo. Big mistake. : What I learned Sin el archivo .pem, no se puede SSH en la instancia. Si lo pierde, tendrá que crear una nueva instancia o utilizar una solución instantánea. : What to do instead Mantenga su llave de forma segura. Nunca la elimine a menos que haya terminado el 100% con la instancia. Utilice un gestor de contraseñas o una herramienta de copia de seguridad. Necesitas configurar el apagado automático o te olvidarás I once left an EC2 instance running for a month. Ni siquiera se dio cuenta. Hasta que llegó el bill. : What I learned EC2 se carga por el segundo, pero sólo mientras la instancia está en ejecución. No hay advertencia o recordatorio si algo sigue funcionando. : What to do instead Set a calendar reminder to stop unused instances. Utilice los presupuestos de AWS para obtener alertas sobre gastos. También puede configurar una función Lambda para detener automáticamente las instancias EC2 inactivas. EC2 es potente, pero no siempre la mejor opción Si simplemente estás tratando de alojar un sitio web estático, EC2 es una overkill. Lo mismo si no quieres administrar Linux. : What I learned EC2 le da el control total, lo que significa la plena responsabilidad. For simpler use cases, AWS offers easier tools: for frontend apps Amplify for managed backends Elastic Beanstalk for WordPress or quick server setup Lightsail for serverless tasks Lambda : What to do instead Piense en lo que realmente necesita. Si solo estás probando algo, EC2 está bien. Pero no te obliges a administrar la infraestructura a menos que tenga sentido. Pensamientos finales EC2 es una herramienta poderosa, pero como la mayoría de los servicios de AWS, supone que usted sabe lo que está haciendo. La documentación no siempre hace las cosas sencillas. Y una pequeña configuración puede conducir a horas de depuración o costes inesperados. Pero una vez que entiendas los conceptos básicos: instancias, IP, almacenamiento, firewalls, EC2 comienza a tener sentido. Se convierte en una herramienta en la que puedes confiar. Sólo recuerde: trate a EC2 como un servidor real. Porque eso es exactamente lo que es. Y un poco de preparación te ahorrará mucho dolor más tarde.