Ответ
Let's Encrypt — это бесплатный, автоматизированный и открытый центр сертификации (Certificate Authority, CA), который выдает SSL/TLS-сертификаты для шифрования веб-трафика (HTTPS). Его философия полностью соответствует принципам DevOps: автоматизация, повторяемость и устранение ручных операций.
Как это работает в DevOps-практике:
- Автоматизация через ACME-протокол: Клиент (например,
certbot) доказывает серверу Let's Encrypt, что управляет доменом (через HTTP- или DNS-челлендж), и автоматически получает сертификат. - Короткий срок жизни (90 дней): Это вынуждает автоматизировать процесс обновления, что повышает безопасность. Сертификаты не "забываются" на года.
- Интеграция в пайплайны и инфраструктуру: Выпуск и обновление сертификатов встраиваются в процесс развертывания (CI/CD) или конфигурации инфраструктуры как код (IaC).
Пример автоматического получения и обновления с certbot в Docker:
# Получение сертификата (standalone mode)
docker run -it --rm --name certbot
-v "/etc/letsencrypt:/etc/letsencrypt"
-v "/var/lib/letsencrypt:/var/lib/letsencrypt"
-p 80:80
certbot/certbot certonly --standalone -d example.com --agree-tos --non-interactive
# Автоматическое обновление (добавляется в cron)
docker run --rm --name certbot
-v "/etc/letsencrypt:/etc/letsencrypt"
-v "/var/lib/letsencrypt:/var/lib/letsencrypt"
certbot/certbot renew --quiet
Интеграция с инфраструктурой:
- Terraform: Провайдеры (например,
acme) для управления сертификатами как кодом. - Kubernetes: Использование
cert-managerкак контроллера для автоматического выпуска и ротации сертификатов для Ingress-ресурсов. - Облачные провайдеры: AWS Certificate Manager, Google Cloud Certificate Authority — предлагают аналогичный автоматизированный функционал, иногда интегрируясь с Let's Encrypt.