Estoy trabajando en una pequeña aplicación web (toda del lado del cliente) y quiero alojarla en Amazon S3. Encontré varias guías sobre esto y logré crearme un depósito (con el mismo nombre que mi dominio), configurarlo como un sitio web y cargar contenido.
Donde estoy luchando, y donde toda la documentación comienza a volverse un poco vaga, es cómo configurar correctamente mi DNS.
Todo lo que mi registrador ( 123-reg ) pudo sugerir fue el reenvío web, lo que me da mydomain.com.s3.amazonaws.com
¿Qué tengo que configurar y dónde (es decir, 123-reg / Amazon) puedo obtener una URL limpia?
dns
amazon-s3
amazon-web-services
hosting
Merlin Mason
fuente
fuente
Respuestas:
Parece que ya has hecho la mayor parte del trabajo. Para mayor claridad, repasaré esos pasos nuevamente solo para asegurarme de que esté configurado correctamente:
Cree un depósito s3 utilizando su nombre de dominio como el nombre del depósito (el nombre del depósito debe ser www.example.com si desea que su sitio sea example.com o www.example.com)
Sube tu contenido al depósito s3. Elija un nombre coherente para los archivos de índice de su sitio web (generalmente index.html). También puede cargar una página personalizada para los errores 404 No encontrado. Llame a este 404.html. Otorgue permisos de lectura a todos los archivos de su sitio web para que el público pueda verlos. No otorgue ningún permiso adicional al depósito, solo los archivos que contiene.
Configure su depósito como un sitio web. Con la consola de AWS ( https://console.aws.amazon.com/s3/ ) puede seleccionar su depósito, hacer clic en propiedades y luego seleccionar la pestaña "Sitio web". Haga clic en habilitado y configure su documento de índice en "index.html" y su documento de error en "404.html". También deberá configurar su depósito con permisos de acceso para permitir el acceso a través de la web ( http://docs.amazonwebservices.com/AmazonS3/latest/dev/WebsiteAccessPermissionsReqd.html )
Tome nota de la URL "Endpoint" en la pestaña de configuración del sitio web. Aquí es donde vive su sitio web. Puede abrir el enlace en una nueva ventana y debería ver su sitio web tal como se verá. Haga clic y asegúrese de que todo funcione como se esperaba.
DEBE usar la dirección del punto final en todos los pasos a continuación. El www.example.com.s3.amazonaws.com normal no funcionará; debe usar la versión regional ( http://www.example.com.s3-website-us-east-1.amazonaws.com/ )
Ahora, podemos configurar el DNS para brindarle una URL personalizada y limpia.
Primero, asignaremos www.example.com a su sitio.
Con las herramientas de su proveedor de DNS (123-reg en su caso), debe crear un registro CNAME para asignar www.example.com a www.example.com.s3-website-us-east-1.amazonaws.com
El CNAME es lo único que necesita si solo quiere www.example.com. La mayoría de la gente también quiere que "example.com" funcione, así que necesitamos otro paso.
example.com a menudo se denomina dominio simple o el registro vértice del dominio. La razón por la que es un problema es que no puede ser un CNAME. Los CNAME solo funcionan en subdominios como "www". Esto hace que sea más difícil apuntar a s3.
El enfoque habitual es utilizar un servicio para redirigir automáticamente cualquier solicitud que vaya a example.com para que apunte a www.example.com. Esto luego recogerá su registro CNAME y su sitio será servido desde s3.
El redireccionamiento automático no es posible con un DNS antiguo simple, por lo que debe usar otro servicio. Algunos proveedores de DNS ofrecen este servicio junto con su DNS (godaddy lo hace, amazon route53 no. No estoy seguro acerca de 123-reg).
Si su proveedor de DNS no lo hace, existen algunos servicios gratuitos. Uno que he usado es http://wwwizer.com/naked-domain-redirect ; no requiere ningún registro ni pago.
Para utilizar este tipo de servicio, debe crear un registro "A" de DNS para su dominio simple. Para el servicio wwwizer.com, necesitaría crear un registro A para señalar example.com a 174.129.25.170. ¡Eso es todo!
Entonces, con esta configuración, si un usuario escribe example.com en su navegador, sucedería lo siguiente:
¡Disfrutar!
fuente
Creo que debe seleccionar todos los documentos en su depósito, hacer clic con el botón derecho y elegir "Hacer público". También debe hacer esto cada vez que algo cambie en el cubo. Luego, por lo general, hago clic con el botón derecho en el depósito, elijo propiedades, selecciono permisos en el panel de la derecha, luego agrego "Todos como" beneficiarios "y luego les doy solo permisos de" lista ". El resto de su artículo es excelente. La parte sobre el dominio simple ayudó resolver mis problemas. También puede hacer que el dominio simple sea redirigido al dominio www dentro de S3 en "Alojamiento de sitios web estáticos". Probablemente sea la forma más fácil. Gracias nuevamente por toda su ayuda.
Tim
fuente
Actualización 2019
A partir de hoy, la siguiente configuración de DNS me funcionó para que el sitio web estático de AWS S3 funcione:
fuente
Desde la pantalla DNS avanzado en su panel de control 123-reg
Esto me dio lo siguiente;
DNS EntryType PriorityTTLDestination/Target
* A 81.xx.xx.xx
@ A 81.xx.xx.xx
@ MX 10 xx0.123-reg.co.uk
@ MX 20 xx1.123-reg.co.uk
www CNAME www.example.com.s3-website-us-east-1.amazonaws.com
De su guía de administración de DNS en pdf , dice que el "@ registro" se refiere a "su dominio en su forma más pura sin subdominio", es decir, el dominio simple stackoverflow.com
Pero no menciona qué es el "* registro", asumí que sería para capturar todos los subdominios y pensé que podría anular el registro CNAME, pero este no parece ser el caso.
fuente