Назад | Перейти на главную страницу

Как добавить статические записи в зону хостинга AWS Route53 Auto Naming?

Я использую некоторые из наших серверных служб REST с Amazon ECS (Docker), и они меняют свой общедоступный IP-адрес при каждом перезапуске.

Я использую AWS Route 53 Auto Naming (также известное как servicediscovery) для регистрации новых записей A в DNS, когда запускается новый серверный экземпляр.

Все работает нормально, за исключением того, что серверная часть использует HTTP. Я хочу защитить их с помощью HTTPS, и я искал Давайте зашифровать/Certbot и вот проблема.

Я хочу получить подстановочный сертификат для всех имен в размещенной зоне, скажем * .aws.example.com, но мне нужно добавить проверочную ТЕКСТОВУЮ запись в размещенную зону, а это невозможно.

Я получаю следующее сообщение об ошибке:

Ресурсом hostedzone / Z1R8P3NTRAIWDS можно управлять только через servicediscovery.amazonaws.com (arn: aws: servicediscovery: eu-west-1: 263810592360: namespace / ns-cuqs46hqusim4jih)

Как я могу добавить статические записи в мою размещенную зону, управляемую обнаружением служб?

Мне, наконец, удалось решить мою проблему, используя процедуру, описанную в разделе «Использование обнаружения служб в существующей размещенной зоне» на странице документации: https://docs.aws.amazon.com/Route53/latest/APIReference/overview-service-discovery.html

В принципе:

  1. создать с помощью автообнаружения пространство имен, не связанное с ранее существовавшей общедоступной размещенной зоной Route53
  2. свяжите запись автообнаружения с общедоступной зоной хостинга Route53 с помощью следующей команды aws-cli aws route53 change-resource-record-sets --hosted-zone-id existing-hosted-zone-id --change-batch file://path-to-text-file

Текстовый файл составлен так:

{
  "Changes": [
    {
      "Action": "UPSERT", 
      "ResourceRecordSet": {
        "Type":"A", 
        "Name":"record-name-in-existing-hosted-zone", 
        "AliasTarget": {
          "DNSName":"record-name-in-new-hosted-zone", 
          "HostedZoneId":"service-discovery-hosted-zone-id", 
          "EvaluateTargetHealth":true
        }
      }
    }
  ]
}

Вы можете посмотреть на использование Elastic Load Balancer перед собой и на процесс сертификации Amazon. Вы заплатите немного больше за ELB, но с этого момента вы можете использовать конечную точку ELB в Route53 и не беспокоиться об IP-адресе ECS.

В противном случае вам может потребоваться отключить автоматическое обнаружение или сгенерировать сертификат от поставщика, который утвердит на основе электронного письма администратору в файле.