Automation of Let's Encrypt SSL management certificate using DNS-01 challenge and AWS
Ny lahatsoratra dia mamaritra ny dingana hanamarihana ny fitantanana ny mari-pankasitrahana SSL avy amin'ny Andao Encrypt CA mampiasa DNS-01 fanamby и AWS.
acme-dns-route53 dia fitaovana ahafahantsika mampihatra io endri-javatra io. Afaka miara-miasa amin'ny mari-pankasitrahana SSL avy amin'ny Let's Encrypt izy, tehirizo ao amin'ny Amazon Certificate Manager, mampiasa ny Route53 API hampiharana ny fanamby DNS-01, ary farany, manosika fampandrenesana amin'ny SNS. IN acme-dns-route53 Misy ihany koa fampiasa naorina azo ampiasaina ao anatin'ny AWS Lambda, ary izany no ilaintsika.
Fanamarihana: Alohan'ny hanombohanao dia mila mametraka ianao GoLang 1.9+ и AWS CLI
Mamorona rakitra zip
acme-dns-route53 dia voasoratra ao amin'ny GoLang ary manohana ny dikan-teny tsy latsaky ny 1.9.
Mila mamorona rakitra zip miaraka amin'ny binary isika acme-dns-route53 ao anatiny. Mba hanaovana izany dia mila mametraka acme-dns-route53 avy amin'ny tahiry GitHub mampiasa ny baiko go install:
$ env GOOS=linux GOARCH=amd64 go install github.com/begmaroman/acme-dns-route53
Ny binary dia napetraka ao $GOPATH/bin lahatahiry. Mariho fa nandritra ny fametrahana dia nanondro tontolo niova roa izahay: GOOS=linux и GOARCH=amd64. Nazavain'izy ireo tamin'ny Go compiler fa mila mamorona binary mety amin'ny Linux OS sy ny maritrano amd64 - izany no mandeha amin'ny AWS.
Manantena ny AWS fa hapetraka ao anaty rakitra zip ny programantsika, ka andao hamorona acme-dns-route53.zip archive izay ahitana ny binary vao napetraka:
$ zip -j ~/acme-dns-route53.zip $GOPATH/bin/acme-dns-route53
Fanamarihana: Ny binary dia tokony ho eo amin'ny fototry ny arsiva zip. Ho an'ity dia ampiasainay -j saina.
Ankehitriny ny anaram-bositra zip dia vonona amin'ny fametrahana, ny hany sisa tavela dia ny mamorona andraikitra miaraka amin'ny zo ilaina.
Famoronana anjara IAM
Mila manangana andraikitry ny IAM miaraka amin'ny zo takian'ny lambdantsika isika mandritra ny fanatanterahana azy.
Andeha hantsoina ity politika ity lambda-acme-dns-route53-executor ary avy hatrany dia omeo anjara fototra izy AWSLambdaBasicExecutionRole. Izany dia ahafahan'ny lambdantsika mihazakazaka sy manoratra logs amin'ny serivisy AWS CloudWatch.
Voalohany, mamorona rakitra JSON izay mamaritra ny zonay izahay. Izany dia mamela ny serivisy lambda hampiasa ny anjara andraikitra lambda-acme-dns-route53-executor:
Andeha hojerentsika izao ny baiko aws iam create-role hamorona anjara:
$ aws iam create-role --role-name lambda-acme-dns-route53-executor
--assume-role-policy-document ~/lambda-acme-dns-route53-executor-policy.json
Fanamarihana: tadidio ny politika ARN (Amazon Resource Name) - mila izany isika amin'ny dingana manaraka.
anjara asa lambda-acme-dns-route53-executor noforonina, mila mamaritra ny fahazoan-dàlana amin'izany isika. Ny fomba tsotra indrindra hanaovana izany dia ny fampiasana ny baiko aws iam attach-role-policy, mandalo politika ARN AWSLambdaBasicExecutionRole toy izao manaraka izao:
$ aws iam attach-role-policy --role-name lambda-acme-dns-route53-executor
--policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
Fanamarihana: misy lisitra misy politika hafa azo jerena eto.