#bash #amazon-web-services #shell #aws-cli
#bash #amazon-веб-сервисы #оболочка #aws-cli
Вопрос:
У меня есть следующий код:
project_record_batch='{
"Comment": "Testing creating a record set",
"Changes": [{
"Action": "CREATE",
"ResourceRecordSet": {
"Name": "domain.com",
"Type": "A",
"TTL": 120,
"ResourceRecords": [ { "Value": "18.xxx.xxx.xxx" } ]
}
}]
}'
aws route53 change-resource-record-sets
--hosted-zone-id "/hostedzone/Z..."
--change-batch "${project_record_batch}"
--region eu-west-2
он возвращает следующую ошибку:
An error occurred (InvalidChangeBatch) when calling the ChangeResourceRecordSets operation:
[RRSet with DNS name domain.com. is not permitted in zone 47domain.com47.]
Я пытался:
- Создание
--hosted-zone-id
справедливогоZ...
, - Сохранение набора записей в файл и использование
--change-batch file://record-set.json
, - Прикрепление завершающего
.
элемента кName
(т.е.domain.com.
) - Комбинаторный из вышеперечисленного
Что я делаю не так?
Также просто попробовал следующее для пакетной полезной нагрузки:
project_record_batch='{
"Comment": "Testing creating a record set",
"Changes": [{
"Action": "CREATE",
"ResourceRecordSet": {
"Name": "domain.com.",
"Type": "A",
"AliasTarget": {
"HostedZoneId": "Z...",
"DNSName": "18.xxx.xxx.xxx",
"EvaluateTargetHealth": false
}
}
}]
}'
который дал следующее:
An error occurred (InvalidChangeBatch) when calling the
ChangeResourceRecordSets operation: [Tried to create an alias that
targets 18.xxx.xxx.xxx., type A in zone Z...,
but the alias target name does not lie within the target zone,
Tried to create an alias that targets 18.xxx.xxx.xxx., type A in
zone Z..., but that target was not found, RRSet
with DNS name domain.com. is not permitted in zone
domain.com47.]
Ответ №1:
Оказывается, что при программном создании зоны размещения DNS я неправильно процитировал переменную для имени домена, отсюда и странный 47
материал, который представляет собой код символа обратной косой черты ASCII, вероятно, чтобы избежать указанных кавычек на стороне сервера AWS. В итоге получилось как 'domain.com'
, а domain.com
не как . Это, похоже, вызвало много проблем с другими командами.
tl; dr убедитесь, что вы не обжигаетесь из-за проблем с цитированием оболочки при использовании aws cli