Solución:
Me estaba encontrando exactamente con el mismo problema que describió Saurav, pero realmente necesitaba encontrar una solución que no requiriera nada más que la Ruta 53 y S3. Creé una guía práctica para mi blog que detalla lo que hice.
Esto es lo que se me ocurrió.
Objetivo
Con solo las herramientas disponibles en Amazon S3 y Amazon Route 53, cree un redireccionamiento de URL que reenvíe automáticamente http://url-redirect-example.vivekmchawla.com a la página de inicio de sesión de la consola de AWS con alias de “MyAccount”, ubicada en https : //myaccount.signin.aws.amazon.com/console/.
Esta guía le enseñará a configurar el reenvío de URL a cualquier URL, no solo a las de Amazon. Aprenderá cómo configurar el reenvío a carpetas específicas (como “/ consola” en mi ejemplo) y cómo cambiar el protocolo de redireccionamiento de HTTP a HTTPS (o viceversa).
Paso uno: cree su bucket de S3
Abra la consola de administración de S3 y haga clic en “Crear depósito”.
Paso dos: asigne un nombre a su bucket de S3
-
Elija un nombre de depósito. ¡Este paso es realmente importante! Debe nombrar el depósito EXACTAMENTE igual que la URL que desea configurar para el reenvío. Para esta guía, usaré el nombre “url-redirect-example.vivekmchawla.com”.
-
Seleccione la región que mejor se adapte a sus necesidades. Si no lo sabe, mantenga el valor predeterminado.
-
No se preocupe por configurar el registro. Simplemente haga clic en el botón “Crear” cuando esté listo.
Paso 3: habilite el alojamiento de sitios web estáticos y especifique las reglas de enrutamiento
- En la ventana de propiedades, abra la configuración de “Alojamiento de sitios web estáticos”.
- Seleccione la opción para “Habilitar el alojamiento de sitios web”.
- Introduzca un valor para el “Documento de índice”. Este objeto (documento) nunca será servido por S3 y nunca tendrá que cargarlo. Simplemente use el nombre que desee.
- Abra la configuración de “Editar reglas de redireccionamiento”.
-
Pegue el siguiente fragmento XML en su totalidad.
https myaccount.signin.aws.amazon.com console/ 301
Si tiene curiosidad acerca de lo que hace el XML anterior, visite la documentación de AWM para “Sintaxis para especificar reglas de enrutamiento”. Una técnica adicional (no tratada aquí) es el reenvío a páginas específicas en el host de destino, por ejemplo http://redirect-destination.com/console/special-page.html
. Leer sobre el
elemento si necesita esta funcionalidad.
Paso 4: tome nota del “punto final” de su depósito de redireccionamiento
Tome nota del “punto final” de alojamiento de sitios web estáticos que Amazon creó automáticamente para este segmento. Lo necesitará para más adelante, así que resalte la URL completa, luego cópiela y péguela en el bloc de notas.
¡PRECAUCIÓN! En este punto, puede hacer clic en este enlace para verificar si sus Reglas de redireccionamiento se ingresaron correctamente, ¡pero tenga cuidado! Este es el por qué…
Digamos que ingresó un valor incorrecto dentro del
etiquetas en sus Reglas de redireccionamiento. Tal vez escribiste accidentalmente myaccount.amazon.com
, en lugar de myaccount.signin.aws.amazon.com
. Si hace clic en el enlace para probar la URL del punto final, AWS redirigirá felizmente su navegador a la dirección incorrecta.
Después de darse cuenta de su error, probablemente editará el
en sus Reglas de redireccionamiento para corregir el error. Desafortunadamente, cuando intente hacer clic en el enlace nuevamente, lo más probable es que termine siendo redirigido a la dirección incorrecta. Aunque arreglaste el
entrada, su navegador está almacenando en caché la entrada anterior (¡incorrecta!). Esto sucede porque estamos usando un redireccionamiento HTTP 301 (permanente), que navegadores como Chrome y Firefox almacenarán en caché de forma predeterminada.
Si copia y pega la URL del punto final en un navegador diferente (o borra el caché en el actual), tendrá otra oportunidad de ver si su
La entrada es finalmente la correcta.
Para estar seguro, si desea probar la URL de su punto final y las reglas de redireccionamiento, debe abrir una sesión de navegación privada, como “Modo incógnito” en Chrome. Copie, pegue y pruebe la URL del punto final en modo incógnito y todo lo almacenado en caché desaparecerá una vez que cierre la sesión.
Paso 5: Abra la consola de administración de Route53 y vaya a los conjuntos de registros para su zona alojada (nombre de dominio)
- Seleccione la zona alojada (nombre de dominio) que utilizó cuando creó su depósito. Como llamé a mi depósito “url-redirect-example.vivekmchawla.com”, seleccionaré la zona alojada de vivekmchawla.com.
- Haga clic en el botón “Ir a conjuntos de registros”.
Paso 6: haga clic en el botón “Crear conjunto de registros”
Al hacer clic en “Crear conjunto de registros” se abrirá la ventana Crear conjunto de registros en el lado derecho de la Consola de administración de Route53.
Paso 7: crear un conjunto de registros CNAME
-
En el campo Nombre, ingrese la parte del nombre de host de la URL que utilizó al nombrar su bucket de S3. La “parte del nombre de host” de la URL es todo lo que está a la IZQUIERDA del nombre de su zona alojada. Llamé a mi depósito de S3 “url-redirect-example.vivekmchawla.com”, y mi zona alojada es “vivekmchawla.com”, por lo que la parte del nombre de host que debo ingresar es “url-redirect-example”.
-
Seleccione “CNAME – Nombre canónico” para el Tipo de este conjunto de registros.
-
Para el valor, pegue la URL del punto final del depósito de S3 que creamos en el paso 3.
-
Haga clic en el botón “Crear conjunto de registros”. Suponiendo que no haya errores, ahora podrá ver un nuevo registro CNAME en la lista de conjuntos de registros de su zona alojada.
Paso 8: prueba tu nueva redirección de URL
Abra una nueva pestaña del navegador y escriba la URL que acabamos de configurar. Para mí, eso es http://url-redirect-example.vivekmchawla.com. Si todo funcionó correctamente, debe ser enviado directamente a una página de inicio de sesión de AWS.
Porque usamos el myaccount.signin.aws.amazon.com
alias como la URL de destino de nuestro redireccionamiento, Amazon sabe exactamente a qué cuenta estamos intentando acceder y nos lleva directamente allí. Esto puede ser muy útil si desea proporcionar un enlace de inicio de sesión de AWS breve, limpio y con la marca a los empleados o contratistas.
Conclusiones
Personalmente, me encantan los diversos servicios de AWS, pero si ha decidido migrar la administración de DNS a Amazon Route 53, la falta de un reenvío de URL sencillo puede resultar frustrante. Espero que esta guía haya ayudado a facilitar un poco la configuración del reenvío de URL para sus zonas alojadas.
Si desea obtener más información, consulte las siguientes páginas del sitio de documentación de AWS.
- Ejemplo: configurar un sitio web estático con un dominio personalizado
- Configurar un depósito para alojamiento de sitios web
- Creación de un dominio que usa Route 53
- Creación, modificación y eliminación de registros de recursos
¡Salud!
El soporte de AWS señaló una solución más simple. Básicamente es la misma idea propuesta por @Vivek M. Chawla, con una implementación más simple.
AWS S3:
- Cree un depósito con el nombre de su dominio completo, como
aws.example.com
- En las propiedades del depósito, seleccione
Redirect all requests to another host name
e ingrese su URL:
https://myaccount.signin.aws.amazon.com/console/
AWS Route53:
- Cree un conjunto de registros tipo A. Cambie alias a
Yes
. Haga clic enAlias
y seleccione el depósito de S3 que creó en el paso anterior.
Target
Referencia: Cómo redirigir dominios usando Amazon Web Services
Documentación oficial de AWS: ¿Existe alguna forma de redirigir un dominio a otro dominio mediante Amazon Route 53?
Pude usar nginx para manejar el redireccionamiento 301 a la página de inicio de sesión de AWS.
Vaya a su carpeta nginx conf (en mi caso es /etc/nginx/sites-available
en el que creo un enlace simbólico a /etc/nginx/sites-enabled
para los archivos conf habilitados).
Luego agregue una ruta de redireccionamiento
server
listen 80;
server_name aws.example.com;
return 301 https://myaccount.signin.aws.amazon.com/console;
Si está utilizando nginx, lo más probable es que tenga bloques de servidor adicionales (hosts virtuales en terminología apache) para manejar su zona de ápice (ejemplo.com) o como lo tenga configurado. Asegúrese de tener uno de ellos configurado como servidor predeterminado.
server
listen 80 default_server;
server_name example.com;
# rest of config ...
En la Ruta 53, agregue un A record
por aws.example.com
y establezca el valor en la misma IP utilizada para el ápice de su zona.