Elasticbeanstalk is a service that allows for easy deployment of scalable applications. Elasticbeanstalk allows us to deploy our code to the AWS cloud with very little effort.
For example it is possible to trigger a deployment directly from a git respository to one or more EC2 instances. These instances can be created "on-the-fly", so there is no need to create the instances and touch any of the configuration files on the server. Instead we can just select some options in the AWS console and create as many instances as we need with exactly the same configuration and version of the code.
Under the cover AWS actually combines several services to provide this service. All it does is make it very easy to setup these services.
There are many different ways to use Elasticbeanstalk. It really depends on what exactly we are trying to achieve. The most common use case is to create a situation where the domain of the application points to a load-balancer (ELB). Behind the load-balancer are two or more EC2 instances. This is called "High Availability".
Sometimes two instances is not enough and more instances need to be added. It is possible to do that automatically using Elasticbeanstalk. This is called "Auto-Scaling" (horizontal scaling to be precise).
A good place to get started with Elasticbeanstalk would be the "getting started" guide: https://aws.amazon.com/elasticbeanstalk/getting-started/.
If we're just interested in how to deploy a Laravel application to a Elasticbeanstalk: https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/php-laravel-tutorial.html.
Since this service is just a combination of other services there are no specific prices. To calculate the price of the resources that are neccessary to run the Elasticbeanstalk setup, please use the calculator: http://calculator.s3.amazonaws.com/index.html.