Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Installing Breeze Agent on AWS Elastic Beanstalk can be done using .ebextension configuration files. In this example, we will use EB CLI to deploy new configuration.

  1. Upload Breeze Agent installer file somewhere your ElasticBeanstalk environment can reach. We recommend using any S3 bucket with restricted access or the one created by Elastic Beanstalk (used in the example below).

  2. Create configuration file in the .ebextension directory that is located in your projected project directory.

Windows-based environment:

Code Block
files:
  "C:\\breeze-agent.exe":
    source: https://elasticbeanstalk-us-east-1-123456789098.s3.amazonaws.com/breeze-agent.exe
    authentication: S3Auth

commands:
  install_breeze:
    command: IF NOT EXIST "C:\Program Files\Breeze\app.bat" (C:\breeze-agent.exe)

Resources:
  AWSEBAutoScalingGroup:
    Metadata:
      AWS::CloudFormation::Authentication:
        S3Auth:
          type: "s3"
          buckets: ["elasticbeanstalk-us-east-1-123456789098"]
          roleName:
            "Fn::GetOptionSetting":
              Namespace: "aws:autoscaling:launchconfiguration"
              OptionName: "IamInstanceProfile"
              DefaultValue: "aws-elasticbeanstalk-ec2-role"

Linux-based environment:

Code Block
files:
  "/tmp/breeze-agent.tgz":
    source: https://elasticbeanstalk-us-east-1-123456789098.s3.amazonaws.com/breeze-agent.tgz
    authentication: S3Auth

commands:
  "install breeze agent":
    test: test ! -d /opt/breeze-agent
    command: tar -xf /tmp/breeze-agent.tgz -C /tmp && /tmp/breeze-agent/install.sh

Resources:
  AWSEBAutoScalingGroup:
    Metadata:
      AWS::CloudFormation::Authentication:
        S3Auth:
          type: "s3"
          buckets: ["elasticbeanstalk-us-east-1-123456789098"]
          roleName:
            "Fn::GetOptionSetting":
              Namespace: "aws:autoscaling:launchconfiguration"
              OptionName: "IamInstanceProfile"
              DefaultValue: "aws-elasticbeanstalk-ec2-role"

Info

This configuration file contains 3 sections: Files, Commands and Resources (AWS). 

Files section delivers Breeze Agent installer to the instance from S3 bucket.

Commands section installs the Breeze Agent.

Resources creates an authentication role that allows access to the bucket with Breeze Agent installers to the Elastic Beanstalk.

For more configuration options see AWS documentation.

3. Deploy application with new .ebextension config.

...