Me encontraba exactamente con el mismo problema que describió Saurav, pero realmente necesitaba encontrar una solución que no requiriera otra cosa 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
Usando 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", ubicado 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: Crea tu cubo S3
Abra la consola de administración S3 y haga clic en "Crear bucket".
Paso dos: nombra tu cubo S3
Elige un nombre de cubo. ¡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 funcione mejor para usted. Si no 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ático".
- Seleccione la opción para "Habilitar 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. Solo usa el nombre que quieras.
- Abra la configuración de "Editar reglas de redireccionamiento".
Pegue el siguiente fragmento de XML en su totalidad.
<RoutingRules>
<RoutingRule>
<Redirect>
<Protocol>https</Protocol>
<HostName>myaccount.signin.aws.amazon.com</HostName>
<ReplaceKeyPrefixWith>console/</ReplaceKeyPrefixWith>
<HttpRedirectCode>301</HttpRedirectCode>
</Redirect>
</RoutingRule>
</RoutingRules>
Si tiene curiosidad acerca de lo que está haciendo el XML anterior, visite la documentación de AWM para "Sintaxis para especificar reglas de enrutamiento" . Una técnica adicional (no cubierta aquí) es reenviar a páginas específicas en el host de destino, por ejemplo http://redirect-destination.com/console/special-page.html
. Lea sobre el <ReplaceKeyWith>
elemento si necesita esta funcionalidad.
Paso 4: Anote el "Punto final" de su Redirect Bucket
Tome nota del "punto final" de alojamiento de sitios web estático que Amazon creó automáticamente para este depósito. Necesitará esto 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 de las <Hostname>
etiquetas en sus Reglas de redireccionamiento. Tal vez accidentalmente escribiste myaccount.amazon.com
, en lugar de myaccount.signin.aws.amazon.com
. Si hace clic en el enlace para probar la URL de Endpoint, ¡AWS con gusto redirigirá su navegador a la dirección incorrecta!
Después de notar su error, probablemente editará las <Hostname>
Reglas de redireccionamiento para corregir el error. Desafortunadamente, cuando intentas hacer clic en el enlace nuevamente, ¡lo más probable es que termines siendo redirigido a la dirección incorrecta! Aunque haya corregido la <Hostname>
entrada, su navegador está almacenando en caché la entrada anterior (¡incorrecta!). Esto sucede porque estamos usando una redirección HTTP 301 (permanente), que los navegadores como Chrome y Firefox almacenarán en caché de forma predeterminada.
Si copia y pega la URL de Endpoint en un navegador diferente (o borra el caché en su actual), tendrá otra oportunidad de ver si su <Hostname>
entrada actualizada es finalmente la correcta.
Para estar seguro, si desea probar su URL de Endpoint y las Reglas de redireccionamiento, debe abrir una sesión de navegación privada, como "Modo de incógnito" en Chrome. Copie, pegue y pruebe la URL de punto final en modo de incógnito y todo lo que esté 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 Hospedada (nombre de dominio) que utilizó cuando creó su depósito. Como llamé a mi cubo "url-redirect-example.vivekmchawla.com", voy a seleccionar la Zona Hospedada 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 "porción del nombre de host" de la URL es todo a la IZQUIERDA del nombre de su Zona Hospedada. Llamé a mi cubo S3 "url-redirect-example.vivekmchawla.com", y mi zona alojada es "vivekmchawla.com", por lo que la parte del nombre de host que necesito ingresar es "url-redirect-example".
Seleccione "CNAME - Nombre canónico" para el Tipo de este conjunto de registros.
Para el Valor, pegue la URL de punto final del depósito 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 hospedada.
Paso 8: pruebe su 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, debería ser enviado directamente a una página de inicio de sesión de AWS.
Debido a que utilizamos el myaccount.signin.aws.amazon.com
alias como la URL de destino de nuestra redirección, 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 corto, limpio y de 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 reenvío de URL fácil puede ser frustrante. Espero que esta guía haya ayudado a configurar un reenvío de URL para sus zonas alojadas un poco más fácil.
Si desea obtener más información, consulte las siguientes páginas del sitio de documentación de AWS.
¡Salud!