Situation
I have multiple Micro-Services deployed. All micro-services should be made available under the domain www.mycompany.com/[myservice].
Some of the micro-services are based on AWS, while other services are based on other technology.
Question
How can do I setup a routing in AWS to redirect
www.mycompany.com/blog to an AWS Micro-Service
www.mycompany.com/support to an external service hosted under the address mycompany.zendesk.com
How can I set such a routing mechanism up in AWS?
According to my knowledge you can't setup this kind of routing using only Route 53. However there is a work around using API Gateway. If you can deploy all your microservices behind an API Gateway, you can configure routing as you had mentioned using the API Gateway custom domains option. I recently wrote an article on the usage of this feature, and link to that mentioned below.
API management for microservices
Related
I have an ECS cluster in AWS and can't find a solution for the microservices to be accessed, like:
domain.com/service1 or domain.com/service2
Where each service is a different task definition or container.
The domain is handled via Cloudfront.
Does anybody know if this is possible only via AWS services? Can the microservices be routed in AWS via /path or /microservice. Can this be done via API gateway?
Tried to find a solution from cloudfront and API gateway, but I may not be doing something right.
Thanks everyone!
Here is a good reference blog specifying HTTP API, CloudFront, API Gateway and ECS tasks.
It provides context on routing a specific path to a specific ECS task
I have started a monolith using a NodeJS with Elastic Beanstalk, exposing the api with Route 53 and Cloud Front just to launch my mvp/pilot.
I’ve designed the architecture to easily decouple into micro services.
I was wondering, how to decouple it, or maybe create new domains as a Lambda, and keep both words in parallel, by leaving the Elastic Beanstalk live until every service be decoupled as a lambda micro service.
At the moment, the endpoint is “api.domain.com/v1…”.
As far as im aware, Lambda works with Api Gateway. Is possible to keep them in the same “api.domain.com…” or should I have a different subdomain to orchestrate the lambdas with the API Gateway?
You should start by setting up API Gateway and placing it in front of your Elastic Beanstalk API. So your domain would then point to API Gateway, and it would be setup to send requests to your Elastic Beanstalk backend.
You could start by doing this without a custom domain in API Gateway, and once it is working, configure the custom domain settings and update your DNS so the domain then points at API Gateway.
After you get API Gateway working with Elastic Beanstalk, you would then be able to start configuring specific paths in the API to go to Lambda functions instead of Elastic Beanstalk.
I have a internet facing NLB and want to integrate it with API Gateway. Searching over posts and aws docs, and they all just provide only one way to use VPC Links with private integration. However, this introduce the limitation where both API Gateway, VPC Links and NLB have to exist in one single account. Trying to get some help to see if it is possibly to use other type of integration like HTTP (I also notice that Elastic Load Balancing is one of the AWS Service integration options, but not sure if it is only for ALB).
Many thanks
Can Global Accelerator or Load balancer route traffic to APIs on AWS API Gateway where APIs have backend micro services outside of AWS? My clients are coming from internet, they need to call various APIs deployed on AWS Apigateway where the backend micro services mostly outside of my AWS account, they are either on another AWS account and most of then on NON AWS infra.
My job is to build APIs on AWS Gateway and have them exposed to external partners. I don't own micro services.
Any help is highly appreciated.
I followed A Practical Guide to Deploying Microservices on AWS to deploy an internal API in AWS ECS. However the guide fails to mention how to access the API via internet.
There are examples (Access Private applications on AWS Fargate using Amazon API Gateway PrivateLink | AWS Compute Blog) on how to do this, if the app is behind a NLB, however this one is an ALB. Is there any such examples on how to access this internal api?