У меня есть несколько инстансов Amazon EC2, все под управлением Ubuntu, которые я хотел бы настроить для использования Amazon Route 53.
Я настраиваю сценарий, следуя предложению Шломо Свидлера статья, но столкнулся с проблемами, связанными со скриптом, на которые был дан ответ Вот. Теперь у меня работает скрипт, но единственные CNAMES, добавляемые скриптом в Route 53, - это идентификаторы экземпляров Amazon (i-abcd1234.mydomain.com).
Согласно статье Swidler, сценарий позволяет Route 53 принимать тег «ShortName», давая каждому экземпляру «дружественный» CNAME. У меня есть теги ShortName, добавленные ко всем моим экземплярам, но они не были приняты Route 53.
Вот мой сценарий:
#!/bin/tcsh -f
set root=`dirname $0`
setenv EC2_HOME /usr/lib/ec2-api-tools
setenv EC2_CERT /etc/cron.route53/ec2_x509_cert.pem
setenv EC2_PRIVATE_KEY /etc/cron.route53/ec2_x509_private.pem
setenv AWS_ACCESS_KEY_ID myaccesskeyid
setenv AWS_SECRET_ACCESS_KEY myaccesskey
/usr/bin/ec2-describe-instances | \
perl -ne '/^INSTANCE\s+(i-\S+).*?(\S+\.amazonaws\.com)/ \
and do { $dns = $2; print "$1 $dns\n" }; /^TAG.+\sShortName\s+(\S+)/ \
and print "$1 $dns\n"' | \
perl -ane 'print "$F[0] CNAME $F[1] --replace\n"' | \
xargs -n 4 /etc/cron.route53/cli53/cli53.py \
rrcreate -x 60 mydomain.com
Кто-нибудь еще это пробовал? Что может мешать Route 53 улавливать теги "ShortName"?
Скрипт работает в моей среде. Скорее всего, это несоответствие между выводом ec2-description-instance и кодом perl в опубликованном вами скрипте.
Самая простая возможность - если регистр в имени вашего тега не соответствует регистру, указанному в сценарии. Опубликованный вами скрипт требует "ShortName" с заглавной S и заглавной N. "Shortname" и "shortname" не совпадают.
Другая возможность состоит в том, что ваши ec2-api-tools имеют версию до 31 августа 2010 года, когда была добавлена поддержка тегов. В этом случае строки, начинающиеся с «TAG», не появятся, и поэтому этот скрипт их не увидит. Если вы не используете Ubuntu 10.10, в пакете ec2-api-tools по умолчанию не будет этого последнего кода. Лучше всего в этом случае просто загрузить последнюю версию с официальная страница загрузки инструментов API EC2.
Если ни одна из этих проблем не является проблемой, не могли бы вы дать нам образец вывода /usr/bin/ec2-describe-instances <instance-id>
например, у вас возникли проблемы?