How to access a REST api from a Java application hosted by Elastic Beanstalk that is behind AWS VPC? - rest

I created an Elastic Beanstalk environment with a AWS VPC. It is a Java REST application using Spring framework.
When I setup the Elastic Beanstalk environment without a VPC, I'm able to hit the REST endpoint.
http://my-service.us-east-1.elasticbeanstalk.com/swagger-ui.html
However, now with VPC, I'm not able to access it.
What is the proper way to access this REST endpoint now?

Related

Deploy an Elastic Kubernetes Cluster with Openstack

I am working on a Cloud provider named Wekeo, which offers only static provisionning of instances. I have access to the Morpheus API and the underlying OpenStack API.
My goal is to deploy an elastic cluster (EKS for instance), but I'm getting lost through the many concepts and tools I found so any guidance would be appreciated!

How to access the Kubernetes external IP as HTTPS

I've deployed a Django app on Azure Kubernetes service using a load balancer service. So far accessing the external IP of the load balancer I'm able to access my application but I need to expose the app for HTTPS requests.
I'm new to Kubernetes and unable to find any article which provides these steps. So please help me with the steps/action I need to perform to make this work.
You need to expose your application using ingress.Here is the doc on how to do it in azure kubernetes service.

How to connect Api Gateway to private/internal Elastic Beanstalk?

I am trying to connect Api Gateway to make the request to internal Elastic Beanstalk(on custom VPC, LB facing internal private subnets, instances on private subnets).
I manage to create the VPC and configure Beanstalk app as internal (all is green). I read about the subject and you can connect Api Gateway to VPC using VPCLink. VPCLink is related to an Network Elastic Balancer. But this balancer sees only the Beanstalk EC2 instance which is not ok.
It should target the Beanstalk Load Balancer because Beanstalk has auto-scaling(an can create multiple instances based on your configuration).
Is this possible? and how to do it.
Thank you,
*From Lambda inside VPC is working ok, so one solution is Api Gateway->Lambda->Internal Beanstalk.
Actually is possible by using the IP of the Application Load Balancer(ALB of Beanstalk app) in the NLB(network load balancer) target config. The thing that is needed is to use Lambda to update the NLB (based on some event - CloudWatch). Ip of ALB can change so based on DNS get the new ip(there is on the internet some python script, also is easy to do with node/js).
So in the end you can use VPCLink. But I realise that this is more of an exercise and another approach would be better for this kind of application.

LoadBalancing Spring cloud data flow server

In spring cloud dataflow, as per my understanding each stream is a microservice but the dataflow server is not. Am I right?
Is it possible to have multiple instances of spring cloud dataflow(SCDF) server? How to loadbalance the dataflow server? I am planning to deploy it in AWS.The official documentation didn't mention anything about loadbalancing of dataflow server. If it is possible how do Dashboard, shell works?
The SCDF-server is a regular Spring MVC + Spring Boot application that serves the REST-APIs, DSL commands, UI, and repository access for stream/task metadata persistence.
In platforms like Cloud Foundry, Kubernetes and others, upon scaling the SCDF-server, the platform automatically handles traffic routing and load-balancing.
If you were to orchestrate the deployment on your own and on AWS, you'd have to plug a load-balancer in front of the server instances. The shell, UI, and REST-APIs would hit the load-balancer instead, to interact with the SCDF-server.

Amazon Web Service Deploy one Application to Several EC2 Instances

I have recently started using the AWS EC2 service and have deployed my application to a single EC2 instance. The EC2 instance and the load balancer were created automatically by eclipse. I want to deploy the same application to multiple instances at the same time, does anyone know how I could do that?
I think you are after Elastic Beanstalk.
You can either upload application via an S3 bucket or push just the changes with GIT (aws.push command)
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-reference-branch-environment.html