Tutorial Amazon Route 53

Tutorial Amazon Route 53

Tutorial Amazon Route 53

 

ACTUALIZACIÓN: (17/11/2011)  Amazon acaba de anunciar que ha incluido la gestión de Route53 desde la consola de gestión. Sin duda un gran avance que facilita enormemente la gestión DNS.

 

Amazon Web Services no para de sacar productos interesantes y económicos. Si las bases de datos se volvieron más simples con Amazon RDS, ahora “desaparece” el problema de la gestión DNS (más bien, se simplifica bastante) con Amazon Route 53.

Voy a explicar cómo podemos hacer un uso sencillo de Route 53 para nuestra pequeña web en nube. Vamos a suponer que tenemos corriendo una instancia de EC2 con la IP elástica 123.123.123.123.

A día hoy no se puede gestionar Route 53 desde la consola de AWS. Hay que recurrir a invocar directamente los servicios web mediante cURL.

Como ocurre en muchas ocasiones, la comunidad SL va por delante de las corporaciones y ya existe una utilidad CLI que nos permite operar con Route 53 de una manera más sencilla.

La utilidad se llama cli53 y ha sido desarrollada por bee11149. Lo primero que haremos será instalar tanto la utilidad como sus prerequisitos (Boto y dnspython).

git clone git://github.com/boto/boto && cd boto && python setup.py install
easy_install dnspython
git clone git://github.com/barnybug/cli53

En la primera línea instalamos Boto (Control de Amazon Web Services para Python).
Luego se instala dnspython y por último nos descargamos la utilidad cli53.

Para que funcione cli53, debemos establecer dos variables de entorno con nuestros credenciales de acceso a AWS.


export AWS_ACCESS_KEY_ID=<nuestra_clave_id>
export AWS_SECRET_ACCESS_KEY=<nuestra_clave_privada>
cd cli53

Ya esta preparado el entorno para empezar a usar cli53. Lo primero que haremos será crear nuestra hostedzone. Vamos a suponer que nuestro dominio es caramelos.com y queremos poder acceder a la web mediante “caramelos.com” y “www.caramelos.com”

./cli53.py create caramelos.com

Si todo va bien, nos debe devolver algo similar a esto:

HostedZone:
CallerReference: xxxxxxxx-8efb-4947-yyyy-53489dxxxxxxx
Config:
Comment:
Id: /hostedzone/Z2JZCX7IR3C3O9
Name: caramelos.com.
ChangeInfo:
Status: PENDING
SubmittedAt: 2010-12-21T10:16:05.719Z
Id: /change/C2JH25LA6TOVE9
DelegationSet:
NameServers:
- ns-739.awsdns-28.net
- ns-118.awsdns-14.com
- ns-1414.awsdns-48.org
- ns-1829.awsdns-36.co.uk

Esta información nos indica que se ha creado correctamente la hostedzone con ID Z2JZCX7IR3C3O9 (línea 5), que esta pendiente de sincronizar (8) y nos da
los servidores DNS a donde debemos apuntar el dominio (13-16).  Ahora debemos de contactar con el registrador de nuestro dominio “caramelos.com” y especificar estos servidores DNS.
Lo normal es que dejen establecer entre 2 y 4 servidores. A más servidores, mayor disponibilidad.

Por último, necesitamos crear las entradas DNS para que se pueda acceder a nuestra web. Recordemos que la IP del servidor donde tenemos nuestra web es 123.123.123.123.  Vamos a crear una entrada tipo A y otra CNAME. En formato BIND sería:

 

./cli53.py rrcreate caramelos.com @ A 123.123.123.123 --ttl 3600
./cli53.py rrcreate caramelos.com www CNAME caramelos.com --ttl 3600

Con la primera linea creamos un registro A que mapea nuestro dominio (caramelos.com, representado por @) a la IP 123.123.123.123, mientras que
con la segunda, asociamos el nombre http://www.caramelos.com a caramelos.com usando un registro CNAME. El parametro TTL (Time to live) sirve para indicar con
qué frecuencia se debería de refrescar la lectura de dicho registro por parte de clientes DNS.

Si todo ha ido bien, después de darle un tiempo para que se sincronice toda la cadena DNS, nuestro navegador web deberia mostrar la página si introducimos
caramelos.com” o “http://www.caramelos.com“.

Aquí podéis obtener más información sobre los distintos tipos de registros DNS.
¡A migrar DNS!🙂

17 Responses to Tutorial Amazon Route 53

  1. Pingback: AirisPC » Blog Archive » Tutorial Amazon Route 53 « RoblesHermoso – TechnoBot

  2. Pingback: Articulo Indexado en la Blogosfera de Sysmaya

  3. Felicidades por el “post” Muy útil.

    Por cierto, tengo rato programando con python y específicamente con boto. Un “tip” es utilizar el archivo -> .boto donde se pueden poner las access keys.

    Saludos.
    Domingo Aguilera
    @jdaguilera

    • Chema dice:

      Gracias Domingo,

      Interesante tip, simplifica un poco el escenario.
      Saludos.

  4. Edson dice:

    Muchas gracias, super bien la explicacion, la segui paso a paso y funciono perfecto

  5. Luis Manuel dice:

    Hola.
    Lo primero grácias por tu artículo, estoy comenzando con mi cuenta micro de aws y me encuentro un poco perdido, y estos tutoriales vienen bien.
    Tengo una duda (o varias), estoy pensando en migrar mi nombre de dominio a amazon, y el precio que pone en la web de Amazon es de 1$ por mes por cada zona hospedada. No se si se refiere a cada nombre que yo quiera migrar a sus servidores, o a otra cosa. Ya que me parece un poco caro con respecto a lo que cobran otros servícios de DNS. Ya que supone unos 12 dólares por año, más 0.5$ por cada millón de consultas. Literalmente reza:
    “…
    Hosted Zones

    $1.00 per hosted zone / month

    The monthly hosted zone price listed above is not prorated for partial months. A hosted zone is charged $1.00 upon set-up and $1.00 on the first day of each subsequent month. To allow testing, a hosted zone that is deleted within 12 hours of creation is not charged; however, any queries on that zone will be charged at the rates below.

    Queries

    $0.50 per million queries – first 1 Billion queries / month
    $0.25 per million queries – over 1 Billion queries / month
    …”

    Muchas grácias, y continúa con estos artículos.

    • Chema dice:

      Gracias Luis Manuel,
      Si, es $1 por zona, es decir, *.dominio.com.
      Sobre el precio, para mi está más que ajustado.
      Depende mucho del proyecto. Si tu proyecto es una web empresarial con un portfolio, formulario de contacto y poco más, con casi cualquier hosting decente te vale.

      Ahora bien, si por ejemplo tienes un sistema de reporting que genera PDFs, extranet corporativa, o web con streaming de video, Amazon Web Services puede ser más apropiado.

      En ese caso es cuando empieza los problemas. Si uno quiere hacer la propia gestión DNS su zona, lo más normal es que use BIND. La configuración de BIND no es trivial y suele dar quebraderos de cabeza. Además de esto, hay que añadir que controlar que el servicio este siempre arriba es tedioso y requiere de alguna configuración y herramientas adicionales para evitar DoS.

      En definitiva, para proyectos que se salen del ámbito de hosting, usuaria AWS Route 53 sin pensarmelo.

      Además ahora implementan RoundRobin, muy útil si tu aplicación escala.

      Saludos.

  6. Luis Manuel Ruiz dice:

    Muy aclarador, muchas gracias.
    Tengo otra duda (cada día me sale una nueva), una vez que tengo una zona registrada , ¿podría gestionar otros dominios a través de BIND?.
    Por ejemplo registro la zona “servidor.com” que tengo registrada con mi proveedor actual a Route 53, e instalo un servidor BIND en mi instancia. Quiero saber si luego yo podría migrar otras zonas de terceros y gestionarlas con BIND. O es necesario que el servidor tenga alguna característica, o permiso especial.
    Por ejemplo yo creo mi zona, y luego gestiono otros proyectos para terceros con sus propios domínios. No se si podría migrar los dominios de estos proyectos a mi servidor BIND y servir yo tanto el alojamiento como las dns de esos clientes.
    No controlo bien el tema y no se si me he explicado bien.

    Muchas gracias, de nuevo.

    • Chema dice:

      Buenas Luis Manuel,

      Una instancia de EC2 se comporta como un sistema abierto a Internet. Puedes instalar lo que quieras. En el caso de BIND, además de instalar el sw correspondiente tendrás que habilitar el correspondiente puerto 53 en el firewall.

      Luego asignando un par de direcciones IP elásticas a tu “host” ser suficiente. Por cada dominio que quieras gestionar, tendrás que poner esas ip como namserver en la configuración DNS del ISP. Luego tendrás que hacer una configuración BIND para cada zona, con los respectivos registros NS (como n1.servidor.com y n2.servidor.com).

      Este tipo de configuración es muy típica de servidores VPS.

      Espero que te ayude🙂

      Saludos.

  7. Muy buen artículo, ¿puedes aconsejar un registrador de dominio para ec2?

    Saludos.

    • Chema dice:

      Buenas Andrés,
      Pues concretamente para EC2 desconozco si alguno funciona mejor que otro.
      Mi cartera de dominio la tengo diversificada entre varios registradores. Últimamente me pregunto si me sale más rentable hacerme reseller.
      Me gustan los registradores con un buen panel de control, que permitan redirecciones si es necesario, con Auth codes desde el panel de Control y especificación
      de hasta 4 servidores DNS.

      Por citar nombres concretos, me gusta piensasolutions (es como un Arsys “low-cost”) y dondominio.com (precio bajo),
      ¿cuáles te gustan o usas tú?

      Un saludo.

  8. Hello friends,
    Good experience to work with Route53 services.We have developed a UI tool for this service – DNS30 Professional Edition.Web Interface for the same is also available.
    http://www.dns30.com/

  9. lucas dice:

    hola, soy nuevo en esto y voy a hacer una pregunta, seguramente muy tonta: cli53 debe ser instalado desde cualquier equipo con linux o debe ser instalado en un equipo virtualizado corriendo en AWS??

    • Chema dice:

      Hola Lucas,

      Pues es independiente. Como es Python, deberia de funcionar también desde un equipo con Windows (no lo he probado).

      Un saludo

  10. Julian dice:

    Excelentemente explicado. Gracias por el aporte.

  11. Felipe dice:

    Hola, estoy tratando de seguir los pasos (soy usuario novato) pero la primera linea no me funciona estara bien escrita? puedes revisarla por favor?

    1 git clone git://github.com/boto/boto && cd boto && python setup.py install
    2 easy_install dnspython
    3 git clone git://github.com/barnybug/cli53

    • Chema dice:

      Hola Felipe.

      Parece que está bien escrita, ¿tienes instalado GIT?
      De todas formas, AWS ya incluye en su consola, la gestión de Route 53. Si tu objetivo es una gestión rápida DNS, te recomiendo usar dicha consola.

      Saludos.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: