This plugin allow you to call a CLI command to create and remove an AWS Route 53 hosted zone. This plugin is designed for the Serverless Framework 1.x and above.
- Serverless Framework 1.x.
- Node 10.x or greater.
- NPM 6.x or greater.
Visit the Getting Started with the Serverless Framework to get started with the Serverless Framework.
Install with npm:
npm install -g serverless
Install with npm:
npm install --save-dev serverless-hosted-zone
And then add the plugin to your serverless.yml
file:
plugins:
- serverless-hosted-zone
custom:
hostedZone:
name: domain.com.
See the example(s).
Run the CLI command to create the hosted zone:
sls create-zone
Update the serverless.yml
file:
custom:
hostedZone:
name: domain.com.
aliases:
- type: cloudfrontDistribution
cname: api.domain.com.
Run the CLI command to create the alias for the hosted zone:
sls create-aliases
Note: This feature is currently not supported.
Run the CLI command to create the hosted zone:
sls remove-zone
Note: This feature is currently not supported.
Run the CLI command to create the hosted zone:
sls remove-aliases
The plugin will skip the execution instead of throwing an error when the configuration is missing in the serverless.yml
file.
Please request features or report problems using the issues page.
You may use this IAM policy as a starting point:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"route53:ListHostedZones",
"cloudfront:ListDistributions"
],
"Resource": "*",
"Effect": "Allow",
"Sid": "ServerlessHostedZonePlugin1"
},
{
"Action": [
"route53:CreateHostedZone",
"route53:ChangeResourceRecordSets",
"route53:ListResourceRecordSets"
],
"Resource": "arn:aws:route53:::hostedzone/*",
"Effect": "Allow",
"Sid": "ServerlessHostedZonePlugin2"
}
]
}
See the included LICENSE for rights and limitations under the terms of the MIT license.