Как настроить AWS ELB вместо сервера NGiNX и его настройки? - PullRequest
1 голос
/ 12 марта 2019

Я хотел бы знать, как мы можем полностью перейти с NGiNX на AWS ELB, включая SSL (сертификат AWS)?

У меня есть следующая NGiNX конфигурация для одного из моих доменов (например, example.com)

server {
    listen 80;
    server_name *.example.com;
    root /home/ubuntu/angularApp;
    index    index.html index.htm;

    location / {
      try_files $uri $uri/ /index.html;
    }

}


server {
  listen 80;
  server_name example.com;

  root /home/ubuntu/website;
  index    index.html index.htm;

  location / {
    try_files $uri $uri/ /index.html;
  }

  location ~ ^/api/(v1|v2)/ {
    proxy_pass http://backend_service$request_uri;
    proxy_redirect off;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Host $server_name;
    proxy_set_header X-Google-Real-IP $remote_addr;

  }

}

У меня в основном 2 запроса,

Запрос № 1: - Как настроить параметр (в ELB) для Angular-App pages, если запрошенный URL-адрес содержит / принадлежит subdomain, в противном случае обратитесь к файлу index.html другого каталога вместо Angular-App.

Запрос № 2: - Как настроить параметр (в ELB) для указания API, который работает на каком-либо другом порту на том же сервере (EC2), если входящие запросы URI содержат /api/v1/ или /api/v2/

ПРИМЕЧАНИЕ. Я уже утвердил сертификат AWS SSL, который мы можем настроить в ELB. так что в отношении SSL-сертификата не будет вопрос. В настоящее время я использую не SSL-сертификат AWS, который настроен в NGiNX, но планировал использовать AWS ACM, поскольку все остальное относится к AWS.

Любая помощь была бы очень полезна !!

1 Ответ

2 голосов
/ 12 марта 2019

Вам необходимо сделать следующее:

  1. Убедитесь, что у LB будет доступ к машине. Здесь вам нужно сохранить текущую открытую или закрытую подсеть, группы безопасности и т. Д.
  2. Перейти к интерфейсу создания loadbalancer. Выберите тип балансировки нагрузки, который вы хотите. Для веб-приложений текущим рекомендуемым способом является ALB (первый из трех вариантов). enter image description here. Вы также можете использовать Clasic LB.
  3. Затем настройте основание LB, name, слушателей на 80 и 443, VPC и правой подсети. enter image description here
  4. Далее вы получаете возможность выбрать существующие сертификаты или поставить свой сертификат, если новый. enter image description here Здесь справедливо упомянуть, что если у вас несколько доменов, вам нужен сертификат, действительный для всех доменов, которые вы собираетесь использовать. Для этого вы можете получить групповые сертификаты и т. Д.
  5. Далее следует выбрать группы безопасности (с этого момента SG). вам нужно убедиться, что вы выбрали SG, которые разрешают соединения по http и https. enter image description here
  6. Затем убедитесь, что указали на правильную целевую группу. enter image description here. Не забывайте, что одним из преимуществ ALB является то, что вы можете иметь разные целевые группы для разных поддоменов и т. Д. Это очень важное преимущество от другого типа классических LB. В вашем случае, если у вас нет нескольких поддоменов, вы просто передаете все это на одну и ту же машину через порт TCP, это может быть просто 80, где nginx или другой сервер будет слушать и решать, что делать с разными запросами. Скажем, /api/v1/ или /api/v2/ могут переходить в разные бэкэнды. Здесь, когда вы конфигурируете, вы можете выбрать IP целевого бэкенда, ЕСЛИ вы предпочитаете это вместо выбора экземпляров (который используется по умолчанию).
  7. Затем вы выбираете целевые экземпляры или IP-адреса на следующем шаге. Если, например, вы выбираете экземпляры, вы сможете увидеть нужный экземпляр или экземпляры.
  8. К настоящему времени вы должны быть сделаны. Перейдите к шагу обзора, проверьте, все ли хорошо, и создайте себе LB.
  9. Далее следует проверить, что через какое-то время (через минуту или около того) бэкэнд (-ы) должен отображаться как работоспособный.

Я надеюсь, что это в какой-то степени отвечает на ваши вопросы. Официальные документы: здесь для получения дополнительной информации или не стесняйтесь спрашивать дальше.

...