

# Configuración de las herramientas de la AMI de Amazon EC2
<a name="set-up-ami-tools"></a>

Puede utilizar las herramientas de la AMI para crear y administrar AMI de Linux basadas en Amazon S3. Para utilizar las herramientas, debe instalarlas en su instancia de Linux. Las herramientas de la AMI están disponibles como un archivo RPM o como un archivo .zip para distribuciones Linux que no admiten RPM. 

**Para configurar las herramientas de la AMI con RPM**

1. Instale Ruby utilizando el administrador de paquetes correspondiente de la distribución Linux, como, por ejemplo, yum. Por ejemplo:

   ```
   [ec2-user ~]$ sudo yum install -y ruby
   ```

1. Descargue el archivo RPM utilizando una herramienta como wget o curl. Por ejemplo:

   ```
   [ec2-user ~]$ wget https://s3.amazonaws.com/ec2-downloads/ec2-ami-tools.noarch.rpm
   ```

1. Ejecute el comando siguiente para verificar la firma del archivo RPM:

   ```
   [ec2-user ~]$ rpm -K ec2-ami-tools.noarch.rpm
   ```

   El comando anterior debería indicar que los hashes SHA1 y MD5 del archivo son `OK.` Si el comando indica que dichos hashes son `NOT OK`, utilice el siguiente comando para ver los hashes SHA1 y MD5 del encabezado del archivo:

   ```
   [ec2-user ~]$ rpm -Kv ec2-ami-tools.noarch.rpm
   ```

   A continuación, compare los hashes SHA1 y MD5 del encabezado del archivo con los siguientes hashes verificados de las herramientas de la AMI para confirmar la autenticidad del archivo:
   + SHA1 del encabezado: a1f662d6f25f69871104e6a62187fa4df508f880
   + MD5: 9faff05258064e2f7909b66142de6782

   Si los hashes SHA1 y MD5 del encabezado del archivo coinciden con los hashes verificados de las herramientas de la AMI, continúe con el siguiente paso.

1. Instale el RPM utilizando el siguiente comando:

   ```
   [ec2-user ~]$ sudo yum install ec2-ami-tools.noarch.rpm
   ```

1. Verifique la instalación de las herramientas de la AMI utilizando el comando [ec2-ami-tools-version](ami-tools-commands.md#ami-tools-version).

   ```
   [ec2-user ~]$ ec2-ami-tools-version
   ```
**nota**  
Si recibe un error de carga, como "cannot load such file -- ec2/amitools/version (LoadError)", complete el siguiente paso para añadir la ubicación de la instalación de las herramientas de la AMI a la ruta `RUBYLIB`.

1. (Opcional) Si recibió un error en el paso anterior, añada la ubicación de la instalación de las herramientas de la AMI a la ruta `RUBYLIB`.

   1. Ejecute el siguiente comando para determinar las rutas a añadir.

      ```
      [ec2-user ~]$ rpm -qil ec2-ami-tools | grep ec2/amitools/version
      /usr/lib/ruby/site_ruby/ec2/amitools/version.rb
      /usr/lib64/ruby/site_ruby/ec2/amitools/version.rb
      ```

      En el ejemplo anterior, el archivo que falta según el error de carga anterior se ubica en `/usr/lib/ruby/site_ruby` y en `/usr/lib64/ruby/site_ruby`.

   1. Añada las ubicaciones del paso anterior a la ruta `RUBYLIB`.

      ```
      [ec2-user ~]$ export RUBYLIB=$RUBYLIB:/usr/lib/ruby/site_ruby:/usr/lib64/ruby/site_ruby
      ```

   1. Verifique la instalación de las herramientas de la AMI utilizando el comando [ec2-ami-tools-version](ami-tools-commands.md#ami-tools-version).

      ```
      [ec2-user ~]$ ec2-ami-tools-version
      ```

**Para configurar las herramientas de la AMI con el archivo .zip**

1. Instale Ruby y descomprima el archivo utilizando el administrador de paquetes correspondiente de la distribución Linux, como, por ejemplo **apt-get**. Por ejemplo:

   ```
   [ec2-user ~]$ sudo apt-get update -y && sudo apt-get install -y ruby unzip
   ```

1. Descargue el archivo .zip utilizando una herramienta como wget o curl. Por ejemplo:

   ```
   [ec2-user ~]$ wget https://s3.amazonaws.com/ec2-downloads/ec2-ami-tools.zip
   ```

1. Descomprima los archivos en un directorio de instalación adecuado, como `/usr/local/ec2`.

   ```
   [ec2-user ~]$ sudo mkdir -p /usr/local/ec2
   $ sudo unzip ec2-ami-tools.zip -d /usr/local/ec2
   ```

   Observe que el archivo .zip contiene una carpeta ec2-ami-tools-*x*.*x*.*x*, donde *x*.*x*.*x* es el número de versión de las herramientas (por ejemplo, `ec2-ami-tools-1.5.7`).

1. Establezca la variable de entorno `EC2_AMITOOL_HOME` en el directorio de instalación de las herramientas. Por ejemplo:

   ```
   [ec2-user ~]$ export EC2_AMITOOL_HOME=/usr/local/ec2/ec2-ami-tools-x.x.x
   ```

1. Agregue las herramientas a la variable de entorno `PATH`. Por ejemplo:

   ```
   [ec2-user ~]$ export PATH=$EC2_AMITOOL_HOME/bin:$PATH
   ```

1. Puede verificar la instalación de las herramientas de la AMI utilizando el comando [ec2-ami-tools-version](ami-tools-commands.md#ami-tools-version).

   ```
   [ec2-user ~]$ ec2-ami-tools-version
   ```

## Gestionar certificados de firma
<a name="ami-tools-managing-certs"></a>

Ciertos comandos de las herramientas de la AMI requieren un certificado de firma (denominado también certificado X.509). Debe crear el certificado y, a continuación, cargarlo en AWS. Por ejemplo, puede utilizar una herramienta de terceros, como de OpenSSL, para crear el certificado.

**Para crear un certificado de firma**

1. Instale y configure OpenSSL.

1. Cree una clave privada mediante el comando `openssl genrsa` y guarde la clave resultante en un archivo `.pem`. Le recomendamos que cree una clave RSA de 2 048 o 4 096 bits.

   ```
   openssl genrsa 2048 > private-key.pem
   ```

1. Genere un certificado mediante el comando `openssl req`.

   ```
   openssl req -new -x509 -nodes -sha256 -days 365 -key private-key.pem -outform PEM -out certificate.pem
   ```

Para cargar el certificado a AWS, utilice el comando [upload-signing-certificate](https://docs.aws.amazon.com/cli/latest/reference/iam/upload-signing-certificate.html).

```
aws iam upload-signing-certificate --user-name user-name --certificate-body file://path/to/certificate.pem
```

Para ver la lista de certificados de un usuario, utilice el comando [list-signing-certificates](https://docs.aws.amazon.com/cli/latest/reference/iam/list-signing-certificates.html):

```
aws iam list-signing-certificates --user-name user-name
```

Para deshabilitar o volver a habilitar un certificado de firma para un usuario, utilice el comando [update-signing-certificate](https://docs.aws.amazon.com/cli/latest/reference/iam/update-signing-certificate.html). El siguiente comando deshabilita el certificado:

```
aws iam update-signing-certificate --certificate-id OFHPLP4ZULTHYPMSYEX7O4BEXAMPLE --status Inactive --user-name user-name
```

Para eliminar un certificado, utilice el comando [delete-signing-certificate](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-signing-certificate.html):

```
aws iam delete-signing-certificate --user-name user-name --certificate-id OFHPLP4ZULTHYPMSYEX7O4BEXAMPLE
```