Dynamic DNS (DDNS) powered by AWS Lambda and Route 53. Easy to deploy. Nearly free to run.
Provides an API powered by API Gateway and 2 small Lambda functions. Updates DNS records in Route 53. Built with AWS CDK/CloudFormation for 1 click deployment and updates.
The API provides the same interface as DynDNS (dyn.com) so it should work as a drop-in replacement.
Create AWS CloudFormation Stack
# install dependencies
npm install --production
# configure
cp ./src/config.example.js ./config.js
nano ./config.js
# deploy stack to AWS
cdk deploy # optional flag: --profile aws-profile-to-use
- npm
- cdk (
npm i -g aws-cdk
) or usenpx cdk
# install dev dependencies
npm install
The meat is in /src/stack.ts
and /src/functions/
. Everthing at root is project configuration.
Everything in /standalone
relates to creating the standalone CloudFormation template (modified version of the generated template that is meant to be used with CloudFormation directly and not through CDK). You probably don't need anything in there unless you are releasing standalone templates.
cdk deploy
deploy this stack to your default AWS account/regioncdk diff
compare deployed stack with current statecdk synth
emits the synthesized CloudFormation template
Use --profile
flag to specify an AWS profile other than default
.