mirror of
https://github.com/directus/directus.git
synced 2026-01-30 04:38:13 -05:00
68 lines
2.7 KiB
Markdown
68 lines
2.7 KiB
Markdown
# AWS
|
|
|
|
While there are many different ways to run Directus on AWS, from single EC2 instances to a full ELB load-balanced
|
|
configuration, we like the following combination of services:
|
|
|
|
- Elastic Beanstalk (EB)
|
|
- Elastic Load-Balancer (ELB)
|
|
- Elastic Compute Cloud (EC2)
|
|
- CodeDeploy
|
|
- Simple Storage Service (S3)
|
|
- Relational Database Service (RDS) (Aurora)
|
|
- CloudFront
|
|
- Route 53
|
|
|
|
## Elastic Beanstalk
|
|
|
|
Will run Directus in an autoscaling environment with a load balancer. Makes sure the instances stay alive, and will
|
|
replace individual instances in case of unexpected crashes.
|
|
|
|
We recommend setting up a repo in GitHub (or another Git provider) and configuring it using
|
|
[our manual installation flow](/getting-started/installation/manual). This allows you to later hook up the repo to your
|
|
Elastic Beanstalk instance through CodeDeploy.
|
|
|
|
See
|
|
[Deploying Node.js applications to Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs.html)
|
|
for more information.
|
|
|
|
Directus' configuration is all set through environment variables. For a full overview of all available environment
|
|
variables, see [Environment Variables](/configuration/config-options)
|
|
|
|
## CodeDeploy
|
|
|
|
Allows you to automatically deploy updates to your Directus instance or extensions to Elastic Beanstalk.
|
|
|
|
See
|
|
[Automatically Deploy from GitHub Using AWS CodeDeploy](https://aws.amazon.com/blogs/devops/automatically-deploy-from-github-using-aws-codedeploy/)
|
|
for more information.
|
|
|
|
## Simple Storage Service (S3)
|
|
|
|
Ideal place to store files uploaded to Directus. Your bucket doesn't have to be publicly accessible to the web; Directus
|
|
will stream files from and to the bucket in its /asset endpoint.
|
|
|
|
See [Creating a bucket](https://docs.aws.amazon.com/AmazonS3/latest/gsg/CreatingABucket.html) for more information.
|
|
|
|
## Relational Database Service (RDS) (Aurora)
|
|
|
|
While you can technically use any of the SQL based databases offered in AWS, we like to use Aurora. It's auto-scaling
|
|
and use-based costs have worked out pretty well for us in the past.
|
|
|
|
## CloudFront
|
|
|
|
While it's not a technical requirement, it's not a bad idea to configure a CloudFront instance in front of your EB
|
|
environment. This protects you from DDoS attacks and allows you to cache repeated calls to assets in its CDN.
|
|
|
|
See
|
|
[Using Elastic Beanstalk with Amazon CloudFront](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.cloudfront.html)
|
|
for more information.
|
|
|
|
## Route 53
|
|
|
|
The last piece of this puzzle is to assign a domain name to your CloudFront instance. You can use Route 53 for this
|
|
purpose.
|
|
|
|
See
|
|
[Routing traffic to an Amazon CloudFront web distribution by using your domain name](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-cloudfront-distribution.html)
|
|
for more information.
|