Elastic Beanstalk provides options for

  • customizing the resources in environment
  • Elastic Beanstalk behavior
  • platform settings.

EC2 instance

  • set of software
  • configuration files
  • scripts to support a specific language version
  • framework if applicable

Instance security group

  • inbound traffic configuration
  • lets traffic from load balancer reach EC2 instance

Load balancer

  • configured to distribute requests
  • requests to instances running application.
  • Does not expose instances to internet

Load balancer security group

  • An EC2 security group
  • configured to allow inbound traffic
  • It lets traffic reach the load balancer
  • By default, traffic not allowed on other ports.

Auto Scaling group

  • configured to replace an instance if
    • it is terminated
    • becomes unavailable.

Amazon S3 bucket

  • A storage location created using Elastic Beanstalk and for
    • source code
    • logs
    • other artifacts

CloudWatch alarms

  • Two CloudWatch alarms monitor load on instances in environment are triggered if the load
    • is too high or
    • too low
  • After alarm trigger, Auto Scaling group scales up or down in response.

AWS CloudFormation stack

  • Elastic Beanstalk uses CloudFormation
  • launches resources in environment
  • proliferate configuration changes.
  • resources are defined template viewable in CloudFormation console.

Domain name

  • It routes web application
  • Has the form subdomain.region.elasticbeanstalk.com.

ebextensions

  • they are Elastic Beanstalk configuration files
  • can add them to application’s source code
  • used to configure environment
  • can also customize AWS resources
  • They are YAMLor JSON-formatted documents
  • Have a .config file extension
  • deploy in application source bundle.

YAML vs JSON

  • YAML is more readable than JSON.
  • YAML supports
    • Comments
    • multi-line commands
    • several alternatives for using quotes

configuration file sections

  • option_settings – defines values for configuration options.
  • Resources section – further customize resources in application’s environment
  • other sections of a configuration file  
    • packages
    • sources
    • files
    • users
    • groups
    • commands
    • container_commands

Config file Requirements

  • Location – All configuration files be placed in one folder, named .ebextensions, in root of source bundle.
  • Naming – must have the .config file extension.
  • Formatting –must conform to YAML or JSON specifications.
  • Uniqueness – Use each key once in file.       
Menu