amazonwebservices_logo-svg

Instalación de un certificado SSL personal o emitido por cualquier otra entidad distinta a amazon, con el fin de ser usado en el servicio cloudfront de Amazon AWS

Guía detallada

Lo primero que necesitamos es un certificado como el de cualquier otro sitio y todos sus archivos:

  • tudominio-global.ca-bundle – CA bundle
  • tudominio-certificado.crt – Certificado emitido por un tercero
  • tudominio-privatekey.key – Private key o llave privada
  • tudominio-solicitud-certificado.csr – Certificate Signing Request

Teniéndolos a la mano, procedemos a crear un usuario dentro de AWS IAM, que es el que nos permitirá desde la linea de comandos subir el certificado

  1. Nos dirigimos a AWS → IAM
  2. User → Create New User
  3. Ingresamos el nombre de usuario deseado, hacemos clic en Create
  4. Nuestro usuario esta creado, hacer clic en Descargar credenciales o anotar los datos que nos facilitan que usaremos mas adelante los cuales son: Access Key Id y Secret Access Key
  5. Nuevamente nos regresamos a la pagina de User (AWS → IAM → User)
  6. Hacemos clic sobre el usuario que acabamos de crear.
  7. Clic en la pestaña Permission
  8. Seguido de Attach Policy
  9. Buscamos dentro de la lista “AdministratorAccess” y hacemos clic en el recuadro de “Check”, despues clic en el botón Attach Policy
  10. Listo creamos nuestro usuario.

Ahora procederemos a instalamos AWS Cli para este ejemplo y para nosotros nos parece mas facil usamos Centos aunque con cualquier sistema Linux debe funcionar

  1. Primero verificaremos que tengamos una instalación de python, podemos revisarlo con:
     python --version
  2. Si no lo tenemos instalado en el caso de Centos podemos hacerlo con:
     yum install python -y
  3. Procedemos a instalar AWS CLI:
    curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
    unzip awscli-bundle.zip
    sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws
  4. Ahora configuramos AWS CLI con los datos de nuestro AWS IAM que creamos hace un momento:
    aws configure
  5. Inmediatamente mostrara lo siguiente, debes rellenarlo con los datos previamente facilitados en la creación del usuario AWS IAM
    AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
    AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
    Default region name [None]: us-west-2
    Default output format [None]: ENTER
  6. Listo tenemos configurado nuestro AWS CLI y estamos preparados para subir nuestro certificado.

 

Subiendo nuestro certificado SSL a AWS

  1. Nos cambiamos al directorio donde tengamos los 4 archivos previamente mencionados :
    • tudominio-global.ca-bundle – CA bundle
    • tudominio-certificado.crt – Certificado emitido por un tercero
    • tudominio-privatekey.key – Private key o llave privada
    • tudominio-solicitud-certificado.csr – Certificate Signing Request
  2.  Nos cambiamos con cd:
    cd /root/directorio_certificado
  3. Lo verificamos con:
    ls -l
    
    -rw-r--r--. 1 root root  5626 Sep 29  2016 tudominio-global.ca-bundle
    -rw-r--r--. 1 root root  1899 Sep 29  2016 tudominio-certificado.crt
    -rw-r--r--. 1 root root  7407 Sep 29  2016 tudominio.p7b
    -rw-r--r--. 1 root root  1704 Sep 29  2016 tudominio-privatekey.key
    -rw-r--r--. 1 root root  1114 Sep 29  2016 tudominio-solicitud-certificado.csr
  4. Procedemos a subir el certificado con el siguiente comando:
    aws iam upload-server-certificate --server-certificate-name NombreParaIdentificar  --certificate-body file://tudominio-certificado.crt  --private-key file://tudominio-privatekey.key  --certificate-chain file://tudominio-global.ca-bundle  --path /cloudfront/RutaParaAlojarTuCertificado/
  5. Finalmente tenemos el certificado en AWS.
  6. Para añadirlo a cloudfront vamos a AWS → CloudFront → ID(“Nuestro ID”)
  7. Clic en General → Edit, Ahora veremos habilitado la opción “Custom SSL Certificate” y debajo el nombre de nuestro certificado, hacemos clic en el y hacemos clic en Yes, Edit it
  8. Finalmente ya disponemos de nuestros certificados en CloudFront.