By using AWS re:Post, you agree to the Terms of Use

RDS Database Option for Customer Data


I am creating a payment portal for a website. The website will allow users to create an online account, update their customer info (such as billing address, phone, email), and view and pay their invoices. After some research, I plan to use S3 to store the invoices in PDF format. I was considering storing the customer data and invoice data in a relational database among two tables connected by customer ID. A customer would sign into their account, and a query would be made against the customers and invoices table, for the initial summary page that displays upon sign in. Some further querying would be done if they view their profile or view their invoices page. I ran an estimate for a single-az, postgresql, general purpose SSD db.t2.micro instance with 100% utilization and 5GB. That indicated a monthly cost under $14. I chose 100% utilization because user accounts would be accessible 24/7. I could have done this in S3 with JSON but, in terms of standards, the data calls for a relational database (outside of the PDF objects). All queries to the database would be through Lambdas. Is this the cheapest RDS option? And would a db.t2.micro instance be performant for these rather-simple queries for an online user account (e.g. retrieval speed upon querying)?

1 Answer

This architecture looks good to me. If you haven't yet taken advantage of the AWS Free Tier you could leverage that to offset the costs.

Given that you're using Lambda I'd also encourage you to consider using DynamoDB with SAM (Serverless Application Model). SAM will provide you with tooling for deploying your app and managing your DynamoDB resources. You can learn more in this YouTube video.

profile picture
answered 18 days ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions