На мой взгляд, нынешний дизайн хорош, если учесть, что вы хотите иметь в виду экономию. Вы изолировали свое хранилище данных, переместив его в RDS.
Q1. Да, я думаю, что ваш подход в порядке. Но это означает, что вам придется самостоятельно позаботиться о предоставлении экземпляра EC2 и RDS. Вы также можете попытаться изучить Elastic Beanstalk, если хотите перенести все это на AMZ. Технический стек, который вы используете в настоящее время, поддерживается Elastic Beanstalk, и вам может показаться, что начать с него будет немного сложно, но позже это окажется полезным.
Q2. Я бы сказал, что да,У вас должен быть отдельный контейнер NGINX.
Q3. Вы также должны попытаться контейнировать каждое приложение Spring Boot вместо того, чтобы иметь только один докер-контейнер, содержащий все из них. То же самое относится и к вашим приложениям 2 Node. После того, как вы докертизировали все приложение, вы полностью изолировали приложение и можете справиться с частью обеспечения устойчивости и масштабирования гораздо лучше, чем хранить их вместе.
Надеюсь, это отвечает на ваш запрос.