when you think you want to expose your database to the internet see rule #1
run some other kind of app on port 443 using https that your app talks to - an “application server” as it were that sit s between your app & the db and that hackers would have to attack (and they will)
OK but your server is exposed to the wild internet & it will get found & people will try to hack it
And your firewall doesn’t seem to be much help
And even if they don’t take your database down or hack into it there may be a denial of service attack as your firewall doesn’t help you out there as much as it could
You’re potentially much more exposed than you think you are