acme-dns-ụzọ53 bụ ngwá ọrụ ga-ekwe ka anyị mejuputa atụmatụ a. Ọ nwere ike ịrụ ọrụ na asambodo SSL sitere na Ka anyị Encrypt, chekwaa ha na njikwa Asambodo Amazon, jiri Route53 API mejuputa ihe ịma aka DNS-01, na, n'ikpeazụ, tinye ọkwa na SNS. N'ime acme-dns-ụzọ53 Enwekwara arụmọrụ arụnyere maka ojiji n'ime AWS Lambda, nke a bụkwa ihe anyị chọrọ.
E kewara akụkọ a na ngalaba anọ:
ịmepụta faịlụ zip;
ịmepụta ọrụ IAM;
ịmepụta ọrụ lambda na-agba ọsọ acme-dns-ụzọ53;
ịmepụta oge CloudWatch nke na-ebute ọrụ ugboro 2 n'ụbọchị;
acme-dns-route53 ka edere na GoLang ma na-akwado ụdị adịghị ala karịa 1.9.
Anyị kwesịrị ịmepụta faịlụ zip na ọnụọgụ abụọ acme-dns-route53 n'ime. Iji mee nke a, ịkwesịrị ịwụnye acme-dns-route53 site na ebe nchekwa GitHub site na iji iwu go install:
$ env GOOS=linux GOARCH=amd64 go install github.com/begmaroman/acme-dns-route53
Awụnyere ọnụọgụ abụọ $GOPATH/bin ndekọ. Biko mara na n'oge echichi anyị kọwapụtara gburugburu abụọ gbanwere: GOOS=linux и GOARCH=amd64. Ha na-eme ka o doo ndị Go compiler anya na ọ kwesịrị ịmepụta ọnụọgụ abụọ kwesịrị ekwesị maka Linux OS na amd64 architecture - nke a bụ ihe na-agba ọsọ na AWS.
AWS na-atụ anya ka etinyere mmemme anyị na faịlụ zip, yabụ ka anyị mepụta acme-dns-route53.zip Archive ga-enwe ọnụọgụ abụọ arụnyere ọhụrụ:
$ zip -j ~/acme-dns-route53.zip $GOPATH/bin/acme-dns-route53
Cheta na: ọnụọgụ abụọ kwesịrị ịdị na mgbọrọgwụ nke ebe nchekwa zip. Maka nke a anyị na-eji -j ọkọlọtọ.
Ugbu a aha otutu zip anyị dị njikere maka ibuga, naanị ihe fọdụrụ bụ ịmepụta ọrụ na ikike ndị dị mkpa.
Ịmepụta ọrụ IAM
Anyị kwesịrị ịmalite ọrụ IAM nwere ikike nke lambda anyị chọrọ n'oge a na-egbu ya.
Ka anyị kpọọ amụma a lambda-acme-dns-route53-executor ozugbo nye ya ọrụ bụ isi AWSLambdaBasicExecutionRole. Nke a ga-ekwe ka lambda anyị na-agba ọsọ wee dee ndekọ na ọrụ AWS CloudWatch.
Nke mbụ, anyị na-emepụta faịlụ JSON na-akọwa ikike anyị. Nke a ga-ekwe ka ọrụ lambda jiri ọrụ ahụ lambda-acme-dns-route53-executor:
Ugbu a, ka anyị mee iwu ahụ aws iam create-role imepụta ọrụ:
$ aws iam create-role --role-name lambda-acme-dns-route53-executor
--assume-role-policy-document ~/lambda-acme-dns-route53-executor-policy.json
Cheta na: cheta amụma ARN (Amazon Resource Name) - anyị ga-achọ ya na usoro ndị ọzọ.
Ọrụ lambda-acme-dns-route53-executor kere, ugbu a, anyị kwesịrị ezipụta ikike maka ya. Ụzọ kacha mfe ime nke a bụ iji iwu aws iam attach-role-policy, na-agafe amụma ARN AWSLambdaBasicExecutionRole dị ka ndị a:
$ aws iam attach-role-policy --role-name lambda-acme-dns-route53-executor
--policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
Cheta na: enwere ike ịchọta ndepụta nwere amụma ndị ọzọ ebe a.
Ịmepụta ọrụ lambda na-agba ọsọ acme-dns-ụzọ53
Hooray! Ugbu a ị nwere ike ibuga ọrụ anyị na AWS site na iji iwu ahụ aws lambda create-function. A ga-ahazirịrị lambda site na iji mgbanwe gburugburu ebe a:
AWS_LAMBDA - na-eme ka o doo anya acme-dns-ụzọ53 ogbugbu ahụ na-eme n'ime AWS Lambda.
DOMAINS - ndepụta ngalaba kewapụrụ site na rikoma.