acme-dns-ruta53 usa ka himan nga magtugot kanamo sa pagpatuman niini nga bahin. Mahimo kini nga magamit sa mga sertipiko sa SSL gikan sa Let's Encrypt, i-save kini sa Amazon Certificate Manager, gamita ang Route53 API aron ipatuman ang hagit sa DNS-01, ug, sa katapusan, iduso ang mga pahibalo sa SNS. SA acme-dns-ruta53 Adunay usab built-in nga pag-andar para magamit sa sulod sa AWS Lambda, ug kini ang kinahanglan namon.
Kini nga artikulo gibahin sa 4 nga mga seksyon:
paghimo og zip file;
paghimo og papel sa IAM;
paghimo og lambda function nga nagdagan acme-dns-ruta53;
paghimo usa ka CloudWatch timer nga mag-trigger sa usa ka function 2 beses sa usa ka adlaw;
Mubo nga sulat: Sa dili ka pa magsugod kinahanglan nimo nga i-install GoLang 1.9+ ΠΈ AWS CLI
Paghimo og zip file
Ang acme-dns-route53 gisulat sa GoLang ug nagsuporta sa bersyon nga dili ubos sa 1.9.
Kinahanglan namon nga maghimo usa ka zip file nga adunay binary acme-dns-route53 sulod. Aron mahimo kini kinahanglan nimo nga i-install acme-dns-route53 gikan sa GitHub repository gamit ang command go install:
$ env GOOS=linux GOARCH=amd64 go install github.com/begmaroman/acme-dns-route53
Ang binary gi-install sa $GOPATH/bin direktoryo. Palihug timan-i nga sa panahon sa pag-instalar among gipiho ang duha ka nausab nga mga palibot: GOOS=linux ΠΈ GOARCH=amd64. Gipatin-aw nila sa Go compiler nga kinahanglan nga maghimo usa ka binary nga angay alang sa Linux OS ug amd64 nga arkitektura - kini ang nagdagan sa AWS.
Gilauman sa AWS nga ang among programa ma-deploy sa usa ka zip file, busa maghimo kita acme-dns-route53.zip archive nga maglangkob sa bag-ong na-install nga binary:
$ zip -j ~/acme-dns-route53.zip $GOPATH/bin/acme-dns-route53
Mubo nga sulat: Ang binary kinahanglan nga anaa sa gamut sa zip archive. Alang niini among gigamit -j bandera.
Karon ang among zip nickname andam na alang sa pag-deploy, ang nahabilin mao ang paghimo usa ka papel nga adunay kinahanglan nga mga katungod.
Paghimo usa ka tahas sa IAM
Kinahanglan namon nga maghimo usa ka tahas sa IAM nga adunay mga katungod nga gikinahanglan sa among lambda sa panahon sa pagpatuman niini.
Tawgon nato kini nga palisiya lambda-acme-dns-route53-executor ug hatagan dayon siya ug batakang papel AWSLambdaBasicExecutionRole. Kini magtugot sa among lambda sa pagdagan ug pagsulat sa mga troso sa serbisyo sa AWS CloudWatch.
Una, naghimo kami og JSON file nga naghulagway sa among mga katungod. Kini sa tinuud magtugot sa mga serbisyo sa lambda nga magamit ang papel lambda-acme-dns-route53-executor:
Karon atong padaganon ang sugo aws iam create-role sa paghimo sa usa ka papel:
$ aws iam create-role --role-name lambda-acme-dns-route53-executor
--assume-role-policy-document ~/lambda-acme-dns-route53-executor-policy.json
Mubo nga sulat: hinumdumi ang polisiya ARN (Amazon Resource Name) - kinahanglan nato kini sa sunod nga mga lakang.
Ang papel sa lambda-acme-dns-route53-executor gibuhat, karon kinahanglan naton ipiho ang mga pagtugot alang niini. Ang pinakasayon ββnga paagi sa pagbuhat niini mao ang paggamit sa sugo aws iam attach-role-policy, pagpasa sa polisiya sa ARN AWSLambdaBasicExecutionRole ingon sa mosunod:
$ aws iam attach-role-policy --role-name lambda-acme-dns-route53-executor
--policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
Mubo nga sulat: ang usa ka lista uban sa ubang mga polisiya makita dinhi.
Paghimo og lambda function nga nagdagan acme-dns-ruta53
Hooray! Karon mahimo nimong i-deploy ang among function sa AWS gamit ang command aws lambda create-function. Ang lambda kinahanglang i-configure gamit ang mosunod nga environment variables:
AWS_LAMBDA - nagpatin-aw niini acme-dns-ruta53 kana nga pagpatay mahitabo sa sulod sa AWS Lambda.
DOMAINS β usa ka lista sa mga dominyo nga gibulag sa mga koma.