This site is an archive and is no longer updated.
    Back to Interactive Demo
    Enterprise PKICloud

    Cloud PKI Integrations: Complete Guide

    Master certificate management in cloud environments. From AWS ACM to Kubernetes cert-manager, learn how to automate PKI in modern infrastructure.

    18 min readDecember 2025
    LinkedInX
    Cloud PKI Comparison Guide
    Try the Interactive Cloud PKI

    Quick Answer: Cloud PKI Options

    AWS ACM:Free public certs for AWS services (ALB, CloudFront, API Gateway)
    Azure Key Vault:Centralized secret/certificate management with HSM backing
    Google Cloud:Certificate Manager for GKE, Load Balancers, Cloud Run
    HashiCorp Vault:Full PKI engine, issue your own certs, cross-cloud
    cert-manager:Kubernetes-native, integrates with any CA (Let's Encrypt, Vault)

    AWS Certificate Manager (ACM)

    AWS ACM provides free public SSL/TLS certificates that automatically renew. Works seamlessly with ALB, CloudFront, API Gateway, and other AWS services.

    Key Features

    Free public certificates

    No cost for certificates used with AWS services

    Automatic renewal

    ACM handles renewal 60 days before expiry

    Private CA option

    ACM Private CA for internal certificates ($400/month)

    Request Certificate via CLI

    # Request a public certificate
    aws acm request-certificate \
      --domain-name example.com \
      --subject-alternative-names www.example.com \
      --validation-method DNS \
      --region us-east-1
    
    # List certificates
    aws acm list-certificates --region us-east-1
    
    # Describe certificate (get validation records)
    aws acm describe-certificate \
      --certificate-arn arn:aws:acm:us-east-1:123456789:certificate/abc-123

    Important Limitation

    ACM certificates can only be used with AWS services. You cannot export the private key to use elsewhere. For EC2 or external use, import your own certificate or use Let's Encrypt.

    Azure Key Vault

    Azure Key Vault provides centralized secret management with HSM-backed key storage. Certificates can be auto-renewed through integrated CAs like DigiCert.

    Certificate Features

    • Import existing certificates (PFX/PEM)
    • Generate self-signed certificates
    • Integrated CA issuance (DigiCert, GlobalSign)
    • Automatic renewal and rotation

    Azure CLI Commands

    # Create a Key Vault
    az keyvault create --name mykeyvault \
      --resource-group mygroup --location eastus
    
    # Import certificate
    az keyvault certificate import \
      --vault-name mykeyvault \
      --name mycert \
      --file cert.pfx \
      --password "pfx-password"
    
    # Create self-signed certificate
    az keyvault certificate create \
      --vault-name mykeyvault \
      --name myselfsigned \
      --policy @policy.json

    Google Cloud Certificate Manager

    Google Cloud offers managed certificates for load balancers, GKE, and Cloud Run. Google-managed certificates auto-renew and integrate with DNS authorization.

    gcloud Commands

    # Create a managed certificate
    gcloud compute ssl-certificates create my-cert \
      --domains=example.com,www.example.com \
      --global
    
    # List certificates
    gcloud compute ssl-certificates list
    
    # Create certificate map for advanced routing
    gcloud certificate-manager maps create my-cert-map
    
    # Attach to load balancer
    gcloud compute target-https-proxies update my-proxy \
      --ssl-certificates=my-cert

    HashiCorp Vault PKI

    Vault's PKI secrets engine lets you run your own Certificate Authority. Issue short-lived certificates on demand, integrate with any platform.

    Why Use Vault PKI?

    Short-Lived Certs:Issue certificates valid for hours, not years
    On-Demand Issuance:Generate certs programmatically via API
    Cross-Cloud:Works with any infrastructure, any cloud

    Setup PKI Engine

    # Enable PKI secrets engine
    vault secrets enable pki
    
    # Set max TTL
    vault secrets tune -max-lease-ttl=87600h pki
    
    # Generate root CA
    vault write pki/root/generate/internal \
      common_name="My Root CA" \
      ttl=87600h
    
    # Create a role for issuing certs
    vault write pki/roles/web-server \
      allowed_domains="example.com" \
      allow_subdomains=true \
      max_ttl="72h"
    
    # Issue a certificate
    vault write pki/issue/web-server \
      common_name="api.example.com" \
      ttl="24h"

    Kubernetes cert-manager

    cert-manager is the standard for certificate management in Kubernetes. It automatically obtains, renews, and deploys certificates as Kubernetes secrets.

    Install cert-manager

    # Install cert-manager via Helm
    helm repo add jetstack https://charts.jetstack.io
    helm repo update
    
    helm install cert-manager jetstack/cert-manager \
      --namespace cert-manager \
      --create-namespace \
      --set installCRDs=true

    Let's Encrypt Issuer

    # ClusterIssuer for Let's Encrypt
    apiVersion: cert-manager.io/v1
    kind: ClusterIssuer
    metadata:
      name: letsencrypt-prod
    spec:
      acme:
        server: https://acme-v02.api.letsencrypt.org/directory
        email: admin@example.com
        privateKeySecretRef:
          name: letsencrypt-prod-key
        solvers:
        - http01:
            ingress:
              class: nginx

    Certificate Resource

    # Request a certificate
    apiVersion: cert-manager.io/v1
    kind: Certificate
    metadata:
      name: example-com-tls
      namespace: default
    spec:
      secretName: example-com-tls-secret
      issuerRef:
        name: letsencrypt-prod
        kind: ClusterIssuer
      dnsNames:
      - example.com
      - www.example.com

    Platform Comparison

    FeatureAWS ACMAzure KVVaultcert-mgr
    CostFree*Per operationSelf-hostedFree
    Public CertsYesVia DigiCertNo (private)Let's Encrypt
    Private CA$400/moYesYesWith Vault
    Export KeyNoYesYesYes
    Multi-CloudAWS onlyAzure focusedYesYes

    Cloud PKI Best Practices

    Automate Everything

    Never manually manage certificates. Use infrastructure-as-code (Terraform, CloudFormation) to provision and renew certificates automatically.

    Monitor Expiration

    Even with auto-renewal, set up alerts for certificate expiration. CloudWatch, Azure Monitor, or Prometheus can alert 30 days before expiry.

    Short-Lived Certificates

    For internal services, use short-lived certificates (hours to days). Reduces blast radius of key compromise and eliminates need for revocation.

    Separate Environments

    Use different certificates and CAs for dev/staging/production. Never use production certificates in non-production environments.

    Frequently Asked Questions

    Can I use AWS ACM certificates on EC2 instances?

    Not directly. ACM certificates can't be exported. For EC2, either use a load balancer (ALB/NLB) or install Let's Encrypt certificates using certbot.

    How do I migrate certificates between cloud providers?

    Export the certificate and private key (if possible) from the source, then import into the destination. ACM doesn't allow export, so you'll need to generate new certificates.

    Should I use a public CA or run my own with Vault?

    Use public CAs (Let's Encrypt, ACM) for public-facing services. Use private CAs (Vault, ACM Private CA) for internal service-to-service communication.

    How often should internal certificates rotate?

    Modern best practice is 24-72 hours for service certificates. cert-manager and Vault make this practical with automated renewal.

    What's the best approach for multi-cloud?

    HashiCorp Vault with cert-manager gives you a consistent PKI across all clouds. Vault acts as the CA, cert-manager handles Kubernetes integration.

    Related Resources

    Explore Cloud PKI Visually

    Interactive demo of cloud certificate workflows

    Try the Demo