serverless-multi-regional-plugin

1.0.7 • Public • Published

serverless-multi-regional-plugin

This plugin will add the resources to configure API Gateway regional endpoints and a global endpoint with CloudFront.

  1. Install plugin:
npm install serverless-multi-regional-plugin --save-dev
  1. Create your hosted zone and certificates

Using the diagram above as an example the hosted zone would be for example.com and the certificate would be for *.example.com. Create the same certificate in each region to support the regional endpoints. The global endpoint requires a certificate in the us-east-1 region.

  1. serverless.yml:
plugins:
  - serverless-multi-regional-plugin

custom:
  dns:
    hostedZoneId: ZZZZZZZZZZZZZZ
    domainName: ${self:service}.example.com
    regionalDomainName: ${opt:stage}-${self:custom.dns.domainName}
    us-east-1:
      acmCertificateArn: arn:aws:acm:us-east-1:111111111111:certificate/55555555-5555-5555-5555-5555555555555555
      # healthCheckId: 44444444-4444-4444-4444-444444444444
    us-west-2:
      acmCertificateArn: arn:aws:acm:us-west-2:111111111111:certificate/55555555-5555-5555-5555-5555555555555555
      # healthCheckId: 33333333-3333-3333-3333-333333333333
  cdn:
    region: us-east-1
    aliases:
      - ${self:custom.dns.domainName}
    # headers:
    priceClass: PriceClass_100
    acmCertificateArn: ${self:custom.dns.us-east-1.acmCertificateArn}
    logging:
      bucket: example-auditing.s3.amazonaws.com
      prefix: aws-cloudfront/api/${opt:stage}/${self:service}
    # webACLId:
  1. Deploy to each region

Related Documentation

Dependencies (2)

Dev Dependencies (1)

Package Sidebar

Install

npm i serverless-multi-regional-plugin

Weekly Downloads

191

Version

1.0.7

License

MIT

Unpacked Size

232 kB

Total Files

8

Last publish

Collaborators

  • jgilbert01