Amazon S3: sitios web estáticos: dominio o subdominio personalizado

79

Amazon.com acaba de anunciar que se pueden alojar sitios web estáticos en un contenedor S3. Fui a su página de configuración en http://docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?WebsiteHosting.html y creé un depósito para mi sitio web estático, y funcionó bien. Tengo una URL con el formato http: // [mi nombre de depósito] .s3-website-us-east-1.amazonaws.com /.

Sin embargo, me gustaría señalar un subdominio de mi propiedad (por ejemplo, static.mydomain.com) a mi sitio web estático en Amazon S3. ¿Alguien ha descubierto cómo hacer eso?

Aprecio toda ayuda que puedas darme.

Jay Godse
fuente
echa un vistazo
Ajitesh Singh

Respuestas:

182

Resulta que para que funcione, no se puede asignar un subdominio arbitrario a un depósito arbitrario. El nombre del subdominio completo debe ser el mismo que el nombre del depósito de S3 .

  1. Suponga que el nombre de su sitio es static.midominio.com . Luego, debe crear un depósito de S3 con el mismo nombre, llamado static.mydomain.com .
  2. Una vez que configure ese depósito como un sitio web estático de S3, se le asignará una URL similar a http://static.mydomain.com.s3-website-us-east-1.amazonaws.com .
  3. Vaya al host de su dominio y asigne su subdominio a la URL del paso 2. En enom.com, eso significó asignar el host " static " a la dirección " static.mydomain.com.s3-website-us-east-1.amazonaws .com "como registro CNAME.

Gracias a Uriah y David por sus sugerencias. Finalmente obtuve mi respuesta en un foro de Amazon AWS .

Jay Godse
fuente
No lo sé. Tendrás que probarlo. Además, es probable que se apoye en el certificado SSL de Amazon y no en el suyo.
Jay Godse
2
en realidad, puede apuntar su cname a s3-website-us-east-1.amazonaws.com , parece ignorar el subdominio y usar el encabezado http HOST para especificar el depósito. Parece no importar si los dos coinciden, o incluso si el subdominio está presente.
Lynks
@lynks - incluso puedes dejar la región y simplemente ir con s3.amazonaws.com
plyawn
@hnprashanth, eso es correcto (usando solo S3), puede tener hasta 10 subdominios apuntando a la misma ubicación de recursos con una distribución de CloudFront, aunque ... consulte docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/…
plyawn
Esto funciona. AWS establece esto en una sección de introducción temprana, pero cuando sigue todos los pasos, es fácil / probable que lo olvide. Es una solución mejor que la solución cname de Lynks porque AWS ahora tiene cargos de transacción para las búsquedas de cname de cada usuario.
Mike_Laird
5

Asegúrese de seguir las convenciones de nomenclatura del depósito de DNS de S3 al crear su depósito.

Luego:

  1. Habilite la compatibilidad con el sitio web de S3 para el bucket mediante la consola de administración de AWS en Propiedades -> Sitio web

  2. Asegúrese de que los archivos del depósito tengan permisos de lectura públicos

  3. Pruebe el sitio web utilizando el punto final que aparece en la Consola de administración

  4. Configure su CNAME usando el punto final listado (p www.example.com CNAME www.example.com.s3-website-us-east-1.amazonaws.com. Ej. )

Carpintero Uriah
fuente
Hice los 4 pasos. El paso 3 funciona. El cname en el paso 4 se configura (con enom.com, que lo hace exitosamente con otros subdominios), pero ni presionar mi subdominio s3 con un navegador ni hacer ping funciona. Con heroku.com y blogger.com tienes que decirles cuál de tus subdominios va a llegar a qué heroku-app o blogger-blog. Los sitios web estáticos de S3 no parecen tener esto.
Jay Godse
2
@Jay Godse ¿Cuál es el nombre de su depósito habilitado para sitios web y su región?
Uriah Carpenter
4
  1. Cree una zona alojada, digamos midominio.com. Puede utilizar una interfaz de usuario basada en web DNS30 .
  2. Ahora cree una entrada CNAME para esta zona alojada.
  3. Agregue un registro de recursos con el siguiente nombre de detalle como "midominio.com" Escriba como "CNAME" Valor como "midominio.com.s3.amazonaws.com" TTl como "en su configuración requerida"

Espero que esto también funcione para static.mydomain.com

Saludos-

Udit

udit
fuente
3

¿Qué tal usar un servicio DNS, como la Ruta 53 que ofrece Amazon? Configúrelo con un CNAME de su subdominio a la URL del depósito público. Por supuesto, si su empresa de dominio proporciona la configuración CNAME, eso podría funcionar directamente.

Thomas la locomotora del tanque
fuente
1

Actualización 2019: subdominio personalizado de AWS alojamiento de en S3

A partir de hoy, los siguientes pasos me funcionaron para tener un subdominio funcional para el sitio web estático alojado en AWS S3:

  1. Crea un depósito con un nombre de subdominio. En este ejemplo www. subprueba .mysite.com

cubo de AWS

Nota: asegúrese de que en la pestaña 'Permiso' del depósito: -Bloquear el acceso público (configuración del depósito) -Lista de control de acceso y -La política del depósito está configurada correctamente para asegurarse de que el depósito sea público. (Suponiendo que ya hizo esto para su depósito de dominio raíz, esas configuraciones se pueden reflejar en este depósito de subdominio)

Permisos del bucket de AWS

  1. Sube el archivo index.html en el depósito.

archivo de índice en el depósito s3

  1. Crea un registro CNAME con tu proveedor de dominio Registro CNAME en namecheap
Zennni
fuente