I have been encountering an issue where my RDS cannot connect to new instances EB load balancer spins up. I assume I have not configured EB properly. Take a look at this guide instead.
I tried this Laravel forge load balancer guide too.
Create a new IAM user access_id and secret_key.
Elastic beanstalk CLI
Clone your repo into a new directory and go to it.
Fire up a new EB instance
$ eb init
If you have multiple profiles in your ~/.aws/config
$ eb init --profile name
For the initial deployment.
This is going to fail because we haven’t uploaded our configs.
We want classic deployment.
$ eb create environment_name
Do not create a DB with EB.
Create a separate RDS instance in your management console.
Add it to your App’s security group.
Run on deployment
Add these files to your project before you deploy:
$ eb deploy
Set the APP_URL in configuration > software configuration.
e.g. http://localhost or https://staging.example.com
Go to EB > configuration > software and add your config.
It must reflect database.pro
S3 bucket config
Clone the staging environment in AWS console. Initially it will fail.
- Allow office IP
- Copy the data over to the new DB
Route 53 > Hosted Zone > Create a hosted zone.
Point domain name to AWS name servers.
Create SSL cert
Certificate manager > request a cert
Redirect to https
Configuration > Load balancing > Protocol & SSL Certificate ID
Uncomment https redirect in .ebextensions/01setup.config
composer require owenmelbz/https-enforcement
* 3- Apparently you don’t need to include this in your .env
Add this condition to your AppServiceProvider boot method.