Skip to content

serverless plugin to setup custom domain for lambdas deployed with function url.

License

Notifications You must be signed in to change notification settings

wangsha/serverless-aws-function-url-custom-domain

Repository files navigation

serverless MIT licensed npm version npm downloads pre-commit

serverless-aws-function-url-custom-domain

Automatically creates AWS CloudFront distribution and Route 53 records to AWS Lambda with Function URL (no api gateway).

Installation

npm install --save-dev serverless-aws-function-url-custom-domain

Configuration

This plugin assumes your domain is hosted and managed with AWS Route53. SSL certificate is managed via certificate manager.

# add in your serverless.yml

plugins:
  - serverless-aws-function-url-custom-domain


custom:
  urlDomain:
    domains:
      - ${env:SUBDOMAIN}.yourdomain.com  # custom domain 1
      - ${env:SUBDOMAIN}-alt.yourdomain.com  # custom domain 2
    hostedZoneName: yourdomain.com.  # your domain Route 53 hosted zone name
    certificateArn: 'arn:aws:acm:us-east-1:xxxxx:certificate/xxxxx' # need to be located at NVirgina
    route53: false # disable route 53 integration
functions:
  api:
    handler: wsgi_handler.handler
    url: true # activate function URL!

Deploy

serverless deploy

Inspect Result

serverless info --verbose
Output:


CloudFront domain name
  xxxxx.cloudfront.net (CNAME: ${env:SUBDOMAIN}.yourdomain.com)

IAM Policy

In order to make this plugin work as expected a few additional IAM Policies might be needed on your AWS profile.

More specifically this plugin needs the following policies attached:

  • cloudfront:CreateDistribution
  • cloudfront:GetDistribution
  • cloudfront:UpdateDistribution
  • cloudfront:DeleteDistribution
  • cloudfront:TagResource
  • route53:ListHostedZones
  • route53:ChangeResourceRecordSets
  • route53:GetHostedZone
  • route53:ListResourceRecordSets
  • acm:ListCertificates

You can read more about IAM profiles and policies in the Serverless documentation.

References

About

serverless plugin to setup custom domain for lambdas deployed with function url.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •