Estou trabalhando em um pequeno webapp (todo do lado do cliente) e quero hospedá-lo no Amazon S3. Encontrei vários guias sobre isso e consegui criar um bucket (com o mesmo nome do meu domínio), configurá-lo como um site e fazer upload de algum conteúdo.
Onde estou tendo dificuldades, e onde toda a documentação começa a ficar um pouco vaga, é como configurar corretamente meu DNS.
Tudo o que meu registrador ( 123-reg ) poderia sugerir foi o encaminhamento pela web, o que me deu mydomain.com.s3.amazonaws.com
O que devo configurar e onde (por exemplo, 123-reg / Amazon) posso obter um URL limpo?
dns
amazon-s3
amazon-web-services
hosting
Merlin Mason
fonte
fonte
Respostas:
Parece que você já fez a maior parte do trabalho. Para maior clareza, repassarei essas etapas apenas para ter certeza de que você está configurado corretamente:
Crie um intervalo s3 usando seu nome de domínio como o nome do intervalo (o nome do intervalo deve ser www.example.com se você quiser que seu site seja example.com ou www.example.com)
Faça upload do seu conteúdo para o balde s3. Escolha um nome consistente para os arquivos de índice do seu site (geralmente index.html). Você também pode fazer upload de uma página personalizada para erros 404 Not Found. Chame isso de 404.html. Conceda permissões de leitura a todos os arquivos do seu site para que o público possa visualizá-los. Não dê nenhuma permissão extra para o intervalo, apenas os arquivos dentro dele.
Configure seu balde como um site. Com o console da AWS ( https://console.aws.amazon.com/s3/ ), você pode selecionar seu bucket, clicar em propriedades e selecionar a guia "Site". Clique em ativado e defina o seu documento de índice como "index.html" e o seu documento de erro como "404.html". Você também precisará definir seu intervalo com permissões de acesso para permitir o acesso pela web ( http://docs.amazonwebservices.com/AmazonS3/latest/dev/WebsiteAccessPermissionsReqd.html )
Anote o URL "Endpoint" na guia de configuração do site. É aqui que vive o seu site. Você pode abrir o link em uma nova janela e deverá ver o seu site exatamente como ele será. Clique ao redor e verifique se tudo funciona conforme o esperado.
Você DEVE usar o endereço do terminal em todas as etapas abaixo. O www.example.com.s3.amazonaws.com normal não funcionará - você precisa usar a versão regional ( http://www.example.com.s3-website-us-east-1.amazonaws.com/ )
Agora, podemos configurar o DNS para fornecer um URL limpo e personalizado.
Primeiro, mapearemos www.example.com para seu site.
Usando as ferramentas do seu provedor de DNS, (123-reg no seu caso) você precisa criar um registro CNAME para mapear www.example.com para www.example.com.s3-website-us-east-1.amazonaws.com
O CNAME é a única coisa de que você precisa se quiser apenas www.example.com. A maioria das pessoas também deseja que "example.com" funcione, por isso precisamos de outra etapa.
example.com é frequentemente referido como um domínio simples ou o registro apex do domínio. Isso é um problema porque não pode ser um CNAME. CNAMEs funcionam apenas em subdomínios como "www." Isso torna mais difícil apontar para s3.
A abordagem usual é usar um serviço para redirecionar automaticamente qualquer solicitação indo para example.com para apontar para www.example.com. Isso irá coletar seu registro CNAME e seu site será servido a partir de s3.
O redirecionamento automático não é possível com o DNS simples e antigo, portanto, você precisa usar outro serviço. Alguns provedores de DNS oferecem este serviço junto com seu DNS (godaddy oferece, amazon route53 não. Não tenho certeza sobre 123-reg)
Se o seu provedor de DNS não fizer isso, existem alguns serviços gratuitos. Um que usei é http://wwwizer.com/naked-domain-redirect - não requer nenhum registro ou pagamento.
Para usar este tipo de serviço, você precisa criar um registro DNS "A" para seu domínio sem www. Para o serviço wwwizer.com, você precisaria criar um registro A para apontar example.com para 174.129.25.170. Isso é tudo!
Portanto, com essa configuração, se um usuário digitar example.com em seu navegador, acontecerá o seguinte:
Aproveitar!
fonte
Acredito que você deve selecionar todos os documentos em seu intervalo, clicar com o botão direito e escolher "Tornar público". Você também deve fazer isso sempre que algo mudar no balde. Em seguida, geralmente clico com o botão direito do mouse no intervalo, escolho as propriedades, escolho as permissões no painel direito e, em seguida, adiciono "Todos como" beneficiados "e dou a eles apenas permissões de" lista ". O resto do seu artigo é excelente. A parte sobre o domínio sem www ajudou me resolver meus problemas. Você também pode redirecionar o domínio sem www para o domínio www dentro do S3 em "Hospedagem de sites estáticos". É provavelmente a maneira mais fácil. Obrigado novamente por toda a sua ajuda.
Tim
fonte
Atualização 2019
A partir de hoje, a seguinte configuração de DNS funcionou para que o site estático do AWS S3 funcionasse:
fonte
Na tela DNS avançado do painel de controle do 123-reg
Isso me deu o seguinte;
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
Do pdf do guia Gerenciar DNS , diz que o "registro @" se refere a "seu domínio em sua forma mais pura, sem subdomínio", ou seja, o domínio simples stackoverflow.com
Mas não menciona o que é o "* registro", presumi que seria para capturar todos os subdomínios e pensei que poderia substituir o registro CNAME, mas não parece ser o caso.
fonte