Por que usar o CNAME na combinação Route 53 + S3

2

Eu tenho passado pelos documentos da Amazon ao usar o Route 53 em conjunto com o S3 para servir sites estáticos.

A estratégia que eles mostram é fazer:

example.com A -> alias to s3-website-eu-west-1.amazonaws.com (example.com bucket)
www.example.com CNAME -> www.example.com.s3-website-eu-west-1.amazonaws.com

example.com bucket está definido para hospedar conteúdo estático e www.example.com bucket está definido para fazer um redirecionamento permanente para example.com .

Tudo bem e funciona, mas como estou tentando aprender e entender como o DNS funciona em detalhes, não entendo por que eles simplesmente não funcionam:

example.com A -> alias to s3-website-eu-west-1.amazonaws.com (example.com bucket)
www.example.com A -> alias to s3-website-eu-west-1.amazonaws.com (www.example.com bucket)

Isso não ajudaria a reduzir uma etapa extra de resolução de DNS ( A de www.example.com.s3-website-eu-west-1.amazonaws.com )?

Existe algum benefício em usar o CNAME aqui, considerando que o Route 53 tem a capacidade de alias diretamente para buckets?

Para ser claro, usar o CNAME funciona, mas estou tentando entender academicamente por que eles não sugerem o uso de um alias.

    
por Max 25.07.2014 / 15:33

2 respostas

1

Eu acho que em termos de entender como o DNS funciona, é importante notar que não existe esse Alias registro que eles recomendam para example.com , que é inteiramente um recurso Route53 onde eles nos bastidores resolvem o nome especificado e expõem um registro padrão A no DNS (qualquer tipo de registro escolhido quando você o criou, mas no exemplo deles é um A ).

Por que eles escolheram não recomendar o uso do recurso Alias para www.example.com também não é totalmente óbvio. Talvez seja simplesmente menos sobrecarga em sua extremidade, se você usar um registro estático regular? Talvez eles considerem um registro estático regular para ser mais robusto? Talvez haja outros registros além de A at www.example.com.s3-website-eu-west-1.amazonaws.com que idealmente deveriam existir, mas que eles não acham que podem pedir para você adicionar um por um como aliases ( CNAME torna o nome um alias do outro, independentemente de tipo de registro solicitado)?

O oposto, usando CNAME em ambos os casos, não é uma opção. Como os registros CNAME não podem coexistir com outros dados, nunca é possível ter um CNAME no ápice da zona, pois há sempre pelo menos SOA e NS registra lá.

    
por 25.07.2014 / 16:19
1

Eu não sei o material amazon, mas no doc, eles falam do registro de alias e do registro CNAME. ambos são iguais. Um CNAME mapeia um FQDN para outro FQDN. Para mim, esta é a definição de um alias (outro nome para a mesma coisa). Um registro A mapeia somente para um endereço IPv4 (cf RFC1035 )

observe que www.example.com e example.com são 2 FQDNs distintos e não há a priori nenhum motivo para serem mapeados com o (s) mesmo (s) endereço (s) IP. (por exemplo, fdn.fr não tem um registro A nem um CNAME, enquanto o www.fdn.fr tem um CNAME) este material complicado só é necessário "se você quiser servir conteúdo do seu domínio raiz". Dessa forma, tanto example.com quanto www.example.com devem mapear para o mesmo endereço IP. Uma maneira conveniente de fazer isso é configurar um (por exemplo, example.com) conforme desejado e colocar um registro CNAME para o outro (www.example.com IN CNAME example.com).

Para ver o que eles configuram para você, tente resolver seu nome de domínio (sua zona raiz - example.com - e seu assim chamado alias --www.example.com--) com as ferramentas apropriadas (dig ou nslookup):

dig +trace www.example.com any
dig +trace example.com any

Eu não sei o equivalente nslookup (como eu uso dig)

    
por 25.07.2014 / 16:21