Hello,
A few things to tackle, first in general yes store things in your own db. If you put things in the q2 db that would change the db schema for whatever environments you are in and q2 would have access to that data. Which would be most q2 developers and support personnel. Of course, we can't just look at production data unless we are authorized to.
Of course, when you run your own database you have that additional freedom. The most common practice is when the user navigates to your extension I would use a combination of aba or something from the wedge_address_config with the user_id to create a unique user profile in your own db.
There is some configuring to do. I would recommend running an api in aws so that the extension doesn't directly communicate with the db. On that api you can then configure it to be a different url. For extensions to access things outside our datacenter they must be whitelisted see https://q2developer.com/support/create?ticketType=Whitelist We will not blanket whitelist the aws domain. So that is why I am recommending configuring a different domain.
Hope this answers your question,
-Trey