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
- Nos dirigimos a AWS → IAM
- User → Create New User
- Ingresamos el nombre de usuario deseado, hacemos clic en Create
- 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
- Nuevamente nos regresamos a la pagina de User (AWS → IAM → User)
- Hacemos clic sobre el usuario que acabamos de crear.
- Clic en la pestaña Permission
- Seguido de Attach Policy
- Buscamos dentro de la lista “AdministratorAccess” y hacemos clic en el recuadro de “Check”, despues clic en el botón Attach Policy
- 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
- Primero verificaremos que tengamos una instalación de python, podemos revisarlo con:
python --version
- Si no lo tenemos instalado en el caso de Centos podemos hacerlo con:
yum install python -y
- 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
- Ahora configuramos AWS CLI con los datos de nuestro AWS IAM que creamos hace un momento:
aws configure
- 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
- Listo tenemos configurado nuestro AWS CLI y estamos preparados para subir nuestro certificado.
Subiendo nuestro certificado SSL a AWS
- 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
- Nos cambiamos con cd:
cd /root/directorio_certificado
- 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
- 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/
- Finalmente tenemos el certificado en AWS.
- Para añadirlo a cloudfront vamos a AWS → CloudFront → ID(“Nuestro ID”)
- 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
- Finalmente ya disponemos de nuestros certificados en CloudFront.