Cómo lanzar un sitio en AWS gratis en 15 minutos

Si es completamente nuevo en Amazon Web Services (AWS), puede parecer tremendamente complicado.

No sólo hace que parezca que hay un millar de diferentes servicios para elegir, cada uno de los cuales tiene un nombre igual de críptico (como S3, Lambda, EC2, o Athena), pero también hay por lo tantopara configurar.

¿Tienes que decidir cuánta memoria asignar a tus funciones, de qué región geográfica del mundo quieres que se sirva tu código y tienes que construir un objeto JSON extraño para otorgar permisos? Es REALMENTE fácil sumergir los dedos de los pies y decidir que es demasiado confuso comenzar.

Si esto describe su experiencia hasta ahora, entonces bien, este artículo es para usted.

Estuve exactamente en el mismo barco durante más tiempo del que me gustaría admitir.

Pero a pesar de toda su enorme complejidad, hay algo en AWS que sigue llamándote.

Existe la velocidad, la confiabilidad, incluso la influencia profesional de poder decir que tiene experiencia con AWS.

Pero, como con todo, si quieres empezar, debes dar el primer paso. Así que mi objetivo en este artículo es hacerlo fácil. Quiero llevarlo al punto en el que pueda decir "Implementé un proyecto en AWS".

Será mucho más fácil de lo que cree y le brindará un punto desde el que comenzar a explorar otros servicios de AWS.

Paso 0: lo que debe seguir

La lista es corta, pero pensé que la pondría al frente y al centro para asegurarme de que esté clara desde el principio.

  1. Una tarjeta de crédito / débito que funcione (no se preocupe, todo es gratis como dice el título. Pero deberá ingresar la información de la tarjeta de crédito para crear una cuenta de AWS)
  2. Código de front-end que puede cargar y alojar en AWS. Esto puede ser tan simple como un documento HTML con

    Hello World

    en el cuerpo.

Paso 1: Cree una cuenta de AWS

Para ser honesto, me detuve en este punto varias veces simplemente porque era una de esas situaciones de "prueba gratuita pero me piden la información de tu tarjeta de crédito", a las que tiendo a resistirme por principio.

Pero el nivel gratuito de 12 meses es bastante sorprendente. Un año completo es mucho tiempo para poder experimentar con AWS antes de decidir si vale la pena seguir usándolo. (No estoy afiliado de ninguna manera con AWS, solo para que conste).

Así que siga este enlace y cree su cuenta: AWS Free Tier.

Sé que algunas personas pueden tener algunas preocupaciones sobre las limitaciones del plan gratuito. Por ejemplo, hay un límite mensual en las solicitudes GET y PUT (20,000 y 2,000 respectivamente), después de lo cual comienza a cobrar.

Pero mientras solo esté usando esto para experimentar y aprender por ahora, prácticamente no hay posibilidad de exceder las limitaciones.

E incluso si lo hace, el precio por superar los límites suele ser de fracciones de un centavo por cada 1000 solicitudes.

Paso 2: cree un depósito de S3 para su proyecto / sitio

Para mantener las cosas lo más simples posible, el único servicio de AWS que usaremos para este proyecto será Simple Storage Service (o S3), uno de los servicios de almacenamiento en la nube de Amazon.

S3 se comporta un poco como Google Drive o Dropbox. Pero también se puede configurar para servir archivos en lugar de simplemente almacenarlos, que es lo que haremos.

Dado que solo serviremos archivos alojados en S3, este será un sitio estático, sin backend ni conexiones a una base de datos.

Ahora que tiene una cuenta de AWS, inicie sesión en la Consola de administración (vinculada aquí) y haga clic en "Servicios" en la parte superior izquierda del menú principal.

Verá esa lista asombrosamente grande de opciones de servicio que mencioné al principio. No se preocupe por todo eso, simplemente haga clic en "S3" en la sección "Almacenamiento".

Esto lo llevará a la página de S3, donde puede crear diferentes "depósitos" para almacenar sus diferentes proyectos.

Los depósitos son como carpetas en su escritorio. Pero el sistema de almacenamiento de documentos en S3 no sigue la estructura de carpetas tradicional (más sobre eso si está interesado). Entonces, en cambio, "cubo" parece ser la palabra correcta para usar.

Haga clic en el gran botón azul en la parte superior izquierda llamado "Crear depósito" para crear un depósito que contendrá los archivos de su proyecto.

Lo principal que debe hacer aquí es asegurarse de que los permisos públicos estén configurados para "Otorgar acceso de lectura público a este depósito".

Recibirá una advertencia de AWS, pero no se preocupe. Solo quieren asegurarse de que nadie pueda hacer esto por accidente. Pero esto es exactamente lo que quieres hacer.

Una vez que haya terminado, verá su depósito en la lista de su consola S3.

Paso 3: agregue archivos y configure los ajustes en su depósito

Haga clic en su depósito recién creado en la lista. Esto lo llevará a una página donde puede agregar contenido a su depósito y configurar sus ajustes.

Primero, querrá agregar los archivos de su proyecto (mencionados al principio) en la pestaña "Descripción general". Recuerde, estos pueden ser los archivos de cualquier proyecto de interfaz que funcione.

No podrá cargar ninguna carpeta (nuevamente, ya que S3 en realidad no tiene una estructura de carpetas). En su lugar, deberá crear manualmente las carpetas que tenga en su proyecto en S3 y cargar sus archivos en ellas.

A continuación, haga clic en la pestaña "Propiedades".

Aquí es donde le dirá a S3 que desea usar este depósito para alojar sus archivos.

Simplemente haga clic en el mosaico que dice "Alojamiento de sitio web estático" e ingrese los nombres de su índice (requerido) y documentos de error (no requerido) y ya está.

A continuación, haga clic en la pestaña "Permisos".

Verá justo debajo de las pestañas principales que comienza en una subsección llamada "Lista de control de acceso". Esto ya está configurado correctamente, ya que ya ha dicho que cualquiera debería poder leer los archivos alojados en este depósito.

Now you’ll need to click on the “Bucket Policy” subsection. Here, you’ll be prompted to create a JSON object that contains the details of your bucket’s access permission policy.

This part can be confusing. For now, I’ll just give you the JSON that will grant full public access to the files in your bucket. This will make the website publicly accessible.

Paste this into the bucket policy editor shown above:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "PublicReadForGetBucketObjects", "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::YOUR-BUCKET-NAME/*" } ]}

Don’t forget to replace “YOUR-BUCKET-NAME” with… your bucket’s name.

You’re done!

That’s it! You have now deployed a very simple static site on AWS S3.

To access your site, go back to the “Overview” tab on S3 and click on your index document (click on a blank area in the list item, not on the link to the document itself). You’ll get a slide-in menu on the right with a link to your site!