Cómo cargar un sitio web estático en Amazon S3.

Escrito por Guadalupe Vocos y Pedro Bratti | Cloud & DevOps Engineer @ DinoCloud

Puede configurar un bucket de Amazon S3 para que funcione como un sitio web con una distribución de CloudFront para Content Delivery y Route 53 para el sistema de nombres de dominio (DNS) en la nube.

¿Por qué elegir un sitio web estático?

El alojamiento de sitios web estáticos es cada vez más popular, pero ¿qué significa que sea estático? Significa que su sitio consta de un conjunto de archivos «preconstruidos» (archivos HTML, js y CSS) que se entregan directamente según necesidad. Esto, más los recursos que ofrece AWS, nos permite tener una infraestructura serverless, flexible, escalable, de alto rendimiento, segura y de bajo costo.

Antes de comenzar:

A medida que siga los pasos de este ejemplo, trabajará con los siguientes servicios:

  • CloudFront: Distribution and Origin Access Identity.
  • Route 53: Hosted Zone and Records.
  • S3: Bucket.

Deberá tener estos requisitos previos antes de comenzar los pasos:

  • Route 53: un nombre de dominio ya registrado
  • Certificate Manager: Certificado solicitado (Opcional en caso de querer asegurar la comunicación a través del protocolo HTTPS).

Paso 1: S3 Bucket con alojamiento de sitios web estáticos

  • Inicie sesión en la consola de administración de AWS y abra la consola de Amazon S3 en AWS S3.
  • Elija Crear Bucket, ingrese el nombre del Bucket (por ejemplo, medium.dinocloudconsulting.com), en la región seleccione us-east-1 y Crear.
  • Ahora puede subir su archivo index.html al bucket creado recientemente.

Paso 2: crear Hosted Zone en Route 53

  • Ingrese a la Consola de Administración de AWS y abra la consola de Amazon Route 53 en AWS Route 53.
  • Elija Crear Hosted Zone, ingrese un nombre, seleccione el Tipo de zona alojada pública y Crear.

Paso 3.1: Crear y Configurar la Distribución y OAI en CloudFront.

  • Ingrese a la Consola de Administración de AWS y abra la consola de Amazon CloudFront en AWS CloudFront.
  • Elija Crear Distribuciónn. En la sección de Configuración de Origen, en Nombre de Dominio de Origen, ingrese el endpoint del Sitio Web de Amazon S3 para su bucket (por ejemplo, medium.dinocloudconsulting.com.s3-website-us-east-1.amazonaws.com)
  • En Accesos del Bucket seleccione Sí, ususar un OAI, Crear nuevo OAI y seleccione Sí, actualizar las políticas del bucket.
  • (Optional) For SSL Certificate, choose Custom SSL Certificate (example.com), and choose the custom certificate that covers the domain
  • Set Alternate Domain Names (CNAMEs) to the root domain. (for example, example.com).
  • En la ruta del objeto por defecto, ingresar el nombre de su documento indexado, por ejemplo, index.html.
  • Deje el resto de las propiedades por defecto y seleccione Crear.

Paso 3.3: Configurar propiedades de Página de error en CloudFront.

  • Seleccione la Distribución antes creada, acceda a la pestaña llamada Página de Error.
  • Configure las siguientes propiedades:
    • HTTP error code: 403: Forbidden.
    • Customize error response: Yes.
    • Response page path: /index.html
    • HTTP response code: 200: OK

Paso 4: Crear un Registro en Route 53

  • Ingrese a la Consola de Administración de AWS y abra la Consola de Amazon Route 53 en AWS Route 53.
  • En la Zona Alojada ya creada, seleccione Crear Registro.
  • Seleccione Tipo de Registro: A y en el campo Valor, marque Alias y seleccione el nombre del Dominio de Distribución en CloudFront
  • Espere algunos minutos para que las DNS se propaguen y busque su sitio en su navegador preferido.

¡Listo! Ahora ya tiene su sitio web estático cargado y funcionando.

En DinoCloud nos encargamos de convertir la infraestructura actual de una empresa en una infraestructura moderna, escalable, de alto rendimiento y bajo costo capaz de cumplir con los objetivos de su negocio. Si desea obtener más información, optimizar la forma en que su empresa organiza y analiza los datos y reducir costos, puede contactarnos aquí.

Guadalupe Vocos

Cloud & DevOps Engineer
@DinoCloud

Pedro Bratti

Cloud & DevOps Engineer
@DinoCloud


Redes sociales:

LinkedIn: https://www.linkedin.com/company/dinocloud
Twitter: https://twitter.com/dinocloud_
Instagram: @dinocloud_
Youtube: https://www.youtube.com/c/DinoCloudConsulting


Escríbenos

[contact-form-7 id=»29342″ title=»Formulario de contacto general»]

USA
40 SW 13th St, Suite 102
Miami, FL 33130
 
Colombia
Cra. 19a #103-19
Usaquén, Bogotá 110111, Colombia
 
Argentina
Humberto 1° 630, Piso 4, 
X5000HZQ Córdoba, Argentina
Teléfono: +543513 556000
Equipo DinoCloud

Nuestras oficinas

Argentina
Humberto 1° 630, Piso 4
Córdoba, X5000HZQ
Argentina

Miami
40 SW 13th St Suite 102, Miami
FL 33130 USA
+1 574 598 4299

New York
67-87 Booth St #2H, Forest
Hills NY 11375
+1 571 322 6769

Colombia
Cra. 19a #103-19 Usaquén,
Bogotá 110111,
Colombia

Formulario de contacto

(*) Campos obligatorios