Я столкнулся с той же проблемой, что описал Саурав, но мне действительно нужно было найти решение, которое не требовало бы ничего, кроме Route 53 и S3. Я создал для своего блога руководство с подробным описанием того, что я сделал.
Вот что я придумал.
Задача
Используя только инструменты, доступные в Amazon S3 и Amazon Route 53, создайте URL Redirect, который автоматически перенаправляет http://url-redirect-example.vivekmchawla.com на страницу входа в Консоль AWS с псевдонимом «MyAccount», расположенную по адресу https. : //myaccount.signin.aws.amazon.com/console/ .
Это руководство научит вас настраивать переадресацию URL-адресов на любой URL-адрес, а не только на URL-адреса Amazon. Вы узнаете, как настроить переадресацию в определенные папки (например, «/ console» в моем примере) и как изменить протокол переадресации с HTTP на HTTPS (или наоборот).
Шаг 1. Создайте корзину S3
Откройте консоль управления S3 и нажмите «Create Bucket».
Шаг 2. Назовите свою корзину S3
Выберите название сегмента. Этот шаг действительно важен! Вы должны назвать сегмент ТОЧНО таким же, как URL-адрес, который вы хотите настроить для пересылки. В этом руководстве я буду использовать имя url-redirect-example.vivekmchawla.com.
Выберите любой регион, который вам больше всего подходит. Если вы не знаете, оставьте значение по умолчанию.
Не беспокойтесь о настройке ведения журнала. Когда будете готовы, просто нажмите кнопку «Создать».
Шаг 3. Включите статический хостинг веб-сайтов и укажите правила маршрутизации
- В окне свойств откройте настройки «Статический хостинг веб-сайтов».
- Выберите вариант «Включить хостинг веб-сайтов».
- Введите значение для «Индексного документа». Этот объект (документ) никогда не будет обслуживаться S3, и вам никогда не придется его загружать. Просто используйте любое имя, какое хотите.
- Откройте настройки «Редактировать правила перенаправления».
Вставьте следующий фрагмент XML целиком.
<RoutingRules>
<RoutingRule>
<Redirect>
<Protocol>https</Protocol>
<HostName>myaccount.signin.aws.amazon.com</HostName>
<ReplaceKeyPrefixWith>console/</ReplaceKeyPrefixWith>
<HttpRedirectCode>301</HttpRedirectCode>
</Redirect>
</RoutingRule>
</RoutingRules>
Если вам интересно, что делает указанный выше XML, посетите документацию AWM для «Синтаксиса для определения правил маршрутизации» . Бонусная техника (здесь не рассматривается) - это, например, пересылка на определенные страницы на хосте назначения http://redirect-destination.com/console/special-page.html
. Прочтите об <ReplaceKeyWith>
элементе, если вам нужна эта функция.
Шаг 4. Обратите внимание на "конечную точку" сегмента переадресации
Обратите внимание на «конечную точку» статического хостинга веб-сайтов, которую Amazon автоматически создал для этого сегмента. Это понадобится вам позже, поэтому выделите весь URL-адрес, затем скопируйте и вставьте его в блокнот.
ВНИМАНИЕ! На этом этапе вы можете щелкнуть эту ссылку, чтобы проверить, правильно ли введены ваши правила перенаправления, но будьте осторожны! Вот почему ...
Допустим, вы ввели неправильное значение в <Hostname>
теги в своих правилах перенаправления. Возможно, вы случайно набрали myaccount.amazon.com
вместо myaccount.signin.aws.amazon.com
. Если вы нажмете ссылку, чтобы проверить URL-адрес конечной точки, AWS с радостью перенаправит ваш браузер на неправильный адрес!
Заметив свою ошибку, вы, вероятно, отредактируете <Hostname>
в своих правилах перенаправления, чтобы исправить ошибку. К сожалению, когда вы снова попытаетесь щелкнуть ссылку, вы, скорее всего, будете перенаправлены обратно на неправильный адрес! Даже если вы исправили <Hostname>
запись, ваш браузер кэширует предыдущую (неправильную!) Запись. Это происходит потому, что мы используем перенаправление HTTP 301 (постоянное), которое браузеры, такие как Chrome и Firefox, будут кэшировать по умолчанию.
Если вы скопируете и вставите URL-адрес конечной точки в другой браузер (или очистите кеш в текущем), вы получите еще один шанс увидеть, является ли ваша обновленная <Hostname>
запись, наконец, правильной.
На всякий случай, если вы хотите проверить URL-адрес конечной точки и правила перенаправления, вам следует открыть приватный сеанс просмотра, например «Режим инкогнито» в Chrome. Скопируйте, вставьте и проверьте URL-адрес конечной точки в режиме инкогнито, и все, что кэшируется, исчезнет после закрытия сеанса.
Шаг 5. Откройте консоль управления Route53 и перейдите к наборам записей для вашей размещенной зоны (доменное имя)
- Выберите размещенную зону (доменное имя), которую вы использовали при создании корзины. Поскольку я назвал свой сегмент url-redirect-example.vivekmchawla.com, я собираюсь выбрать размещенную зону vivekmchawla.com.
- Нажмите кнопку «Перейти к наборам записей».
Шаг 6. Нажмите кнопку «Создать набор записей».
При нажатии на «Создать набор записей» в правой части консоли управления Route53 откроется окно «Создать набор записей».
Шаг 7. Создайте набор записей CNAME
В поле «Имя» введите часть имени хоста URL-адреса, который вы использовали при присвоении имени корзине S3. «Часть имени хоста» URL-адреса - это все, что находится слева от имени вашей размещенной зоны. Я назвал свою корзину S3 «url-redirect-example.vivekmchawla.com», а мою размещенную зону - «vivekmchawla.com», поэтому мне нужно ввести часть имени хоста «url-redirect-example».
Выберите «CNAME - Каноническое имя» в качестве типа этого набора записей.
В качестве значения вставьте URL-адрес конечной точки сегмента S3, который мы создали на шаге 3.
Нажмите кнопку «Создать набор записей». Предполагая, что ошибок нет, теперь вы сможете увидеть новую запись CNAME в списке наборов записей вашей размещенной зоны.
Шаг 8. Протестируйте новую переадресацию URL
Откройте новую вкладку браузера и введите только что созданный URL-адрес. Для меня это http://url-redirect-example.vivekmchawla.com . Если все работает правильно, вы должны быть отправлены прямо на страницу входа в AWS.
Поскольку мы использовали myaccount.signin.aws.amazon.com
псевдоним в качестве целевого URL-адреса перенаправления, Amazon точно знает, к какой учетной записи мы пытаемся получить доступ, и перенаправляет нас прямо туда. Это может быть очень удобно, если вы хотите предоставить сотрудникам или подрядчикам короткую, понятную, фирменную ссылку для входа в AWS.
Выводы
Мне лично нравятся различные сервисы AWS, но если вы решили перенести управление DNS на Amazon Route 53, отсутствие простой переадресации URL-адресов может расстроить. Надеюсь, это руководство помогло немного упростить настройку переадресации URL-адресов для ваших размещенных зон.
Если вы хотите узнать больше, посетите следующие страницы сайта документации AWS.
Ура!