Test cloudformation Route53 records
Wie schon im Beitrag Testen von DNS Records beschrieben habe ich das Script erweitert um einen automatisierten Test zu schreiben, welcher die zu testenden Subdomains aus einen Cloudformation Template nimmt.
Script
#!/bin/bash
set -e
getsub=$(grep "Name" elastic2ls-com.yaml |awk {'print $3'}|sed 's/\\052/*/g')
records=(NS SOA MX A CNAME AAAA TXT PTR)
getrecords=${#records[@]}
for subdomains in $getsub
do
for ((i=0; i<$getrecords; i++))
do
OUTPUT=$(dig $1 $subdomains ${records[$i]} |grep $subdomains |grep -v ";" |cut -d ":" -f2|grep ${records[$i]}|awk {'print $1 " " $4 " " $5'})
echo -e "$OUTPUT\n"|sed -e '/^ *$/d'
done
done
Cloudformation
AWSTemplateFormatVersion: 2010-09-09
Resources:
zoneelastic2lscom:
Type: 'AWS::Route53::HostedZone'
Properties:
Name: elastic2ls.com.
dnselastic2lscom:
Type: 'AWS::Route53::RecordSetGroup'
Properties:
HostedZoneId: !Ref zoneelastic2lscom
RecordSets:
- Name: elastic2ls.com.
Type: MX
TTL: '3600'
ResourceRecords:
- 50 mx0.elastic2ls.com.
dns052elastic2lscom:
Type: 'AWS::Route53::RecordSetGroup'
Properties:
HostedZoneId: !Ref zoneelastic2lscom
RecordSets:
- Name: \052.elastic2ls.com.
Type: A
TTL: '3600'
ResourceRecords:
- 18.197.126.221
dnselastic2lscom:
Type: 'AWS::Route53::RecordSetGroup'
Properties:
HostedZoneId: !Ref zoneelastic2lscom
RecordSets:
- Name: elastic2ls.com.
Type: A
TTL: '3600'
ResourceRecords:
- 18.197.126.221
dnselastic2lscom:
Type: 'AWS::Route53::RecordSetGroup'
Properties:
HostedZoneId: !Ref zoneelastic2lscom
RecordSets:
- Name: elastic2ls.com.
Type: CNAME
TTL: '3600'
ResourceRecords:
- www.elastic2ls.com
dnstxtelastic2lscom:
Type: 'AWS::Route53::RecordSetGroup'
Properties:
HostedZoneId: !Ref zoneelastic2lscom
RecordSets:
- Name: elastic2ls.com..
Type: TXT
TTL: '600'
ResourceRecords:
- >-
"google-site-verification=nv1IwH7ZXh0VqBi4Lids5-jA_pQZ52rYJ8DGUSjRzWk"
Output
elastic2ls.com. NS ns2.hans.hosteurope.de.
elastic2ls.com. NS ns1.hans.hosteurope.de.
elastic2ls.com. SOA ns1.hans.hosteurope.de.
elastic2ls.com. MX 50 mx0.elastic2ls.com
elastic2ls.com. A 18.197.126.221
elastic2ls.com. TXT "google-site-verification=nv1IwH7ZXh0VqBi4Lids5-jA_pQZ52rYJ8DGUSjRzWk"