Как обратиться к серверу Eureka в клиенте Eureka в AWS ECS - PullRequest
0 голосов
/ 03 января 2019

Как вы обращаетесь к серверу Eureka в AWS ECS?

Мои требования / текущая настройка

  • Сервер Eureka развернут как служба ECS с типом запуска EC2
    • Включено обнаружение служб (из ECS), которое создает DNS-запись Route53 для сервера Eureka (например, eureka.local)
  • Eureka Сервер только для сервисов среднего уровня, следовательно, нет внешнего адреса Eureka Server нужен / хотел
  • Eureka Server развернут на нескольких АЗ в одном регионе
  • Клиент Eureka должен обратиться к серверу Eureka
  • Я хотел бы использовать встроенные в Eureka функции, такие как привязка к AWS-Zone, что означает, что я хочу, чтобы клиент Eureka сначала общался с сервером Eureka в своем собственном АЗ, и прибегал к серверу Eureka другого АЗ, только когда в своем собственном AZ не доступен.

Адресация через DNS от Route53

Когда я устанавливаю свойство eurekaServerDNSName, я получаю следующее исключение, потому что не удается найти запись txt для записи DNS. Есть ли способ также создать запись TXT, и если да, как мне установить ее для ECS Service Discovery?

eurekaServerDNSName: service-registry.local

Исключение:

Caused by: java.lang.RuntimeException: Failed to initialize DiscoveryClient!

ationConfigEmbeddedWebApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Failed to start bean 'eurekaAutoServiceRegistration'; nested exception is java.lang.NullPointerException

c.n.d.s.r.aws.ConfigClusterResolver : Resolving eureka endpoints via DNS: txt.eu-west-1.service-registry.local

Кроме того, когда я хочу создать запись txt в Route53 для своих служб, я получаю сообщение об ошибке, что я не могу изменить эту запись, например: «Хост-зона ресурса / yyy может управляться только через servicediscovery.amazonaws. ком». Поэтому мне интересно, как я могу использовать конфигурацию DNS с AWS ECS для конфигурации Eureka.

Эластичные IP-адреса как альтернатива

Поскольку Elastic IP (EIP) предоставляют общедоступный IP, для нас это невозможное решение.

...