Menu
AWS Elastic Beanstalk
Developer Guide (API Version 2010-12-01)

Create an Application

You can use the AWS Management Console, the command line interface (CLI), or the API to create a new Elastic Beanstalk application and deploy the application version to a new environment.

AWS Management Console

To create a new application

  1. Open the Elastic Beanstalk console.

  2. From the region list, select a region in which to create the Elastic Beanstalk application.

  3. On the Elastic Beanstalk application navigation bar, click Create New Application.

  4. Enter the name of the application and, optionally, a description. Then click Next.

That's it. The console will add your new application to the navigation bar at the top of the screen. Click on the name of an application in the navigation bar to view environments, application versions, and saved configurations associated with it.

After creating a new application, the console prompts you to create an environment for it. For detailed information about all of the options available, see Creating an AWS Elastic Beanstalk Environment. If you would just like to launch a sample application in your environment quickly, try the abridged instructions in Launching an Environment with a Sample Application.

Command Line

To create a new application with the AWS CLI

  • Use the create-application command:

    $ aws elasticbeanstalk create-application --application-name my-application
    {
        "Application": {
            "ApplicationName": "my-application",
            "ConfigurationTemplates": [],
            "DateUpdated": "2015-07-07T21:47:32.191Z",
            "DateCreated": "2015-07-07T21:47:32.191Z"
        }
    }

API

To create a new application

  1. Call CreateApplication with the following parameters:

    • ApplicationName = SampleApp

    • Description = description

    Example

    https://elasticbeanstalk.us-west-2.amazon.com/?ApplicationName=SampleApp
    &Description=description
    &Operation=CreateApplicationVersion
    &AuthParams

  2. Call CreateApplicationVersion with the following parameters:

    • ApplicationName = SampleApp

    • VersionLabel = Version1

    • Description = description

    • SourceBundle.S3Bucket = <your S3 bucket name>

    • SourceBundle.S3Key = mynewjavawebapp-v1.war

    Example

    https://elasticbeanstalk.us-west-2.amazon.com/?ApplicationName=SampleApp
    &VersionLabel=Version1
    &Description=description
    &SourceBundle.S3Bucket=<your S3 bucket name>
    &SourceBundle.S3Key=mynewjavawebapp-v1.war
    &Operation=CreateApplicationVersion
    &AuthParams

  3. Call CheckDNSAvailability with the following parameters:

    • CNAMEPrefix = mysampleapplication

    Example

    https://elasticbeanstalk.us-west-2.amazon.com/?CNAMEPrefix=mysampleapplication
    &Operation=CheckDNSAvailability
    &AuthParams         

  4. Call CreateEnvironment with one of the following sets of parameters:

    1. For a web server environment tier:

      • ApplicationName = SampleApp

      • VersionLabel = Version1

      • EnvironmentName = mynewappenv

      • SolutionStackName = "32bit Amazon Linux running Tomcat 7"

      • CNAMEPrefix = mysampleapplication

      • Description = description

      • OptionSettings.member.1.Namespace = aws:autoscaling:launchconfiguration

      • OptionSettings.member.1.OptionName = IamInstanceProfile

      • OptionSettings.member.1.Value = ElasticBeanstalkProfile

      Example

      https://elasticbeanstalk.us-west-2.amazon.com/?ApplicationName=SampleApp
      &VersionLabel=Version1
      &EnvironmentName=mynewappenv
      &SolutionStackName=32bit%20Amazon%20Linux%20running%20Tomcat%207
      &CNAMEPrefix=mysampleapplication
      &Description=description
      &Operation=CreateEnvironment
      &OptionSettings.member.1.Namespace=aws%3Aautoscaling%3Alaunchconfiguration
      &OptionSettings.member.1.OptionName=IamInstanceProfile
      &OptionSettings.member.1.Value=ElasticBeanstalkProfile
      &AuthParams

    2. For a worker environment tier:

      • EnvironmentName = SampleAppEnv2

      • VersionLabel = Version2

      • Description = description

      • SolutionStackName = "32bit Amazon Linux running Tomcat 7"

      • ApplicationName = SampleApp

      • Tier = Worker

      • OptionSettings.member.1.Namespace = aws:autoscaling:launchconfiguration

      • OptionSettings.member.1.OptionName = IamInstanceProfile

      • OptionSettings.member.1.Value = ElasticBeanstalkProfile

      • OptionSettings.member.2.Namespace = aws:elasticbeanstalk:sqsd

      • OptionSettings.member.2.OptionName = WorkerQueueURL

      • OptionSettings.member.2.Value = sqsd.elasticbeanstalk.us-west-2.amazon.com

      • OptionSettings.member.3.Namespace = aws:elasticbeanstalk:sqsd

      • OptionSettings.member.3.OptionName = HttpPath

      • OptionSettings.member.3.Value = /

      • OptionSettings.member.4.Namespace = aws:elasticbeanstalk:sqsd

      • OptionSettings.member.4.OptionName = MimeType

      • OptionSettings.member.4.Value = application/json

      • OptionSettings.member.5.Namespace = aws:elasticbeanstalk:sqsd

      • OptionSettings.member.5.OptionName = HttpConnections

      • OptionSettings.member.5.Value = 75

      • OptionSettings.member.6.Namespace = aws:elasticbeanstalk:sqsd

      • OptionSettings.member.6.OptionName = ConnectTimeout

      • OptionSettings.member.6.Value = 10

      • OptionSettings.member.7.Namespace = aws:elasticbeanstalk:sqsd

      • OptionSettings.member.7.OptionName = InactivityTimeout

      • OptionSettings.member.7.Value = 10

      • OptionSettings.member.8.Namespace = aws:elasticbeanstalk:sqsd

      • OptionSettings.member.8.OptionName = VisibilityTimeout

      • OptionSettings.member.8.Value = 60

      • OptionSettings.member.9.Namespace = aws:elasticbeanstalk:sqsd

      • OptionSettings.member.9.OptionName = RetentionPeriod

      • OptionSettings.member.9.Value = 345600

      Example

      https://elasticbeanstalk.us-west-2.amazon.com/?ApplicationName=SampleApp
      &VersionLabel=Version2
      &EnvironmentName=SampleAppEnv2
      &SolutionStackName=32bit%20Amazon%20Linux%20running%20Tomcat%207
      &Description=description
      &Tier=Worker
      &Operation=CreateEnvironment
      &OptionSettings.member.1.Namespace=aws%3Aautoscaling%3Alaunchconfiguration
      &OptionSettings.member.1.OptionName=IamInstanceProfile
      &OptionSettings.member.1.Value=ElasticBeanstalkProfile
      &OptionSettings.member.2.Namespace=aws%3Aelasticbeanstalk%3Asqsd
      &OptionSettings.member.2.OptionName=WorkerQueueURL
      &OptionSettings.member.2.Value=sqsd.elasticbeanstalk.us-west-2.amazon.com
      &OptionSettings.member.3.Namespace=aws%3elasticbeanstalk%3sqsd
      &OptionSettings.member.3.OptionName=HttpPath
      &OptionSettings.member.3.Value=%2F
      &OptionSettings.member.4.Namespace=aws%3Aelasticbeanstalk%3Asqsd
      &OptionSettings.member.4.OptionName=MimeType
      &OptionSettings.member.4.Value=application%2Fjson
      &OptionSettings.member.5.Namespace=aws%3Aelasticbeanstalk%3Asqsd
      &OptionSettings.member.5.OptionName=HttpConnections
      &OptionSettings.member.5.Value=75
      &OptionSettings.member.6.Namespace=aws%3Aelasticbeanstalk%3Asqsd
      &OptionSettings.member.6.OptionName=ConnectTimeout
      &OptionSettings.member.6.Value=10
      &OptionSettings.member.7.Namespace=aws%3Aelasticbeanstalk%3Asqsd
      &OptionSettings.member.7.OptionName=InactivityTimeout
      &OptionSettings.member.7.Value=10
      &OptionSettings.member.8.Namespace=aws%3Aelasticbeanstalk%3Asqsd
      &OptionSettings.member.8.OptionName=VisibilityTimeout
      &OptionSettings.member.8.Value=60
      &OptionSettings.member.9.Namespace=aws%3Aelasticbeanstalk%3Asqsd
      &OptionSettings.member.9.OptionName=RetentionPeriod
      &OptionSettings.member.9.Value=345600
      &AuthParams    

  5. Call DescribeEnvironments with the following parameter:

    • EnvironmentName = mynewappenv

    Example

    https://elasticbeanstalk.us-west-2.amazon.com/?EnvironmentName=mynewappenv
    &Operation=DescribeEnvironments
    &AuthParams