I am looking to build a single tenant application that will have an api endpoint of api.customername.mydomain.com then I would like there to also be app.customername.mydomain.com that is for the UI (Vue.js).

Normally when I am working with a multi-tenant application I can just host the UI on S3 and point a DNS record to it, simple. However I am wanting to have a single S3 bucket that I can point DNS to allow me to have the url structure above.

My ideal setup woudld be something like ...

user => app.customername.mydomain.com => route53 => cloudfront => my-single-bucket

Where I am not sure is how to handle the multiple domain names as well as to make sure that only approved domain names - ie my customers only - can query the cloudfront/s3 bucket and get resources.

Idea is I don't want to have a bucket for each customer and have to pay for increased costs once I scale this idea.

My api will be hosted on a EKS/Kubernetes cluster that is using a nginx ingress controller with multiple ingress resources to direct traffic to the proper namespace/customer. So that part is solved just need to figure out the UI.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.