Собственный домен на Amazon MQ - PullRequest
0 голосов
/ 03 августа 2020

Я установил брокера Amazon MQ, и вы сгенерировали домен * .mq.eu-west-2.amazon aws .com

Генерируется очень длинный DN, и я хочу нужно сопоставить это с поддоменом моего собственного домена.

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

Проблема в том, что я не могу просто CNAME генерировать домен, а затем генерировать сертификат SSL, так как это не работает. AWS предлагает то, что называется ALIAS A record в route53, которое для других сервисов позволяет обойти эту проблему, НО похоже, что это не работает с Amazon MQ. Параметры, которые вы получаете, не включают службу MQ.

Глядя на некоторые AWS документы, мне кажется, что мне нужно сделать следующее (но это кажется излишним)

  1. Create частный брокер
  2. Создать балансировщик сетевой нагрузки
  3. Соединить 2 вместе (что довольно сложно, я не смог заставить это работать)
  4. CNAME мой поддомен в NLB

Есть ли у кого-нибудь еще какие-нибудь предложения, как лучше всего решить эту проблему?

1 Ответ

0 голосов
/ 04 августа 2020

Для всех, кого это интересует, я думаю, что понял это.

Причина, по которой вы не можете просто установить собственный домен, заключается в том, что служба позволяет вам иметь конфигурацию с несколькими зонами доступности, что означает наличие более 1 брокера. Лучший способ справиться, когда их больше 1, и с аварийным переключением - использовать балансировщик нагрузки, поэтому я думаю, что это то, что вам нужно сделать.

Я понял, что вам не нужен частный брокер, вы можете использовать publi c тоже. В консоли Amazon MQ вы получаете только IP-адрес publi c, но если вы используете go для EC2 и сетевых интерфейсов, вы найдете интерфейс с использованием IP-адреса publi c, который у вас есть, и из него получите частный IP

Вам нужно сделать то же самое в разделе сетевых интерфейсов EC2, чтобы получить частные IP-адреса балансировщика нагрузки (будет 1-2 IP-адреса). Эти частные IP-адреса необходимы для настройки балансировщика нагрузки и группы безопасности. Это шаги:

  1. Создание экземпляра Amazon MQ (publi c или частного)
    • Я сделал publi c брокер
    • Также один экземпляр не multi-AZ
    • Группа безопасности уже была создана, но если у вас ее нет, создайте ее до или во время настройки
    • Я добавил правила в группу безопасности для 2 портов, к которым вы обращаетесь к брокерам с
      • 8162 - для панели управления (HTTPS)
      • 61617 - для брокера (TLS)
  2. Перейдите в EC2 -> Сетевые интерфейсы - получите частный IP-адрес для брокера MQ (используя IP-адрес publi c, выделенный вашему экземпляру). Если вы создаете частного брокера, вы можете пропустить этот шаг.
  3. Создайте сертификат для вашего поддомена в службе ACM AWS. Подтвердите его с помощью электронной почты или DNS.
  4. Создайте NLB (TCP) со следующими настройками:
    • Network Load Balanacer (TCP / TLS / UDP)
    • Выберите имя
    • Inte rnet с обращением к
    • протокол TLS (Secure TCP) для слушателя
    • порт 61617
    • Зона доступности такая же, как у вашего брокера (obvs тот же VP C тоже)
    • Выберите сертификацию из ACM
    • Найдите свой сертификат, созданный на шаге 3. Вам необходимо проверить его, прежде чем он появится здесь
    • Политика безопасности - ELBSecurityPolicy -2016-08
    • Политика ALPN: нет
    • Новая целевая группа - выберите имя
    • Тип цели - IP
    • Протокол: TLS
    • Порт: 61617
    • Проверка работоспособности: Протокол HTTPS
    • Проверка работоспособности: Путь /index.html
    • Проверка работоспособности: (переопределить) Порт: 8162
    • Регистрируя вашу цель, вставьте частный IP вашего брокера, найденного на шаге 2, нажмите Добавить в список
    • Обзор
    • Fini sh
  5. После создания NLB перейдите к своей группе безопасности, которую вы связали с брокером, и добавьте частные IP-адреса NLB в группу безопасности (я сделал весь трафик c, но вы можете ограничьте его только двумя портами, которые вам нужны, для брокера и проверки работоспособности), 61617 и 8162
  6. Наконец, создайте запись домена в route53 (и запись псевдонима A), которая сопоставляет ваш поддомен с именем домена, выделенным для ваш NLB.

Это даст вам субдомен, использующий SSL для доступа к вашему брокеру. Вы можете сделать то же самое, но с помощью Application Load Balancer (HTTPS) для доступа к консоли. Я создаю второй LB, новый поддомен и сертификат, чтобы заставить это работать, и это сработало. Единственное различие между этими двумя состоит в том, что прослушиватель работает по HTTPS с использованием порта 8162, и вам нужно указать 2 подсети при настройке, в противном случае все остальное почти то же самое (особенно проверки работоспособности). Я не смог найти никаких документов, которые подробно объясняли бы, как и зачем это делать, у Amazon есть некоторые документы, но они не учитывают много деталей или аргументов в пользу того, почему вам нужно что-то делать, а сообщение в блоге, которое я нашел от них, говорило только об этом с частным брокером.

Наслаждайтесь.

...