У меня есть два весенних загрузочных приложения с общей базой данных. Локально все работает идеально, я могу запускать файлы войны (встроенный tomcat) на портах 8080 и 8081.
Вопрос в том, как я могу запустить его на AWS?
Я знаю, что есть много возможностей, но я действительно новичок и не имею опыта. Я просто попытался запустить его на AWS как есть (как файлы .war) и открыть порты... это, конечно, работает. Но это небезопасно для PROD. Другая проблема, я не могу использовать его как HTTPS.
Мое представление описано на картинке. Вероятно, впереди должен быть какой-то сплиттер (отмечен как ???X1) и какой-то контейнер для приложений (???Y1).
Пожалуйста, может кто-нибудь помочь мне здесь? Какое лучшее/самое простое/самое безопасное/лучшее решение по производительности.
Q2: Я не уверен, следует ли мне использовать встроенные коты для военных приложений.
заранее спасибо
Запустите оба приложения на одном экземпляре Ec2 (экземпляр веб-сервера), используйте разные порты (80,81), запустите этот экземпляр Ec2 в общедоступной подсети.
Launch another Instance for your Database and keep that instance in Private Subnet
.
к этому экземпляру базы данных будет обращаться только экземпляр общедоступной подсети (экземпляр веб-сервера).
хранение экземпляра базы данных в частной подсети сделает его безопасным, поскольку никто не сможет получить к нему доступ, кроме вашего собственного веб-сервера.
ИЛИ
Используйте Amazon RDS для своей базы данных, которая является управляемой и безопасной службой.
@ jammin197 RDS не устарел! Amazon RDS — это правильный способ размещения базы данных на AWS. Вы все равно будете использовать jpa/hibernate для подключения к серверу RDS.
Спасибо. Теперь я не знаю, следует ли мне использовать эластичный бобовый стебель и развернуть war1, а затем war2 (как новый второй эластичный бобовый стебель). И оба они будут подключаться к третьей машине (серверу базы данных). Я прав? Или лучше запустить оба приложения в одном экземпляре и разделить базу данных? Тогда я должен создать балансировщик нагрузки вручную.... или использовать jboss/docker? Я действительно потерян. :/
«Разветвителем» в вашем образе будет балансировщик нагрузки приложений на AWS. Кроме того, в AWS ACM можно создавать бесплатные SSL-сертификаты, которые можно прикрепить к Application Load Balancer.
Я думаю, что RDS устарел ... и БД, которую я установил вручную, операции выполняются с помощью jpa/hibernate, так что я думаю, что все в порядке. Проблема в том, как сделать это HTTPS (SSL), возможно, перед ним должен быть какой-то балансировщик нагрузки или что-то в этом роде, чтобы направить запрос в правильное приложение. У меня нет проблем с подключением к БД.