Skip to content

Latest commit

 

History

History
 
 

elasticbeanstalk

AWS Service Catalog Elastic Beanstalk Reference architecture

This reference architecture creates an AWS Service Catalog Portfolio called "Service Catalog Elastic Beanstalk Reference Architecture" with one associated product. The Service Catalog product references a CloudFormation template that deploys a web application bundle to a new Elastic Beanstalk environment. The environment is a load balanced auto scaling cluaster. The template provides parameters for the user to control the autoscaling group. To launch the environment, the user provides basic information such as the web application name, the name of the S3 bucket where the web application is stored, and the name of the Elastic Beanstalk solution stack that the application will run on. A list of available Solution Stacks can be found here: https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html

Get a list of Solution Stacks from the AWS CLI with this command:
aws elasticbeanstalk list-available-solution-stacks

SC-Devops-EB-github.png

HowToVideo

See the blog about this solution: Standardizing CI/CD pipelines for .NET web applications with AWS Service Catalog

Install

Launch the Elastic Beanstalk portfolio stack:
CreateStack

Be aware, running this service as demonstrated here is non-SSL http. In production you must protect all web traffic with SSL.
The example templates here cannot create and manage SSL for you, so it must be done as an additional task in your account.

Install from your own S3 bucket

  1. clone this git repo:
    git clone [email protected]:aws-samples/aws-service-catalog-reference-architectures.git
  2. Copy everything in the repo to an S3 bucket:
    cd aws-service-catalog-reference-architectures
    aws s3 cp . s3://[YOUR-BUCKET-NAME-HERE] --exclude "*" --include "*.json" --include "*.yml" --recursive
  3. In the AWS CloudFormation console choose "Create Stack" and supply the Portfolio S3 url:
    https://s3.amazonaws.com/[YOUR-BUCKET-NAME-HERE]/elasticbeanstalk/sc-portfolio-elasticbeanstalk.json
  4. Set the LinkedRole1 and LinkedRole2 parameters to any additional end user roles you may want to link to the Portfolio.
  5. Set the CreateEndUsers parameter to No if you have already run a Portfolio stack from this repo (ServiceCatalogEndusers already exists).
  6. Change the RepoRootURL parameter to your bucket's root url:
    https://s3.amazonaws.com/[YOUR-BUCKET-NAME-HERE]/