A opção 1 não funcionará com sites hospedados no S3, pois o que o S3 vê no cabeçalho Host:
da solicitação HTTP de entrada deve corresponder exatamente ao nome do bloco e definir uma duplicata A registro não vai resolver o seu problema.
A opção 2 não funcionará pelo mesmo motivo: a solicitação nunca chegará ao bloco que contém as regras de redirecionamento, exceto para solicitações direcionadas ao nome real do intervalo. A resposta a qual você se conectou não é nada mais do que a "maneira difícil" de fazer a Opção 6 e requer um depósito por nome de host.
A opção 3 não é útil porque os registros PTR não causam redirecionamentos do navegador. Geralmente usado para DNS reverso, Um registro PTR não tem aplicativo neste contexto.
Opção 4 Go Daddy tem opções chamadas "Domain Forwarding" e "Subdomain Forwarding", mas isso significa que você precisa ter seu DNS hospedado por Go Daddy, não apenas ter seu domínio registrado lá (essas são duas coisas diferentes, mas não necessariamente, vamos juntos). Se é isso que você tem agora, é possível "encaminhar" o subdomínio "www" (www.example.com) para o ápice (example.com) que o Go Daddy realiza criando registros A ou CNAME para www.example.com que apontam para seus próprios servidores da Web, que geram redirecionamentos HTTP 301 ou 302 para o link . Se o seu DNS estiver hospedado com o Go Daddy e não no Route 53, essa provavelmente é a opção mais simples, mas se o DNS não estiver hospedado com o Go Daddy, essa opção não estará disponível. Como você está usando o ápice do seu domínio como um site da Web no S3, suponho que seu DNS esteja hospedado no Route 53, o que significa que isso não funcionará.
A opção 5 parece ser uma má ideia, introduzindo um terceiro desnecessário na equação, mas mais importante, resolve o problema errado. Eles não redirecionam www.example.com para example.com e redirecionam example.com para www.example.com.
A opção 6 é uma boa opção, com as desvantagens mencionadas, em relação ao número limitado de intervalos disponíveis para cada conta da AWS.
Se você tiver vários domínios diferentes, uma outra opção seria alocar um endereço IP elástico no EC2 (para que você tenha um endereço IP de terminal estático que não será alterado) e, em seguida, instale uma instância Micro vinculada a ele. Endereço IP e instale HAProxy nele. O HAProxy é realmente projetado para front-end de servidores web reais e tráfego de balanceamento de carga para eles a partir do mundo exterior, mas também tem a capacidade de gerar redirecionamentos. A configuração não é terrivelmente complicada, e o HAProxy é muito eficiente com CPU, então eu esperaria que você fizesse muito trabalho com um Micro, mas sempre poderia escalá-lo para uma instância maior se o tráfego fizesse isso necessário.
Você configuraria um ouvinte de front-end na porta 80:
frontend main
bind *:80
E, para cada domínio, crie uma lista de controle de acesso (acl) para observar solicitações contendo esse nome de host no cabeçalho HTTP "Host" ...
acl www.example.com hdr(host) -i www.example.com
... então configure um redirecionamento para gerar um 301 para o hostname desejado.
redirect prefix http://example.com if www.example.com
No DNS, você configura www.example.com com um registro A apontando para o endereço IP público elástico dessa instância Micro.
Com essa configuração, o caminho é preservado, portanto, uma solicitação enviada para qualquer caminho, com o link ser atendido com um redirecionamento HTTP 301 para o mesmo caminho exato no outro domínio, como link .
Você pode fazer coisas parecidas com um servidor web real rodando em uma máquina, como Nginx ou Apache, mas o HAProxy é uma ferramenta muito pesada e leve que parece bastante apropriada para tal tarefa, e gerando redireciona assim, esta é uma das coisas que eu uso nas minhas operações.