DNS-01 рдЪреБрдиреМрддреА рдФрд░ AWS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП SSL рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рдмрдВрдзрди рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░реЗрдВ

рдкреЛрд╕реНрдЯ рдореЗрдВ DNS-01 рдЪреИрд▓реЗрдВрдЬ рдФрд░ AWS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдЪрд▓реЛ рдПрдирдПрдПрд╕рд╕реА рд╕реАрдП рд╕реЗ рдПрд╕рдПрд╕рдПрд▓ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдЪрд░рдгреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред


acme-dns-path53 рдПрдХ рдЙрдкрдХрд░рдг рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рд╡рд╣ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рд▓реЗрдЯреНрд╕ рдПрдирдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдПрд╕рдПрд╕рдПрд▓ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдЕрдореЗрдЬрд╝реЕрди рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдореИрдиреЗрдЬрд░ рдореЗрдВ рд╕реЗрд╡ рдХрд░реЗрдВ, DNS-01 рдЪреИрд▓реЗрдВрдЬ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░реВрдЯ 53 рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рдЕрдВрдд рдореЗрдВ, рдПрд╕рдПрдирдПрд╕ рдореЗрдВ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди рдкреБрд╢ рдХрд░реЗрдВред Acme-dns-path53 рдореЗрдВ AWS рд▓реИрдореНрдмреНрдбрд╛ рдХреЗ рдЕрдВрджрд░ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рднреА рд╣реИ, рдФрд░ рдпрд╣реА рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдПред


рдпрд╣ рд▓реЗрдЦ 4 рдЦрдВрдбреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИ:


  • рдЬрд╝рд┐рдк рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ;
  • IAM рднреВрдорд┐рдХрд╛ рдмрдирд╛рдирд╛;
  • рдПрдХ рд▓реИрдореНрдмреНрдбрд╛ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдирд╛ рдЬреЛ рдПрдХреНрдореЗ-рдбреАрдПрдирдПрд╕-рд░реВрдЯ 53 рдЪрд▓рд╛рддрд╛ рд╣реИ ;
  • рдПрдХ CloudWatch рдЯрд╛рдЗрдорд░ рдмрдирд╛рдирд╛ рдЬреЛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рджрд┐рди рдореЗрдВ 2 рдмрд╛рд░ рдЪрд▓рд╛рддрд╛ рд╣реИ;

рдиреЛрдЯ: рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ GoLang 1.9+ рдФрд░ AWS CLI рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛


рдПрдХ рдЬрд╝рд┐рдк рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ


acme-dns-path53 GoLang рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ 1.9 рд╕реЗ рдХрдо рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред


рд╣рдореЗрдВ рдЕрдВрджрд░ acme-dns-route53 рд╕рд╛рде рдПрдХ рдЬрд╝рд┐рдк рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, go install рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ acme-dns-route53 рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ acme-dns-route53 go install :


 $ env GOOS=linux GOARCH=amd64 go install github.com/begmaroman/acme-dns-route53 

рдмрд╛рдЗрдирд░реА $GOPATH/bin рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реИред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рджреМрд░рд╛рди рд╣рдордиреЗ рджреЛ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП: GOOS=linux рдФрд░ GOARCH=amd64 ред рд╡реЗ рд▓рд┐рдирдХреНрд╕ рд╕рдВрдХрд▓рдХ рдФрд░ amd64 рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдмрд╛рдЗрдирд░реА рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЧреЛ рд╕рдВрдХрд▓рдХ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ - рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИред
AWS рдПрдХ рдЬрд╝рд┐рдк рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рддреИрдирд╛рдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдЗрдП рдПрдХ acme-dns-route53.zip рд╕рдВрдЧреНрд░рд╣ рдмрдирд╛рдПрдВ рдЬрд┐рд╕рдореЗрдВ рдирдпрд╛ рд╕реНрдерд╛рдкрд┐рдд рдмрд╛рдЗрдирд░реА рд╣реЛрдЧрд╛:


 $ zip -j ~/acme-dns-route53.zip $GOPATH/bin/acme-dns-route53 

рдиреЛрдЯ: рдмрд╛рдЗрдирд░реА рдЬрд┐рдк рд╕рдВрдЧреНрд░рд╣ рдХреЗ рдореВрд▓ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдо -j рдзреНрд╡рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред


рдЕрдм рд╣рдорд╛рд░рд╛ рдЬрд┐рдк рдЙрдкрдирд╛рдо рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИ, рдпрд╣ рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рднреВрдорд┐рдХрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИред


IAM рд░реЛрд▓реНрд╕ рдмрдирд╛рдПрдВ


рдЗрд╕рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди рд╣рдорд╛рд░реЗ рд▓рдВрдмреЛрджрд░ рдХреА рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рд╣рдореЗрдВ IAM рднреВрдорд┐рдХрд╛ рдкрд░ рдЬреЛрд░ рджреЗрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред
рдЖрдЗрдП рдЗрд╕ рдиреАрддрд┐ рдХреЛ lambda-acme-dns-route53-executor рдФрд░ рддреБрд░рдВрдд рдЗрд╕реЗ AWSLambdaBasicExecutionRole рдХреА рдореВрд▓ рднреВрдорд┐рдХрд╛ AWSLambdaBasicExecutionRole ред рдпрд╣ рд╣рдорд╛рд░реЗ рд▓реИрдореНрдмреНрдбрд╛ рдХреЛ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдХреНрд▓рд╛рдЙрдбрд╡рд╛рдЪ рд╕реЗрд╡рд╛ рдореЗрдВ рд▓реЙрдЧ рд╢реБрд░реВ рдХрд░рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдПрдХ JSON рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВ рдЬреЛ рд╣рдорд╛рд░реЗ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреА рд╣реИред рдпрд╣ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ lambda-acme-dns-route53-executor рднреВрдорд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реИрдореНрдмреНрдбрд╛ рд╕реЗрд╡рд╛рдУрдВ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛:


 $ touch ~/lambda-acme-dns-route53-executor-policy.json 

рд╣рдорд╛рд░реА рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:


 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup" ], "Resource": "arn:aws:logs:<AWS_REGION>:<AWS_ACCOUNT_ID>:*" }, { "Effect": "Allow", "Action": [ "logs:PutLogEvents", "logs:CreateLogStream" ], "Resource": "arn:aws:logs:<AWS_REGION>:<AWS_ACCOUNT_ID>:log-group:/aws/lambda/acme-dns-route53:*" }, { "Sid": "", "Effect": "Allow", "Action": [ "route53:ListHostedZones", "cloudwatch:PutMetricData", "acm:ImportCertificate", "acm:ListCertificates" ], "Resource": "*" }, { "Sid": "", "Effect": "Allow", "Action": [ "sns:Publish", "route53:GetChange", "route53:ChangeResourceRecordSets", "acm:ImportCertificate", "acm:DescribeCertificate" ], "Resource": [ "arn:aws:sns:<AWS_REGION>:<AWS_ACCOUNT_ID>:<TOPIC_NAME>", "arn:aws:route53:::hostedzone/*", "arn:aws:route53:::change/*", "arn:aws:acm:<AWS_REGION>:<AWS_ACCOUNT_ID>:certificate/*" ] } ] } 

рдЕрдм aws iam create-role рд▓рд┐рдП aws iam create-role рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдВ:


 $ aws iam create-role --role-name lambda-acme-dns-route53-executor \ --assume-role-policy-document ~/lambda-acme-dns-route53-executor-policy.json 

рдиреЛрдЯ: рдпрд╛рдж рд░рдЦреЗрдВ рдиреАрддрд┐ ARN (рдЕрдореЗрдЬрд╝рди рд╕рдВрд╕рд╛рдзрди рдирд╛рдо) - рд╣рдореЗрдВ рдЕрдЧрд▓реЗ рдЪрд░рдгреЛрдВ рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред


lambda-acme-dns-route53-executor рднреВрдорд┐рдХрд╛ рдмрдирд╛рдИ рдЧрдИ рд╣реИ, рдЕрдм рд╣рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐рдпрд╛рдБ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ, AWSLambdaBasicExecutionRole aws iam attach-role-policy рдЖрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, AWSLambdaBasicExecutionRole ARN AWSLambdaBasicExecutionRole рдХреЛ рдирд┐рдореНрди рдкреНрд░рдХрд╛рд░ рд╕реЗ рдкрд╛рд░рд┐рдд AWSLambdaBasicExecutionRole :


 $ aws iam attach-role-policy --role-name lambda-acme-dns-route53-executor \ --policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole 

рдиреЛрдЯ: рдЕрдиреНрдп рдиреАрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реВрдЪреА рдпрд╣рд╛рдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИ ред


рдПрдХ рднреЗрдбрд╝ рдХрд╛ рдмрдЪреНрдЪрд╛ рд╕рдорд╛рд░реЛрд╣ рд╣реИ рдХрд┐ acme-dns-path53 рдЪрд▓рд╛рддрд╛ рд╣реИ


рд╣реБрд░реНрд░реЗ! рдЕрдм рдЖрдк AWS aws lambda create-function рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рдорд╛рд░реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ AWS рдореЗрдВ рддреИрдирд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реИрдореНрдмреНрдбрд╛ рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:


  • AWS_LAMBDA - acme-dns-path53 рд╕рдордЭрддрд╛ рд╣реИ рдХрд┐ рдирд┐рд╖реНрдкрд╛рджрди AWS рд▓реИрдореНрдмреНрдбрд╛ рдХреЗ рдЕрдВрджрд░ рд╣реЛрддрд╛ рд╣реИред
  • DOMAINS - рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдХрд┐рдП рдЧрдП рдбреЛрдореЗрди рдХреА рдПрдХ рд╕реВрдЪреАред
  • LETSENCRYPT_EMAIL - рдИрдореЗрд▓ рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рддреЗ рд╣реИрдВ ред
  • NOTIFICATION_TOPIC - SNS рдЕрдзрд┐рд╕реВрдЪрдирд╛ рд╡рд┐рд╖рдп рдирд╛рдо (рд╡реИрдХрд▓реНрдкрд┐рдХ)ред
  • STAGING - рдпрджрд┐ 1 рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕реНрдЯреЗрдЬрд┐рдВрдЧ рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • RENEW_BEFORE - рдЙрд╕ рджрд┐рди рдХреА рд╕рдВрдЦреНрдпрд╛ рдЬреЛ рдЙрд╕ рдЕрд╡рдзрд┐ рдХреА рд╕рдорд╛рдкреНрддрд┐ рд╕реЗ рдкрд╣рд▓реЗ рдХреА рдЕрд╡рдзрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИ рдЬрд┐рд╕рдХреЗ рджреМрд░рд╛рди рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЛ рдирд╡реАрдиреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
  • 1024 рдПрдордмреА - рдореЗрдореЛрд░реА рд╕реАрдорд╛, рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдЕрдзреАрдиред
  • 900 рд╕реЗрдХрдВрдб (15 рдорд┐рдирдЯ) - рдЯрд╛рдЗрдордЖрдЙрдЯред
  • acme-dns-route53 - рд╣рдорд╛рд░реЗ рдмрд╛рдЗрдирд░реА рдХрд╛ рдирд╛рдо, рдЬреЛ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рд╣реИред
  • fileb://~/acme-dns-route53.zip - рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд▓рд┐рдП рдкрдеред

рдЕрдм рддреИрдирд╛рдд рд╣реИрдВ:


 $ aws lambda create-function \ --function-name acme-dns-route53 \ --runtime go1.x \ --role arn:aws:iam::<AWS_ACCOUNT_ID>:role/lambda-acme-dns-route53-executor \ --environment Variables="{AWS_LAMBDA=1,DOMAINS=\"example1.com,example2.com\",LETSENCRYPT_EMAIL=begmaroman@gmail.com,STAGING=0,NOTIFICATION_TOPIC=acme-dns-route53-obtained,RENEW_BEFORE=7}" \ --memory-size 1024 \ --timeout 900 \ --handler acme-dns-route53 \ --zip-file fileb://~/acme-dns-route53.zip { "FunctionName": "acme-dns-route53", "LastModified": "2019-05-03T19:07:09.325+0000", "RevisionId": "e3fadec9-2180-4bff-bb9a-999b1b71a558", "MemorySize": 1024, "Environment": { "Variables": { "DOMAINS": "example1.com,example2.com", "STAGING": "1", "LETSENCRYPT_EMAIL": "your@email.com", "NOTIFICATION_TOPIC": "acme-dns-route53-obtained", "RENEW_BEFORE": "7", "AWS_LAMBDA": "1" } }, "Version": "$LATEST", "Role": "arn:aws:iam::<AWS_ACCOUNT_ID>:role/lambda-acme-dns-route53-executor", "Timeout": 900, "Runtime": "go1.x", "TracingConfig": { "Mode": "PassThrough" }, "CodeSha256": "+2KgE5mh5LGaOsni36pdmPP9O35wgZ6TbddspyaIXXw=", "Description": "", "CodeSize": 8456317, "FunctionArn": "arn:aws:lambda:us-east-1:<AWS_ACCOUNT_ID>:function:acme-dns-route53", "Handler": "acme-dns-route53" } 

рдПрдХ CloudWatch рдЯрд╛рдЗрдорд░ рдмрдирд╛рдирд╛ рдЬреЛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рджрд┐рди рдореЗрдВ 2 рдмрд╛рд░ рдЪрд▓рд╛рддрд╛ рд╣реИ


рдЕрдВрддрд┐рдо рдЪрд░рдг рдореБрдХреБрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реИ, рдЬреЛ рджрд┐рди рдореЗрдВ рджреЛ рдмрд╛рд░ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдп рдХреЛ рдмреБрд▓рд╛рддрд╛ рд╣реИ:


  • рд╢рд┐рдбреНрдпреВрд▓_рдлреНрд░реЗрдо рдХреЗ рдорд╛рди рд╕реЗ CloudWatch рдирд┐рдпрдо рдмрдирд╛рдПрдВред
  • рд▓реИрдореНрдмрдбрд╛ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдПрдЖрд░рдПрди рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рдирд┐рдпрдо рдХрд╛ рд▓рдХреНрд╖реНрдп (рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП) рдмрдирд╛рдПрдВред
  • рд▓реИрдореНрдмреНрдбрд╛ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдирд┐рдпрдо рдХреЛ рдЕрдиреБрдорддрд┐ рджреЗрдВред

рдиреАрдЪреЗ рдореИрдВрдиреЗ рдЕрдкрдирд╛ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЙрдиреНрдлрд┐рдЧрд░ рдЕрдЯреИрдЪ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓рддрд╛ рд╕реЗ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдХрдВрд╕реЛрд▓ рдпрд╛ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рд╕реАрдПрд▓рдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред


 # Cloudwatch event rule that runs acme-dns-route53 lambda every 12 hours resource "aws_cloudwatch_event_rule" "acme_dns_route53_sheduler" { name = "acme-dns-route53-issuer-scheduler" schedule_expression = "cron(0 */12 * * ? *)" } # Specify the lambda function to run resource "aws_cloudwatch_event_target" "acme_dns_route53_sheduler_target" { rule = "${aws_cloudwatch_event_rule.acme_dns_route53_sheduler.name}" arn = "${aws_lambda_function.acme_dns_route53.arn}" } # Give CloudWatch permission to invoke the function resource "aws_lambda_permission" "permission" { action = "lambda:InvokeFunction" function_name = "${aws_lambda_function.acme_dns_route53.function_name}" principal = "events.amazonaws.com" source_arn = "${aws_cloudwatch_event_rule.acme_dns_route53_sheduler.arn}" } 

рдЕрдм рдЖрдк SSL рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрдирд╛рдиреЗ рдФрд░ рдирд╡реАрдиреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рд╣реИрдВ

Source: https://habr.com/ru/post/hi451848/


All Articles