

# Referencia de AMI a través de los parámetros de Systems Manager
<a name="using-systems-manager-parameter-to-find-AMI"></a>

Cuando inicia una instancia con el asistente de inicialización de instancias de EC2 en la consola de Amazon EC2, puede seleccionar una AMI de la lista o seleccionar un parámetro AWS Systems Manager que apunte a un ID de AMI (según se describe en esta sección). Si utiliza código de automatización para iniciar las instancias, puede especificar el parámetro de Systems Manager en lugar del ID de AMI.

Un parámetro de Systems Manager es un par clave-valor definido por el cliente que puede crear en el almacén de parámetros de Systems Manager. El almacén de parámetros proporciona un almacén central para externalizar los valores de configuración de la aplicación. Para obtener más información, consulte el [Almacén de parámetros de AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) en la *Guía del usuario de AWS Systems Manager*.

Cuando cree un parámetro que apunte a un ID de AMI, asegúrese de especificar el tipo de datos como `aws:ec2:image`. Especificar este tipo de datos garantiza que, cuando se crea o modifica el parámetro, el valor del parámetro se valida como un ID de AMI. Para obtener más información, consulte [Compatibilidad con parámetros nativos para los ID de Imagen de máquina de Amazon](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-ec2-aliases.html) en la *Guía del usuario de AWS Systems Manager*.

**Topics**
+ [Casos de uso](#systems-manager-parameter-use-case)
+ [Permisos](#systems-manager-permissions)
+ [Limitaciones](#AMI-systems-manager-parameter-limitations)
+ [Iniciar una instancia mediante un parámetro de Systems Manager](#systems-manager-parameter-launch-instance)

## Casos de uso
<a name="systems-manager-parameter-use-case"></a>

Cuando utiliza los parámetros de Systems Manager para apuntar a los ID de AMI, es más fácil para los usuarios seleccionar la AMI correcta cuando inician las instancias. Los parámetros de Systems Manager también pueden simplificar el mantenimiento del código de automatización.

**Más fácil para los usuarios**

Si necesita que las instancias se lancen con una AMI específica y si esa AMI se actualiza con regularidad, se recomienda que exija a los usuarios que seleccionen un parámetro de Systems Manager para encontrar la AMI. Exigir a los usuarios que seleccionen un parámetro de Systems Manager garantiza que se utilice la última AMI para iniciar instancias.

Por ejemplo, cada mes en su organización puede crear una nueva versión de su AMI que tenga los últimos parches de aplicaciones y sistema operativo. También requiere que los usuarios inicien instancias con la última versión de su AMI. Para asegurarse de que los usuarios utilizan la versión más reciente, puede crear un parámetro de Systems Manager (por ejemplo, `golden-ami`) que apunte al ID de AMI correcto. Cada vez que se crea una nueva versión de la AMI, se actualiza el valor del ID de la AMI en el parámetro para que siempre apunte a la AMI más reciente. No es necesario que los usuarios sepan sobre las actualizaciones periódicas de la AMI, ya que seleccionan el mismo parámetro de Systems Manager cada vez. Utilizar un parámetro de Systems Manager para su AMI les facilita seleccionar la AMI correcta para la inicialización de una instancia.

**Simplificar el mantenimiento del código de automatización**

Si utiliza código de automatización para iniciar las instancias, puede especificar el parámetro de Systems Manager en lugar del ID de AMI. Si se crea una versión nueva de la AMI, puede cambiar el valor del ID de la AMI en el parámetro para que apunte a la AMI más reciente. Cada vez que se crea una nueva versión de la AMI no tiene que modificarse el código de automatización que hace referencia al parámetro. Esto simplifica el mantenimiento de la automatización y ayuda a reducir los costos de implementación.

**nota**  
Las instancias en ejecución no se ven afectadas cuando se cambia el ID de la AMI al que apunta el parámetro de Systems Manager.

## Permisos
<a name="systems-manager-permissions"></a>

Si utiliza parámetros de Systems Manager que apuntan a los ID de AMI en el asistente de inicialización de instancias, debe agregar los siguientes permisos a la política de IAM:
+ `ssm:DescribeParameters`: concede permiso para ver y seleccionar parámetros de Systems Manager.
+ `ssm:GetParameters`: concede permiso para recuperar los valores de los parámetros de Systems Manager. 

También puede restringir el acceso a parámetros de Systems Manager específicos. Para obtener más información y políticas de IAM de ejemplo, consulte [Ejemplo: uso del asistente de inicialización de instancias de EC2](iam-policies-ec2-console.md#ex-launch-wizard).

## Limitaciones
<a name="AMI-systems-manager-parameter-limitations"></a>

Las AMI y los parámetros de Systems Manager son específicos de la región. Para utilizar el mismo nombre de parámetro de Systems Manager en regiones, cree un parámetro de Systems Manager en cada región con el mismo nombre (por ejemplo, `golden-ami`). En cada región, apunte con el parámetro de Systems Manager a una AMI de esa región.

Los nombres de los parámetros distinguen entre mayúsculas y minúsculas. Las barras diagonales inversas para el nombre del parámetro solo son necesarias cuando el parámetro forma parte de una jerarquía, por ejemplo, `/amis/production/golden-ami`. Puede omitir la barra invertida si el parámetro no forma parte de una jerarquía.

## Iniciar una instancia mediante un parámetro de Systems Manager
<a name="systems-manager-parameter-launch-instance"></a>

Cuando lance una instancia, en vez de especificar un ID de AMI, puede especificar un parámetro de Systems Manager que apunte a un ID de AMI.

Para especificar el parámetro mediante programación, utilice la siguiente sintaxis, donde `resolve:ssm` es el prefijo estándar y `parameter-name` es el nombre de parámetro único.

```
resolve:ssm:{{parameter-name}}
```

Los parámetros de Systems Manager tienen compatibilidad de versión. A cada iteración de un parámetro se le asigna un número de versión único. Puede hacer referencia a la versión del parámetro de la siguiente manera, donde `version` es el número de versión único. De forma predeterminada, se utiliza la última versión del parámetro cuando no se especifica ninguna versión.

```
resolve:ssm:{{parameter-name}}:{{version}}
```

Para iniciar una instancia con un parámetro público proporcionado por AWS, consulte [Referencia de AMI a través de los parámetros de Systems Manager](finding-an-ami-parameter-store.md).

------
#### [ Console ]

**Búsqueda de una AMI con un parámetro de Systems Manager**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En la barra de navegación, seleccione la región en la que se iniciarán las instancias. Puede seleccionar cualquier región disponible, independientemente de su ubicación.

1. En el panel de la consola, elija **Launch Instance (Iniciar instancia)**.

1. En **(Imágenes de aplicaciones y sistema operativo (imagen de máquina de Amazon)**, elija **Buscar más AMI**.

1. Elija el botón de flecha situado a la derecha de la barra de búsqueda y luego elija **Buscar por parámetro de Systems Manager**.

1. Para **Parámetro de Systems Manager**, seleccione un parámetro. El ID de AMI correspondiente aparece junto a **Actualmente se resuelve en**.

1. Elija **Buscar**. Las AMI que coinciden con el ID de AMI aparecen en la lista.

1. Seleccione la AMI de la lista y elija **Seleccionar**.

Para obtener más información sobre cómo iniciar una instancia con el asistente de inicialización de instancias, consulte [Inicialización de una instancia de EC2 mediante el asistente de inicialización de instancias de la consola](ec2-launch-instance-wizard.md).

------
#### [ AWS CLI ]

**Lanzamiento de una instancia mediante un parámetro de Systems Manager**  
Utilice el comando [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) con la opción `--image-id`. En este ejemplom se utiliza un parámetro de Systems Manager llamado **golden-ami**, que especifica un ID de AMI.

```
--image-id resolve:ssm:/{{golden-ami}}
```

Puede crear versiones de un parámetro de Systems Manager. En el ejemplo siguiente, se especifica la versión 2 del parámetro **golden-ami**.

```
--image-id resolve:ssm:/{{golden-ami:2}}
```

------
#### [ PowerShell ]

**Lanzamiento de una instancia mediante un parámetro de Systems Manager**  
Utilice el cmdlet [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) con el parámetro `-ImageId`. En este ejemplom se utiliza un parámetro de Systems Manager llamado **golden-ami**, que especifica un ID de AMI.

```
-ImageId "resolve:ssm:/golden-ami"
```

Puede crear versiones de un parámetro de Systems Manager. En el ejemplo siguiente, se especifica la versión 2 del parámetro **golden-ami**.

```
-ImageId "resolve:ssm:/golden-ami:2"
```

------