AWS Elastic Beanstalk

From Littledamien Wiki
Jump to navigation Jump to search

Configuration

Web application configuration files

AWS eb cli configuration

Configuration is stored in .elasticbeanstalk/config.yml.

This file should not be included in git repo.

The Elastic Beanstalk (EBS) application and environment names are specified in this yaml file. This is determines these properties for the AWS eb cli.

By default, eb deploy will upload all files in the git repo.

Server configuration

.config files in .ebextensions/ contain server configuration directives. [1]

Files are processed in alphabetical order.

The directives in the files are processed on the server. The config files are uploaded to a staging directory, e.g. /var/app/staging/ where they are executed. They are not moved to the web root directory with the rest of the web app files.

Uploading a distribution outside of git

To upload another installation, e.g. wiki files, specify a zip archive to upload to the server in .elasticbeanstalk/config.yml:

deploy:
    artifact: name_of_archive.zip

eb deploy will look in the project root for the zip file.

If it is necessary to upload .ebextensions config files, these files must be added to the root of the zipped distribution.

Security rules

AWS Console > EC2 > instances > instance linked to EBS environment > details > click on security group > inbound rules tab

Open up the SSH port (22) to specific public IP of the local development LAN. e.g. XX.XX.XX.XX/32 where XX.XX.XX.XX is the IPv4 public address.

Open up the HTTPS port (443) to all IP addresses, e.g. 0.0.0.0/0 and ::/0

Note that this configuration can be placed in an .ebextensions config file. See Open the HTTPS port for Let's Encrypt certificates.

Web app environment variables

Any variables needed by the app can be stored here. E.g. LETSENCRYPT_DOMAIN for the purposes of installing a security certificate, or RDS connection properties.

  • AWS Management Console > Elastic Beanstalk > web app environment > Configuration > Software Group > Edit
  • Scroll down to Environment Properties at the bottom
  • Enter key/value pairs as needed

These key/value pairs can be created in an .ebextensions config file, but should be created manually if they contain sensitive information.

Deployment

Use the Elastic Beanstalk Command Line Interface (EB CLI) to deploy applications to EBS.

From the root of the local application directory:

$ eb deploy

Upgrading the platform of an Elastic Beanstalk instance

  • AWS Management Console > Compute > Elastic Beanstalk
  • Click on an EB instance
  • Under Platform on the left click the Change button.
  • Select the new platform from the dropdown and click Save

Troubleshooting

See Troubleshooting Elastic Beanstalk Deployment