proxy.golang.org : github.com/artyom/awsns
Command awsns creates/updates A/CNAME records for given DNS zone in AWS Route 53 for all running non-spot ec2 instances based on their "Name" tag. It can be run manually with -zone flag set to hosted zone ID and -suffix set to suffix to construct domain names from. Domain names constructed by concatenating value of the "Name" instance tag with suffix value set by -suffix flag. I.e., if ec2 instance tag "Name" is set to "jenkins" and the program is called with -suffix=".foo.example.com", then the constructed name would be jenkins.foo.example.com. Zone ID must match either example.com or foo.example.com zone in Route 53 console. The program may remove existing A/CNAME records matching given suffix if no corresponding non-spot ec2 instances found running. If ec2 instance has public DNS name, the program creates CNAME record pointing to such name; otherwise, it creates A record pointing to the public IP address. The program may also be run as AWS Lambda invoked by CloudWatch event created as "EC2 Instance State-change Notification" for "running" state. It then looks up suffix and zone id in SUFFIX and ZONE environment variables. Lambda needs permissions to describe EC2 instances and list/update Route 53 records; required permissions can be satisfied by using the following AWS managed policies: AmazonEC2ReadOnlyAccess, AmazonRoute53FullAccess, AWSLambdaBasicExecutionRole.
Registry
-
Source
- Documentation
- JSON
purl: pkg:golang/github.com/artyom/awsns
License: MIT
Latest release: over 2 years ago
First release: over 5 years ago
Namespace: github.com/artyom
Stars: 0 on GitHub
Forks: 0 on GitHub
See more repository details: repos.ecosyste.ms
Last synced: 5 days ago