AWS CLI를 사용하여 AWS CloudFront 사용자 지정 SSL/TLS 인증서 업데이트
6011 단어 sslawsbashcloudfront
AWS CLI를 사용하여 SSL/TLS 인증서를 프로그래밍 방식으로 업데이트하기 위해 따라야 할 단계에 대한 간단한 안내서입니다.
왜요 ?
그것에 대한 공식 문서는 완전히 엉망이기 때문에 다른 사람들과 공유하고 시간을 절약하고 싶습니다.
어떻게 ?
예를 들어 Let's Encrypt를 사용하여 사용자 지정 인증서를 생성한 후에는 다음 AWS CLI 명령을 실행하여 bash를 사용하여 업데이트할 수 있습니다.
# Use any name but prefer to use one based on a timestamp since they cannot be repeated on every update
AWS_MY_CERT_NAME=my-cert-$(date +%Y%m%d)
# Set the CloudFront distribution we want to update (found at AWS console)
MY_CLOUDFRONT_ID=EV40L17AXPTKC
# Upload the custom certificate to IAM (using ACM does not work)
aws iam upload-server-certificate --server-certificate-name $AWS_MY_CERT_NAME --certificate-body file://my-cert.pem --private-key file://my-cert-privkey.pem --certificate-chain file://my-cert-chain.pem --path /cloudfront/
# Get certificate ID for the update
AWS_MY_CERT_ID=$(aws iam get-server-certificate --server-certificate-name $AWS_MY_CERT_NAME --query "ServerCertificate.ServerCertificateMetadata.ServerCertificateId" --output text)
# Here the trick: load the current configuration to patch it on the fly (AWS has no other option currently)
aws cloudfront get-distribution-config --id $MY_CLOUDFRONT_ID --query DistributionConfig > config.json
sed -i.bak "s/.*\"IAMCertificateId\".*/\"IAMCertificateId\": \"$AWS_MY_CERT_ID\",/g" config.json
sed -i.bak "s/.*\"Certificate\".*/\"Certificate\": \"$AWS_MY_CERT_ID\",/g" config.json
aws cloudfront update-distribution --id $MY_CLOUDFRONT_ID --distribution-config file://config.json
참고:
/cloudfront/
경로는 CloudFront에서 사용할 수 있는 인증서를 만드는 데 중요합니다.언제 ?
이 명령을 bash 스크립트 파일에 추가하여 매달 cron 구성을 사용하여 실행할 수 있습니다(또는 업데이트 빈도에 따라 더 빨리).
누구 ?
이러한 명령은 다음 블로그 및 참조를 기반으로 합니다.
Reference
이 문제에 관하여(AWS CLI를 사용하여 AWS CloudFront 사용자 지정 SSL/TLS 인증서 업데이트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/csaltos/update-an-aws-cloudfront-custom-ssl-tls-certificate-using-aws-cli-4n1o텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)