This shows you the differences between two versions of the page.
| aws:lambda:letsencrypt_wildcard [2022/07/21 10:41] – created - external edit 127.0.0.1 | aws:lambda:letsencrypt_wildcard [2024/08/19 18:33] (current) – [Lambda Function Code] updating to use al2023 ami and correcting userdata variable formatting tingalls | ||
|---|---|---|---|
| Line 116: | Line 116: | ||
| client_ec2 = boto3.client(' | client_ec2 = boto3.client(' | ||
| client_sns = boto3.client(' | client_sns = boto3.client(' | ||
| - | amzn2_ami_parameter = '/ | + |  | 
| + | amzn2_ami_parameter = '/ | ||
| current_ami = client_ssm.get_parameter(Name=amzn2_ami_parameter)[' | current_ami = client_ssm.get_parameter(Name=amzn2_ami_parameter)[' | ||
| # | # | ||
| Line 134: | Line 135: | ||
| else: | else: | ||
| import_acm = ' | import_acm = ' | ||
| - | user_data = ''' | + | user_data = '''# | 
| - |  | + | sudo yum -y install python3 | 
| - | sudo yum -y install python3 | + | sudo python3 -m ensurepip --upgrade | 
| - | sudo python3 -m ensurepip --upgrade | + | python3 -m pip install certbot-route53 certbot-dns-cloudflare --user | 
| - | python3 -m pip install certbot-route53 certbot-dns-cloudflare --user | + | #pip3 install certbot-route53 --user | 
| - | #pip3 install certbot-route53 --user | + | AWS_DEFAULT_REGION=" | 
| - | AWS_DEFAULT_REGION=" | + | DOMAINNAME=" | 
| - | DOMAINNAME=" | + | echo " | 
| - | echo " | + | CERTGENBUCKETNAME=" | 
| - | CERTGENBUCKETNAME=" | + | SNSTOPICARN=" | 
| - | SNSTOPICARN=" | + | IMPORT_ACM=" | 
| - | IMPORT_ACM=" | + | CERT_REGION=" | 
| - | CERT_REGION=" | + | echo " | 
| - | echo " | + | if [[ $DNS_SERVICE == " | 
| - | if [[ $DNS_SERVICE == " | + | echo "dns service is cloudflare" | 
| - | echo "dns service is cloudflare" | + | echo " | 
| - | echo " | + | chmod 600 / | 
| - | chmod 600 / | + | / | 
| - | / | + | fi | 
| - | fi | + | if [[ $DNS_SERVICE == " | 
| - | if [[ $DNS_SERVICE == " | + | echo "dns service is Route53" | 
| - | echo "dns service is Route53" | + | / | 
| - | / | + | fi | 
| - | fi | + | ls -l / | 
| - | ls -l / | + | P12PASSWORD=" | 
| - | P12PASSWORD=" | + | openssl pkcs12 -export -inkey / | 
| - | openssl pkcs12 -export -inkey / | + | ## To encrypt and backup certbot configuration | 
| - | ## To encrypt and backup certbot configuration | + | # tar zcf - / | 
| - | # tar zcf - / | + | ## To decrypt certbot configuration backup file | 
| - | ## To decrypt certbot configuration backup file | + | # openssl enc -d -aes256 -in / | 
| - | # openssl enc -d -aes256 -in / | + | aws --region $CERT_REGION ssm put-parameter --name / | 
| - | aws --region $CERT_REGION ssm put-parameter --name / | + | aws --region $CERT_REGION s3 cp / | 
| - | aws --region $CERT_REGION s3 cp / | + | ## To backup encrypted certbot configuration file | 
| - | ## To backup encrypted certbot configuration file | + | # aws --region $CERT_REGION s3 cp / | 
| - | # aws --region $CERT_REGION s3 cp / | + | if [[ $IMPORT_ACM == " | 
| - | if [[ $IMPORT_ACM == " | + | CERT_ARN=$(aws --region $CERT_REGION acm list-certificates --query ' | 
| - | CERT_ARN=$(aws --region $CERT_REGION acm list-certificates --query ' | + | echo $CERT_ARN | 
| - | echo $CERT_ARN | + | if [[ $CERT_ARN != "" | 
| - | if [[ $CERT_ARN != "" | + | echo " | 
| - | echo " | + | aws --region $CERT_REGION acm import-certificate \ | 
| - | aws --region $CERT_REGION acm import-certificate \ | + | |
| --certificate file:/// | --certificate file:/// | ||
| --private-key file:/// | --private-key file:/// | ||
| --certificate-chain file:/// | --certificate-chain file:/// | ||
| --certificate-arn $CERT_ARN >> / | --certificate-arn $CERT_ARN >> / | ||
| - |  | + |  | 
| - | echo " | + | echo " | 
| - | aws --region $CERT_REGION acm import-certificate \ | + | aws --region $CERT_REGION acm import-certificate \ | 
| --certificate file:/// | --certificate file:/// | ||
| --private-key file:/// | --private-key file:/// | ||
| --certificate-chain file:/// | --certificate-chain file:/// | ||
| - | fi | ||
| fi | fi | ||
| - |  | + | fi | 
| - | aws --region us-east-1 sns publish --topic-arn $SNSTOPICARN --subject " | + | aws --region $CERT_REGION s3 cp / | 
| - | sleep 60 | + | aws --region us-east-1 sns publish --topic-arn $SNSTOPICARN --subject " | 
| - | sudo shutdown -h now | + | sleep 60 | 
| + | sudo shutdown -h now | ||
| ''' | ''' | ||
| temp_instance_paramaters = { | temp_instance_paramaters = { | ||