Eu estava enfrentando exatamente o mesmo problema que Saurav descreveu, mas realmente precisava encontrar uma solução que não exigisse nada além de Route 53 e S3. Criei um guia de instruções para o meu blog detalhando o que fiz.
Aqui está o que eu criei.
Objetivo
Usando apenas as ferramentas disponíveis no Amazon S3 e Amazon Route 53, crie um redirecionamento de URL que encaminha automaticamente http://url-redirect-example.vivekmchawla.com para a página de login do AWS Console com o alias "MyAccount", localizado em https : //myaccount.signin.aws.amazon.com/console/ .
Este guia ensinará a configurar o encaminhamento de URL para qualquer URL, não apenas para a Amazon. Você aprenderá como configurar o encaminhamento para pastas específicas (como "/ console" no meu exemplo) e como alterar o protocolo do redirecionamento de HTTP para HTTPS (ou vice-versa).
Etapa 1: Crie seu balde S3
Abra o console de gerenciamento S3 e clique em "Criar bucket".
Etapa 2: Nomeie seu balde S3
Escolha um nome de bloco. Este passo é realmente importante! Você deve nomear o intervalo EXATAMENTE o mesmo que o URL que deseja configurar para o encaminhamento. Para este guia, usarei o nome "url-redirect-example.vivekmchawla.com".
Selecione qualquer região que funcione melhor para você. Se você não souber, mantenha o padrão.
Não se preocupe em configurar o log. Basta clicar no botão "Criar" quando estiver pronto.
Etapa 3: habilitar a hospedagem estática de sites e especificar regras de roteamento
- Na janela de propriedades, abra as configurações de "Static Website Hosting".
- Selecione a opção "Ativar hospedagem de sites".
- Digite um valor para o "Documento de Índice". Este objeto (documento) nunca será veiculado pelo S3 e você nunca precisará carregá-lo. Basta usar o nome que quiser.
- Abra as configurações para "Editar regras de redirecionamento".
Cole o seguinte fragmento XML na sua totalidade.
<RoutingRules>
<RoutingRule>
<Redirect>
<Protocol>https</Protocol>
<HostName>myaccount.signin.aws.amazon.com</HostName>
<ReplaceKeyPrefixWith>console/</ReplaceKeyPrefixWith>
<HttpRedirectCode>301</HttpRedirectCode>
</Redirect>
</RoutingRule>
</RoutingRules>
Se você estiver curioso sobre o que o XML acima está fazendo, visite a documentação do AWM para "Sintaxe para especificar regras de roteamento" . Uma técnica de bônus (não abordada aqui) é encaminhada para páginas específicas no host de destino, por exemplo http://redirect-destination.com/console/special-page.html
. Leia sobre o <ReplaceKeyWith>
elemento se precisar dessa funcionalidade.
Etapa 4: anote o "ponto final" do seu bucket de redirecionamento
Anote o "ponto final" do Static Website Hosting que a Amazon criou automaticamente para este bucket. Você precisará disso para mais tarde, então destaque o URL inteiro e copie e cole-o no bloco de notas.
CUIDADO! Nesse ponto, você pode realmente clicar neste link para verificar se suas Regras de redirecionamento foram inseridas corretamente, mas tenha cuidado! Aqui está o porquê...
Digamos que você inseriu o valor errado nas <Hostname>
tags em suas Regras de redirecionamento. Talvez você tenha digitado acidentalmente myaccount.amazon.com
, em vez de myaccount.signin.aws.amazon.com
. Se você clicar no link para testar o URL do terminal, a AWS terá o prazer de redirecionar seu navegador para o endereço errado!
Depois de perceber seu erro, você provavelmente editará as <Hostname>
Regras de redirecionamento para corrigir o erro. Infelizmente, ao tentar clicar no link novamente, você provavelmente acabará sendo redirecionado para o endereço errado! Mesmo que você tenha corrigido a <Hostname>
entrada, seu navegador está armazenando em cache a entrada anterior (incorreta!). Isso acontece porque estamos usando um redirecionamento HTTP 301 (permanente), que navegadores como Chrome e Firefox armazenam em cache por padrão.
Se você copiar e colar o URL do terminal em um navegador diferente (ou limpar o cache do atual), você terá outra chance de ver se sua <Hostname>
entrada atualizada é finalmente a correta.
Para garantir, se você quiser testar o URL do terminal e as regras de redirecionamento, abra uma sessão de navegação privada, como "Modo de navegação anônima" no Chrome. Copie, cole e teste o URL do nó de extremidade no modo de navegação anônima e tudo o que estiver em cache desaparecerá assim que você fechar a sessão.
Etapa 5: Abra o console de gerenciamento Route53 e vá para os conjuntos de registros da sua zona hospedada (nome de domínio)
- Selecione a Zona Hospedada (nome de domínio) que você usou quando criou seu bucket. Como nomeei meu bucket "url-redirect-example.vivekmchawla.com", selecionarei a zona hospedada de vivekmchawla.com.
- Clique no botão "Ir para conjuntos de registros".
Etapa 6: Clique no botão "Criar conjunto de registros"
Clicar em "Criar conjunto de registros" abrirá a janela Criar conjunto de registros no lado direito do console de gerenciamento do Route53.
Etapa 7: Criar um conjunto de registros CNAME
No campo Nome, digite a parte do nome do host da URL que você usou ao nomear seu bucket S3. A "parte do nome do host" da URL é tudo à esquerda do nome da sua zona hospedada. Chamei meu bucket S3 de "url-redirect-example.vivekmchawla.com" e minha Zona Hospedada é "vivekmchawla.com", portanto, a parte do nome do host que preciso inserir é "url-redirect-example".
Selecione "CNAME - Nome canônico" para o Tipo deste conjunto de registros.
Para o Valor, cole no URL do nó de extremidade do bloco S3 que criamos na Etapa 3.
Clique no botão "Criar conjunto de registros". Supondo que não haja erros, agora você poderá ver um novo registro CNAME na lista de conjuntos de registros da sua zona hospedada.
Etapa 8: teste seu novo redirecionamento de URL
Abra uma nova guia do navegador e digite o URL que acabamos de configurar. Para mim, é http://url-redirect-example.vivekmchawla.com . Se tudo deu certo, você deve ser enviado diretamente para uma página de login da AWS.
Como usamos o myaccount.signin.aws.amazon.com
alias como URL de destino do redirecionamento, a Amazon sabe exatamente qual conta estamos tentando acessar e nos leva diretamente para lá. Isso pode ser muito útil se você deseja fornecer um link de login da AWS curto, limpo e com marca para funcionários ou contratados.
Conclusões
Pessoalmente, adoro os vários serviços da AWS, mas se você decidiu migrar o gerenciamento de DNS para o Amazon Route 53, a falta de encaminhamento fácil de URL pode ser frustrante. Espero que este guia tenha ajudado a facilitar a configuração do encaminhamento de URL para suas zonas hospedadas.
Se você quiser saber mais, consulte as seguintes páginas do site de documentação da AWS.
Felicidades!