Hospede um site estático no Amazon S3, com domínio personalizado e SSL

Faça login em sua conta AWS em aws.amazon.com :

Configuração S3

Primeiro, vá em frente e crie um bucket S3 com o mesmo nome do seu nome de domínio, por exemplo. www.example.com. Habilite o recurso chamado static website hostingclicando em enable website hostinge forneça um documento de índice adequado (como index.html)

IMPORTANTE: anote o endpoint do site S3. Eles diferem dos pontos de extremidade S3 regulares .

NOTA: Não se esqueça de tornar seus arquivos públicos ao carregá-los para o balde S3!

Instalar certificado SSL

Em seguida, precisamos fazer upload do certificado SSL que você comprou para o seu domínio (por exemplo, através de ssls.com ). Atualmente, só é possível por meio do AWS Command Line Utility. Se você estiver no OSX, pode instalá-lo através do homebrew :

$ brew install awscli
$ aws iam upload-server-certificate --server-certificate-name certificate_object_name --certificate-body file://public_key_certificate_file --private-key file://privatekey.pem --certificate-chain file://certificate_chain_file --path /cloudfront/

NOTA: Não se esqueça de digitar file://antes do nome do arquivo ou não funcionará!

Para obter mais detalhes sobre o processo de upload, consulte o Guia AWS

Configurar Cloudfront

A seguir, crie uma nova distribuição do Cloudfront :

  • Nome de domínio de origem : insira o endpoint do bucket do site S3 que você acabou de criar
  • Política de protocolo do visualizador : selecione Redirecionar HTTP para HTTPS
  • Nomes de domínio alternativos (CNAMEs) : digite o domínio que deseja usar, por exemplo.www.example.com
  • Certificado SSL : selecione o certificado SSL personalizado e, em seguida, aquele que você carregou na etapa anterior
  • Suporte de cliente SSL personalizado : selecione apenas clientes que suportam indicação de nome de servidor (SNI)
  • Objeto raiz padrão : tipoindex.html

para todas as outras opções, o padrão deve ser adequado

Configurar DNS

Por último, vá para o Route 53 e crie uma zona hospedada para seu domínio (se ainda não tiver feito isso). Em seguida, crie um novo conjunto de registros:

  • Nome : seu domínio. É importante que corresponda ao CNAME que você inseriu quando criou a distribuição Cloudfront, por exemplo.www.example.com
  • Tipo : A – Endereço IPv4
  • Alias : Sim
  • Alias ​​de destino : selecione a distribuição cloudfront que você criou acima.

Tudo feito! Agora você deve ter um novo site estático com SSL em execução.

Dica bônus

Este é um ajuste perfeito para hospedar sites gerados pela excelente estrutura de intermediários . O plugin middleman s3 sync torna as implantações no S3 muito fáceis!