Utilizar Reservas de capacidad - Amazon Elastic Compute Cloud

Utilizar Reservas de capacidad

Para comenzar a utilizar Reservas de capacidad cree la reserva de capacidad en la zona de disponibilidad requerida. A continuación, puede lanzar instancias en la capacidad reservada, ver la utilización de su capacidad en tiempo real y aumentar o disminuir su capacidad según sea necesario.

De forma predeterminada, Reservas de capacidad coincide de forma automática con las nuevas instancias e instancias en ejecución que tienen atributos coincidentes (tipo de instancia, plataforma y zona de disponibilidad). Esto significa que cualquier instancia con atributos coincidentes se ejecuta automáticamente en la Reserva de capacidad. Sin embargo, también se puede dirigir a una Reserva de capacidad para cargas de trabajo específicas. Esto le permite controlar de manera explícita qué instancias pueden ejecutarse en esa capacidad reservada.

Puede especificar cómo finaliza la reserva. Puede elegir entre cancelar Reserva de capacidad o hacer que finalice de forma automática a una hora especificada. Si especifica una hora de finalización, la Reserva de capacidad se cancela en el plazo de una hora desde el tiempo especificado. Por ejemplo, si especifica 31/5/2019, 13:30:55, se garantiza que la Reserva de capacidad finalice entre las 13:30:55 y las 14:30:55 el 31/5/2019. Una vez una reserva finalice, no podrá destinar instancias a la Reserva de capacidad. Las instancias en ejecución en la capacidad reserva siguen ejecutándose de forma ininterrumpida. Si las instancias que se dirigen a una Reserva de capacidad se detienen, no podrá reiniciarlas hasta que quite la preferencia de destino de la Reserva de capacidad o las configure para que se dirijan a una Reserva de capacidad diferente.

Crear una Reserva de capacidad

Una vez que cree la Reserva de capacidad, la capacidad estará disponible de inmediato. La capacidad seguirá estando reservada para su uso siempre que la Reserva de capacidad esté activa. Además, podrá lanzar instancias en ella en cualquier momento. Si la Reserva de capacidad está abierta, las instancias nuevas y existentes que tengan atributos coincidentes se ejecutarán automáticamente en la capacidad de la Reserva de capacidad. Si la Reserva de capacidad tiene el estado targeted, las instancias deben dirigirse específicamente a ella para ejecutarse en la capacidad reservada.

Su solicitud para crear una Reserva de capacidad puede fallar si se cumple una de las siguientes:

  • Amazon EC2 no tiene suficiente capacidad para llevar a cabo la solicitud. Puede volver a intentarlo más tarde, probar con una zona de disponibilidad distinta o usar una capacidad menor. Si su aplicación es flexible en cuanto a los tamaños y tipos de instancia, intente usar atributos de instancia diferentes.

  • La cantidad solicitada supera el límite de instancia a petición para la familia de instancias seleccionada. Incremente su límite de instancia a petición para la familia de instancias e inténtelo de nuevo. Para obtener más información, consulte Límites de instancia a petición.

Para crear una Reserva de capacidad con la consola

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

  2. Elija Reservas de capacidad y, a continuación, elija Create Reserva de capacidad (Crear Reserva de capacidad).

  3. En la página Create a Reserva de capacidad (Crear una Reserva de capacidad), configure los siguientes ajustes en la sección Instance details (Detalles de la instancia): El tipo de instancia, la plataforma y la zona de disponibilidad de las instancias que lance deben coincidir con el tipo de instancia, plataforma y zona de disponibilidad que especifique aquí o la Reserva de capacidad no se aplica. Por ejemplo, si una Reserva de capacidad abierta no coincide, un lanzamiento de instancia que tenga como destino esa Reserva de capacidad producirá un error de forma explícita.

    1. Instance Type (Tipo de instancia) — el tipo de instancia que lanzar en la capacidad reservada.

    2. Launch EBS-optimized instances (Lanzar instancias optimizadas para EBS) — especifique si reservar la capacidad para instancias optimizadas para EBS. Esta opción se selecciona de forma predeterminada para algunos tipos de instancias. Para obtener más información acerca de las instancias optimizadas para EBS, consulte Amazon Elastic Block Store.

    3. Attach instance store at launch (Adjuntar almacén de instancias en el lanzamiento)— especifique si las instancias lanzadas en la Reserva de capacidad utilizan un almacenamiento a nivel del bloque temporal. Los datos de un volumen de almacén de instancias persisten únicamente durante la vida de la instancia de asociada.

    4. Plataforma — el sistema operativo para sus instancias. Para obtener más información, consulte Plataformas admitidas. Para obtener más información acerca de las plataformas Linux compatibles, consulte Plataformas compatibles en la Guía del usuario de Amazon EC2 para instancias de Linux.

    5. Availability Zone (Zona de disponibilidad) — la zona de disponibilidad en la que reservar la capacidad.

    6. Tenancy (Tenencia)—especifique si desea ejecutar una instancia de hardware compartido (opción predeterminada) o una instancia dedicada.

    7. (Opcional) ARN de grupo de ubicación: el ARN del grupo con ubicación en clúster en el que se debe crear la reserva de capacidad. Para obtener más información, consulte Las reservas de capacidad en grupos con ubicación en clúster.

    8. Quantity (Cantidad) — el número de instancias para el que reservar capacidad. Si especifica una cantidad que supera el límite de instancia a petición restante para el tipo de instancia seleccionada, se deniega la solicitud.

  4. Configure los siguientes ajustes en la sección Reservation details (Detalles de la reserva):

    1. Reservation Ends (Finalizaciones de la reserva) — elija una de las siguientes opciones:

      • Manually (Manualmente) — permite reservar la capacidad hasta que la cancele explícitamente.

      • Specific time (Tiempo específico) — cancela a reserva de capacidad automáticamente en la hora y fecha especificadas.

    2. Instance eligibility (Elegibilidad de la instancia) — elija una de las siguientes opciones.

      • open (abierto) (valor predeterminado) — la Reserva de capacidad coincide con cualquier instancia que tiene atributos coincidentes (tipo de instancia, plataforma y zona de disponibilidad). Si lanza una instancia con atributos coincidentes, se coloca en la capacidad reservada automáticamente.

      • targeted (dirigido) — la Reserva de capacidad solo acepta instancias que tienen atributos coincidentes (tipo de instancia, plataforma y zona de disponibilidad), y que se destinan explícitamente a la reserva.

  5. Elija Request reservation (Solicitar reserva).

Para crear una reserva de capacidad mediante la AWS CLI

Utilice el comando create-capacity-reservation (crear reserva de capacidad). Para obtener más información, consulte Plataformas admitidas. Para obtener más información acerca de las plataformas Linux compatibles, consulte Plataformas compatibles en la Guía del usuario de Amazon EC2 para instancias de Linux.

Por ejemplo, el comando siguiente crea una Reserva de capacidad que reserva capacidad para tres instancias m5.2xlarge que ejecutan Windows con las AMI de SQL Server en la zona de disponibilidad us-east-1a.

aws ec2 create-capacity-reservation --instance-type m5.2xlarge --instance-platform Windows with SQL Server --availability-zone us-east-1a --instance-count 3

Lanzar instancias en una Reserva de capacidad existente

Al lanzar una instancia, puede especificar si desea lanzar la instancia en cualquier Reserva de capacidad open, en una Reserva de capacidad determinada o en un grupo de Reservas de capacidad. Solo puede lanzar una instancia en una Reserva de capacidad que tenga atributos coincidentes (tipo de instancia, plataforma y zona de disponibilidad) y capacidad suficiente. También puede configurar la instancia para evitar la ejecución en una Reserva de capacidad, incluso si tiene una Reserva de capacidad open que tiene atributos coincidentes y capacidad disponible.

El lanzamiento de una instancia en una Reserva de capacidad reduce su capacidad disponible por número de instancias lanzadas. Por ejemplo, si lanza tres instancias, la capacidad disponible de la Reserva de capacidad se reduce en tres.

Para lanzar instancias en una Reserva de capacidad existente con la consola

  1. Abra el launch wizard de instancias seleccionando Launch instances (Lanzar instancias) en el Dashboard (Panel) o en Instances (Instancias).

  2. Seleccione una Amazon Machine Image (AMI) y un tipo de instancia.

  3. Complete la página de Configure Instance Details (Configurar detalles de la instancia). En Reserva de capacidad, elija una de las siguientes opciones:

    • None (Ninguno) — Hace que las instancias no se lancen en un Reserva de capacidad. Las instancias se ejecutan en capacidad bajo demanda.

    • Open (Abrir) — Lanza la instancia a cualquier Reserva de capacidad que tenga los atributos correspondientes y capacidad suficiente para la cantidad de instancias seleccionadas. Si no hay Reserva de capacidad coincidentes con suficiente capacidad, la instancia se lanza en capacidad bajo demanda.

    • Target by ID (Destino por ID): lanza las instancias en la Reserva de capacidad seleccionada. Si la Reserva de capacidad seleccionada no tiene suficiente capacidad para la cantidad de instancias seleccionadas, el lanzamiento de la instancia produce un error.

    • Target by group (Destino por grupo): lanza las instancias en cualquier Reserva de capacidad con atributos coincidentes y capacidad disponible en el grupo de Reserva de capacidad seleccionado. Si el grupo seleccionado no tiene una Reserva de capacidad con atributos coincidentes y capacidad disponible, las instancias se lanzan en capacidad bajo demanda.

  4. Complete los pasos restantes para lanzar las instancias.

Para lanzar una instancia en una reserva de capacidad existente mediante la AWS CLI

Utilice el comando run-instances y especifique el parámetro --capacity-reservation-specification.

En el siguiente ejemplo se lanza una instancia t2.micro en cualquier Reserva de capacidad abierto que cuente con atributos coincidentes y capacidad disponible:

aws ec2 run-instances --image-id ami-abc12345 --count 1 --instance-type t2.micro --key-name MyKeyPair --subnet-id subnet-1234567890abcdef1 --capacity-reservation-specification CapacityReservationPreference=open

En el siguiente ejemplo se lanza una instancia t2.micro en una Reserva de capacidad targeted:

aws ec2 run-instances --image-id ami-abc12345 --count 1 --instance-type t2.micro --key-name MyKeyPair --subnet-id subnet-1234567890abcdef1 --capacity-reservation-specification CapacityReservationTarget={CapacityReservationId=cr-a1234567}

En el siguiente ejemplo se lanza una instancia t2.micro en un grupo de Reserva de capacidad:

aws ec2 run-instances --image-id ami-abc12345 --count 1 --instance-type t2.micro --key-name MyKeyPair --subnet-id subnet-1234567890abcdef1 --capacity-reservation-specification CapacityReservationTarget={CapacityReservationResourceGroupArn=arn:aws:resource-groups:us-west-1:123456789012:group/my-cr-group}

Modificar una Reserva de capacidad

Puede cambiar los atributos de una Reserva de capacidad activa después de haberla creado. No puede modificar una Reserva de capacidad después de que haya caducado o después de haberla cancelado explícitamente.

Cuando modifique una Reserva de capacidad, solo puede aumentar o disminuir la cantidad y cambiar la forma en la que se publica. No puede cambiar el tipo de instancia, la optimización para EBS, la configuración del almacén de instancias, la plataforma, la zona de disponibilidad ni la elegibilidad de las instancias de una Reserva de capacidad. Si necesita modificar cualquiera de estos atributos, le recomendamos cancelar la reserva y, a continuación, crear una nueva con los atributos obligatorios.

Si especifica una nueva cantidad que supera el límite de instancia a petición restante para el tipo de instancia seleccionada, se producirá un error en la actualización.

Para modificar una Reserva de capacidad con la consola

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

  2. Elija Reservas de capacidad, seleccione la Reserva de capacidad que modificar y, a continuación, elija Edit (Editar).

  3. Modifique las opciones de Quantity (Cantidad) o Reservation ends (Finalización de la reserva) según corresponda y elija Save changes (Guardar cambios).

Para modificar una reserva de capacidad mediante la AWS CLI

Utilice el comando modify-capacity-reservations:

Por ejemplo, el comando siguiente modifica una Reserva de capacidad para reservar capacidad para ocho instancias.

aws ec2 modify-capacity-reservation --capacity-reservation-id cr-1234567890abcdef0 --instance-count 8

Modificar la configuración de la Reserva de capacidad de una instancia

Puede modificar los ajustes de Reserva de capacidad en una instancia detenida en cualquier momento:

  • Empiece en cualquier Reserva de capacidad que cuente con atributos coincidentes (tipo de instancia, plataforma y zona de disponibilidad) y capacidad disponible.

  • Inicie la instancia en un Reserva de capacidad específico.

  • Empiece en cualquier Reserva de capacidad que cuente con atributos coincidentes y capacidad disponible en un grupo de Reserva de capacidad

  • Evite que la instancia inicie en un Reserva de capacidad.

Para modificar la configuración de la Reserva de capacidad de una instancia con la consola

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

  2. Elija Instances (Instancias) y, a continuación, seleccione la instancia que desee modificar. Detenga la instancia si aún no está detenida.

  3. Elija Actions (Acciones), Modify Reserva de capacidad Settings (Modificar ajustes de Reserva de capacidad).

  4. En Reserva de capacidad, elija una de las siguientes opciones:

    • Open (Abrir) — Lanza la instancia a cualquier Reserva de capacidad que tenga los atributos correspondientes y capacidad suficiente para la cantidad de instancias seleccionadas. Si no hay Reserva de capacidad coincidentes con suficiente capacidad, la instancia se lanza en capacidad bajo demanda.

    • None (Ninguno) — Hace que las instancias no se lancen en un Reserva de capacidad. Las instancias se ejecutan en capacidad bajo demanda.

    • Specify Capacity Reservation (Especificar reserva de capacidad): lanza las instancias en la Reserva de capacidad seleccionada. Si la Reserva de capacidad seleccionada no tiene suficiente capacidad para la cantidad de instancias seleccionadas, el lanzamiento de la instancia produce un error.

    • Specify Capacity Reservation group (Especificar grupo de reserva de capacidad): lanza las instancias en cualquier Reserva de capacidad con atributos coincidentes y capacidad disponible en el grupo de Reserva de capacidad seleccionado. Si el grupo seleccionado no tiene una Reserva de capacidad con atributos coincidentes y capacidad disponible, las instancias se lanzan en capacidad bajo demanda.

Para modificar la configuración de la reserva de capacidad de una instancia mediante la AWS CLI

Utilice el comando modify-instance-capacity-reservation-attributes.

Por ejemplo, el comando siguiente cambia la configuración de Reserva de capacidad de una instancia a open o none.

aws ec2 modify-instance-capacity-reservation-attributes --instance-id i-1234567890abcdef0 --capacity-reservation-specification CapacityReservationPreference=none|open

Por ejemplo, el siguiente comando modifica una instancia para dirigirse a una Reserva de capacidad determinada.

aws ec2 modify-instance-capacity-reservation-attributes --instance-id i-1234567890abcdef0 --capacity-reservation-specification CapacityReservationTarget={CapacityReservationId=cr-1234567890abcdef0}

Por ejemplo, el siguiente comando modifica una instancia para dirigirse a un grupo de Reserva de capacidad determinado.

aws ec2 modify-instance-capacity-reservation-attributes --instance-id i-1234567890abcdef0 --capacity-reservation-specification CapacityReservationTarget={CapacityReservationResourceGroupArn=arn:aws:resource-groups:us-west-1:123456789012:group/my-cr-group}

Ver una Reserva de capacidad

Reservas de capacidad tiene los siguientes estados posibles:

  • active — la capacidad está disponible y se puede utilizar.

  • expired — la Reserva de capacidad caducó automáticamente en la hora y fecha especificadas en su solicitud de reserva. La capacidad reservada ya no está disponible para su uso.

  • cancelled—El Reserva de capacidad se ha cancelado. La capacidad reservada ya no está disponible para su uso.

  • pending — la solicitud de Reserva de capacidad es correcta, pero el aprovisionamiento de la capacidad sigue estando pendiente.

  • failed — se ha producido un error en la solicitud de Reserva de capacidad. Se puede producir un error en la solicitud debido a parámetros de solicitud no válidos, restricciones de capacidad o restricciones del límite de instancias. Puede ver una solicitud fallida durante 60 minutos.

nota

Debido al modelo de coherencia final que siguen las API de Amazon EC2, después de crear una reserva de capacidad, la consola y la respuesta describe-capacity-reservations pueden tardar hasta 5 minutos en indicar que la reserva de capacidad se encuentra en estado active. Durante este tiempo, la consola y la respuesta describe-capacity-reservations pueden indicar que la reserva de capacidad se encuentra en estado pending. Sin embargo, es posible que la reserva de capacidad ya esté disponible para su uso y pueda intentar lanzar instancias en ella.

Para ver sus Reservas de capacidad con la consola

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

  2. Elija Reservas de capacidad y seleccione una Reserva de capacidad que ver.

  3. Elija View launched instances for this reservation (Ver instancias lanzadas para esta reserva).

Para ver sus reservas de capacidad mediante la AWS CLI

Utilice el comando describe-capacity-reservations:

Por ejemplo, el comando siguiente describe todas las Reservas de capacidad.

aws ec2 describe-capacity-reservations

Resultado de ejemplo.

{ "CapacityReservations": [ { "CapacityReservationId": "cr-1234abcd56EXAMPLE ", "EndDateType": "unlimited", "AvailabilityZone": "eu-west-1a", "InstanceMatchCriteria": "open", "Tags": [], "EphemeralStorage": false, "CreateDate": "2019-08-16T09:03:18.000Z", "AvailableInstanceCount": 1, "InstancePlatform": "Linux/UNIX", "TotalInstanceCount": 1, "State": "active", "Tenancy": "default", "EbsOptimized": true, "InstanceType": "a1.medium", "PlacementGroupArn": "arn:aws:ec2:us-east-1:123456789012:placement-group/MyPG" }, { "CapacityReservationId": "cr-abcdEXAMPLE9876ef ", "EndDateType": "unlimited", "AvailabilityZone": "eu-west-1a", "InstanceMatchCriteria": "open", "Tags": [], "EphemeralStorage": false, "CreateDate": "2019-08-07T11:34:19.000Z", "AvailableInstanceCount": 3, "InstancePlatform": "Linux/UNIX", "TotalInstanceCount": 3, "State": "cancelled", "Tenancy": "default", "EbsOptimized": true, "InstanceType": "m5.large" } ] }

Cancelar una Reserva de capacidad

Puede cancelar una Reserva de capacidad en cualquier momento si ya no necesita la capacidad reservada. Cuando cancele una Reserva de capacidad, la capacidad se liberará de inmediato y ya no estará reservada para su uso.

Puede cancelar Reservas de capacidad vacías y Reservas de capacidad que tengan instancias en ejecución. Si cancela una Reserva de capacidad que dispone de instancias de ejecución, las instancias siguen ejecutándose de forma normal fuera de la reserva de capacidad con las tarifas de instancia en diferido estándar o con una tarifa con descuento si dispone de un Savings Plan o una instancia reservada regional.

Una vez que cancele una Reserva de capacidad, las instancias a las que se dirigen no pueden volverse a lanzar. Modifique estas instancias de manera que se destinen a un lanzamiento de Reserva de capacidad, diferente en cualquier Reserva de capacidad con estado open (abierto) con atributos coincidentes y capacidad suficiente, o evite el lanzamiento en una Reserva de capacidad. Para obtener más información, consulte Modificar la configuración de la Reserva de capacidad de una instancia.

Para cancelar una Reserva de capacidad con la consola

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

  2. Elija Reservas de capacidad y seleccione la Reserva de capacidad que cancelar.

  3. Elija Cancel reservation (Cancelar reserva) y Cancel reservation (Cancelar reserva).

Para cancelar una reserva de capacidad mediante la AWS CLI

Utilice el comando cancel-capacity-reservation:

Por ejemplo, el siguiente comando cancela una Reserva de capacidad con un ID de cr-1234567890abcdef0.

aws ec2 cancel-capacity-reservation --capacity-reservation-id cr-1234567890abcdef0