You can use AWS CloudFront as a reverse proxy in front of your whole Drupal site.

This module provides a very simple AWS CloudFront Purge Purger plugin.

WARNING: You are charged for each invalidation on CloudFront. Do your own calculations before using this module.

Installation

This module requires you to have the AWS SDK loaded in your classpath.

The recommended approach is to install this module via composer, which will also
install the dependency. You can manually install the AWS SDK using the
following::

composer require aws/aws-sdk-php:~3.0

Configuration

You need to specify the Distribution ID in your settings.php.

$config['cloudfront_purger.settings']['distribution_id'] = 'ABCD1234';

Alternatively, you can use drush to set it, then export as part of your site configuration.

drush config-set cloudfront_purger.settings distribution_id ABCD1234

Overriding AWS CloudFront region.

You can override the CloudFront client region by adding the following to your sites services.yml file:

parameters:
  cloudfront.cloudfront_client.options:
    region: us-east-1
    version: latest

AWS Authentication

You can set the AWS key and secret in settings.php:

$config['cloudfront_purger.settings']['aws_key'] = 'ABCD1234';
$config['cloudfront_purger.settings']['aws_secret'] = 'ABCD1234';

If you do not explicitly set AWS key and secret in config, it will fall back to:

  • IAM Roles
  • Exporting credentials using environment variables
  • Using a profile in a ~/.aws/credentials file

See the AWS SDK Guide on Credentials

You will need to allow the cloudfront:CreateInvalidation action in your IAM policy.

Supporting organizations: 
Developed By

Project information

Releases