serverless-aws-function-url-custom-domain

    0.9.19 • Public • Published

    serverless MIT licensed npm version npm downloads

    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

    Install

    npm i serverless-aws-function-url-custom-domain

    DownloadsWeekly Downloads

    79

    Version

    0.9.19

    License

    MIT

    Unpacked Size

    14.3 kB

    Total Files

    9

    Last publish

    Collaborators

    • hash256