Хобрук: Ваш путь к мастерству в программировании

Лучшая практика для развертывания приложения nodejs на экземпляре aws ec2

Я развернул приложение nodejs на экземпляре ec2. Я использовал атлас для mongoDB, балансировщика нагрузки, Aws ssl для защиты соединения и pm2. Поскольку я уже использую балансировщик нагрузки aws, мне нужно использовать nginx. Как лучше всего развертывать приложение nodejs на ec2. если мне нужно использовать ngnix, где настроить перенаправление http на https?


  • Обычно вы настраиваете http- ›https на своем LB. 14.08.2020
  • да, я перенаправил весь http на https в LB. мне нужно использовать nginx? 14.08.2020

Ответы:


1

Похоже, вам нужно разработать веб-приложение. Я бы предложил ниже архитектуру. введите описание изображения здесь. Это устранит боль при размещении / обслуживании серверов.

Все компоненты AWS могут быть программно интегрированы с помощью AWS SDK, а Amplify - это оболочка поверх этого.

Разработайте свой пользовательский интерфейс в любой среде JavaScript и разместите его в AWS S3. Используя CloudFront, вы можете кэшировать слой пользовательского интерфейса. Поместите уровень шлюза API, который будет перехватывать весь трафик из вашего пользовательского интерфейса. Использование AWS Amplify может значительно упростить разработку пользовательского интерфейса за счет множества встроенных компонентов оболочки. Он поставляется с интерфейсом командной строки, который также можно использовать для развертывания.

Разместите приложение Spring Boot + DB Driver (или NodeJS / C # / PHP / Python / и т. Д.) С Rest API в AWS Beanstalk. BeanStalk можно настроить с балансировкой нагрузки, автоматическим масштабированием группы и т. Д. Если AWS Beanstalk кажется вам сложным, рассмотрите возможность использования архитектуры AWS Lambda (бессерверная, микросервисы).

AWS DocumentDB - это расширение MongoDB, и, возможно, вы сможете его использовать. В данном случае это опять же хорошо масштабируемый и очень гибкий NoSQL.

Вы можете использовать AWS Cognito (https://www.slideshare.net/awsugkochi/acdkochi19-enterprise-grade-security-for-web-and-mobile-applications-on-aws) для хранения учетных данных пользователей в группах и добавления разрешений и аутентифицировать / авторизовать пользователей.

В API Gateway вы можете настроить AWS Cognito Authoriser и защитить API от несанкционированных вызовов.

Некоторые из вспомогательных сервисов могут использоваться для интеграции электронной почты / SMS и т. Д. AWS SNS (Pub / Sub) + SQS (Queue) - ›Если вы хотите разделить какой-либо процесс, вы можете использовать SNS + SQS. Вы можете отправлять электронные письма с помощью AWS SES. AWS Route53 - это DNS, и здесь можно разместить ваш домен.

Если вам нужно загрузить какие-либо файлы в облако и сохранить их для пользователей, используйте AWS S3.

Вам необходимо защитить доступные в Интернете компоненты, такие как API Gateway и Cloudfront, с помощью AWS WAF.

Все эти системы создают журналы, и к ним можно получить доступ из облака AWS. Ваши API-интерфейсы можно отслеживать на предмет производительности и ошибок с помощью AWS X-Ray.

введите описание изображения здесь

14.08.2020
  • мне нужно знать, нужно ли мне использовать как nginx, так и aws LB 14.08.2020
  • API-шлюз заменит ваш nginx 14.08.2020
  • Новые материалы

    Учебные заметки JavaScript Object Oriented Labs
    Вот моя седьмая неделя обучения программированию. После ruby ​​и его фреймворка rails я начал изучать самый популярный язык интерфейса — javascript. В отличие от ruby, javascript — это более..

    Разбор строк запроса в vue.js
    Иногда вам нужно получить данные из строк запроса, в этой статье показано, как это сделать. В жизни каждого дизайнера/разработчика наступает момент, когда им необходимо беспрепятственно..

    Предсказание моей следующей любимой книги 📚 Благодаря данным Goodreads и машинному обучению 👨‍💻
    «Если вы не любите читать, значит, вы не нашли нужную книгу». - J.K. Роулинг Эта статья сильно отличается от тех, к которым вы, возможно, привыкли . Мне очень понравилось поработать над..

    Основы принципов S.O.L.I.D, Javascript, Git и NoSQL
    каковы принципы S.O.L.I.D? Принципы SOLID призваны помочь разработчикам создавать надежные, удобные в сопровождении приложения. мы видим пять ключевых принципов. Принципы SOLID были разработаны..

    Как настроить Selenium в проекте Angular
    Угловой | Селен Как настроить Selenium в проекте Angular Держите свое приложение Angular и тесты Selenium в одной рабочей области и запускайте их с помощью Mocha. В этой статье мы..

    Аргументы прогрессивного улучшения почти всегда упускают суть
    В наши дни в кругах веб-разработчиков много болтают о Progressive Enhancement — PE, но на самом деле почти все аргументы с обеих сторон упускают самую фундаментальную причину, по которой PE..

    Введение в Джанго Фреймворк
    Схема «работать умно, а не усердно» В этой и последующих статьях я познакомлю вас с тем, что такое фреймворк Django и как создать свое первое приложение с помощью простых и понятных шагов, а..