Utilizar flotas de Reservas de capacidad - Amazon Elastic Compute Cloud

Utilizar flotas de Reservas de capacidad

Antes de empezar

Antes de crear una Flota de Reservas de capacidad:

  1. Determine la cantidad de capacidad informática que necesita su carga de trabajo.

  2. Decida los tipos de instancia y las zonas de disponibilidad que desea utilizar.

  3. Asigne prioridad a cada tipo de instancia en función de sus necesidades y preferencias. Para obtener más información, consulte Prioridad de tipo de instancias.

  4. Cree un sistema de ponderación de capacidad que tenga sentido para su carga de trabajo. Asigne una ponderación a cada tipo de instancia y determine la capacidad de destino total. Para obtener más información, consulte Ponderación de tipo de instancias y Capacidad de destino total.

  5. Determine si necesita la reserva de capacidad indefinidamente o solo durante un período de tiempo específico.

Estados de las Flota de Reservas de capacidad

Una Flota de Reservas de capacidad puede tener uno de los siguientes estados:

  • submitted: se ha enviado la solicitud de Flota de Reservas de capacidad y Amazon EC2 se está preparando para crear las Reservas de capacidad.

  • modifying: se está modificando la Flota de Reservas de capacidad. La flota permanece en este estado hasta que se complete la modificación.

  • active: la Flota de Reservas de capacidad ha atendido su capacidad de destino total y está intentando mantener esta capacidad. La solicitud permanece en este estado hasta que se modifica o se elimina.

  • partially_fulfilled: la Flota de Reservas de capacidad ha atendido parcialmente su capacidad de destino total. No hay suficiente capacidad de Amazon EC2 para atender la capacidad de destino total. La flota está intentando atender de forma asíncrona su capacidad de destino total.

  • expiring: la Flota de Reservas de capacidad ha llegado a su fecha de finalización y está en proceso de caducidad. Es posible que una o más de sus Reservas de capacidad sigan activas.

  • expired: la Flota de Reservas de capacidad ha llegado a su fecha de finalización. La flota y sus Reservas de capacidad han caducado. La flota no puede crear nuevas Reservas de capacidad.

  • cancelling: la Flota de Reservas de capacidad está en proceso de cancelarse. Es posible que una o más de sus Reservas de capacidad sigan activas.

  • cancelled: la Flota de Reservas de capacidad se ha cancelado manualmente. La flota y sus Reservas de capacidad se cancelan y la flota no puede crear nuevas Reservas de capacidad.

  • failed: la Flota de Reservas de capacidad no pudo reservar capacidad para los tipos de instancias especificados.

Crear una Flota de Reservas de capacidad

Cuando crea una Flota de Reservas de capacidad, crea automáticamente Reservas de capacidad para los tipos de instancias especificados en la solicitud de flota, hasta la capacidad de destino total especificada. El número de instancias para las que la flota reserva capacidad depende de la capacidad de destino total y de las ponderaciones de tipo de instancia que especifique en la solicitud. Para obtener más información, consulte Ponderación de tipo de instancias y Capacidad de destino total.

Al crear la flota, debe especificar los tipos de instancias que se van a utilizar y una prioridad para cada uno de esos tipos de instancias. Para obtener más información, consulte Estrategia de asignación y Prioridad de tipo de instancias.

nota

El rol vinculado a servicio AWSServiceRoleForEC2CapacityReservationFleet se crea automáticamente en su cuenta la primera vez que cree una Flota de Reservas de capacidad. Para obtener más información, consulte Uso de roles vinculados a servicios para la flota de reservas de capacidad.

Las flotas de Reservas de capacidad solo admiten los criterios open de asignación de instancias.

Puede crear una Flota de Reservas de capacidad utilizando únicamente la línea de comandos.

Para crear una Flota de Reservas de capacidad

Utilice el comando create-capacity-reservation-fleet de la AWS CLI.

C:\> aws ec2 create-capacity-reservation-fleet \ --total-target-capacity capacity_units \ --allocation-strategy prioritized \ --instance-match-criteria open \ --tenancy dedicated|default \ --end-date yyyy-mm-ddThh:mm:ss.000Z \ --instance-type-specifications file://instanceTypeSpecification.json

A continuación, se muestra el contenido de instanceTypeSpecification.json.

[ { "InstanceType": "instance_type", "InstancePlatform":"platform", "Weight": instance_type_weight, "AvailabilityZone":"availability_zone", "AvailabilityZoneId" : "az_id", "EbsOptimized": true|false, "Priority" : instance_type_priority } ]

Resultado previsto.

{ "Status": "status", "TotalFulfilledCapacity": fulfilled_capacity, "CapacityReservationFleetId": "cr_fleet_id", "TotalTargetCapacity": capacity_units }

Ejemplo

C:\> aws ec2 create-capacity-reservation-fleet \ --total-target-capacity 24 \ --allocation-strategy prioritized \ --instance-match-criteria open \ --tenancy default \ --end-date 2021-12-31T23:59:59.000Z \ --instance-type-specifications file://instanceTypeSpecification.json

instanceTypeSpecification.json

[ { "InstanceType": "m5.xlarge", "InstancePlatform": "Linux/UNIX", "Weight": 3.0, "AvailabilityZone":"us-east-1a", "EbsOptimized": true, "Priority" : 1 } ]

Resultado de ejemplo.

{ "Status": "submitted", "TotalFulfilledCapacity": 0.0, "CapacityReservationFleetId": "crf-abcdef01234567890", "TotalTargetCapacity": 24 }

Ver una Flota de Reservas de capacidad

Puede ver la información de configuración y capacidad de una Flota de Reservas de capacidad en cualquier momento. La visualización de una flota también proporciona detalles sobre las Reservas de capacidad individuales que se encuentran dentro de la flota.

Puede ver una Flota de Reservas de capacidad utilizando únicamente la línea de comandos.

Para ver una Flota de Reservas de capacidad

Utilice el comando describe-capacity-reservation-fleets de la AWS CLI.

C:\> aws ec2 describe-capacity-reservation-fleets \ --capacity-reservation-fleet-ids cr_fleet_ids

Resultado previsto

{ "CapacityReservationFleets": [ { "Status": "status", "EndDate": "yyyy-mm-ddThh:mm:ss.000Z", "InstanceMatchCriteria": "open", "Tags": [], "CapacityReservationFleetId": "cr_fleet_id", "Tenancy": "dedicated|default", "InstanceTypeSpecifications": [ { "CapacityReservationId": "cr1_id", "AvailabilityZone": "cr1_availability_zone", "FulfilledCapacity": cr1_used_capacity, "Weight": cr1_instance_type_weight, "CreateDate": "yyyy-mm-ddThh:mm:ss.000Z", "InstancePlatform": "cr1_platform", "TotalInstanceCount": cr1_number of instances, "Priority": cr1_instance_type_priority, "EbsOptimized": true|false, "InstanceType": "cr1_instance_type" }, { "CapacityReservationId": "cr2_id", "AvailabilityZone": "cr2_availability_zone", "FulfilledCapacity": cr2_used_capacity, "Weight": cr2_instance_type_weight, "CreateDate": "yyyy-mm-ddThh:mm:ss.000Z", "InstancePlatform": "cr2_platform", "TotalInstanceCount": cr2_number of instances, "Priority": cr2_instance_type_priority, "EbsOptimized": true|false, "InstanceType": "cr2_instance_type" }, ], "TotalTargetCapacity": total_target_capacity, "TotalFulfilledCapacity": total_target_capacity, "CreateTime": "yyyy-mm-ddThh:mm:ss.000Z", "AllocationStrategy": "prioritized" } ] }

Ejemplo

C:\> aws ec2 describe-capacity-reservation-fleets \ --capacity-reservation-fleet-ids crf-abcdef01234567890

Resultado de ejemplo

{ "CapacityReservationFleets": [ { "Status": "active", "EndDate": "2021-12-31T23:59:59.000Z", "InstanceMatchCriteria": "open", "Tags": [], "CapacityReservationFleetId": "crf-abcdef01234567890", "Tenancy": "default", "InstanceTypeSpecifications": [ { "CapacityReservationId": "cr-1234567890abcdef0", "AvailabilityZone": "us-east-1a", "FulfilledCapacity": 5.0, "Weight": 1.0, "CreateDate": "2021-07-02T08:34:33.398Z", "InstancePlatform": "Linux/UNIX", "TotalInstanceCount": 5, "Priority": 1, "EbsOptimized": true, "InstanceType": "m5.xlarge" } ], "TotalTargetCapacity": 5, "TotalFulfilledCapacity": 5.0, "CreateTime": "2021-07-02T08:34:33.397Z", "AllocationStrategy": "prioritized" } ] }

Modificar una Flota de Reservas de capacidad

Puede modificar la capacidad de destino total y la fecha de una Flota de Reservas de capacidad en cualquier momento. Al modificar la capacidad de destino total de una Flota de Reservas de capacidad, la flota crea automáticamente nuevas Reservas de capacidad o modifica o cancela las Reservas de capacidad existentes en la flota para cumplir la nueva capacidad de destino total. Al modificar la fecha de finalización de la flota, las fechas de finalización de todas las Reservas de capacidad individuales se actualizan en consecuencia.

Después de modificar una flota, su estado pasa a modifying. No puede intentar realizar modificaciones adicionales en una flota mientras esté en el estado modifying.

No puede modificar la tenencia, la zona de disponibilidad, los tipos de instancia, las plataformas de instancias, las prioridades ni las ponderaciones utilizadas por una Flota de Reservas de capacidad. Si necesita cambiar cualquiera de estos parámetros, puede que deba cancelar la flota existente y crear una nueva con los parámetros necesarios.

Puede modificar una Flota de Reservas de capacidad utilizando únicamente la línea de comandos.

Para modificar una Flota de Reservas de capacidad

Utilice el comando modify-capacity-reservation-fleet de la AWS CLI.

nota

No puede especificar --end-date y --remove-end-date en el mismo comando.

C:\> aws ec2 modify-capacity-reservation-fleet \ --capacity-reservation-fleet-id cr_fleet_ids \ --total-target-capacity capacity_units \ --end-date yyyy-mm-ddThh:mm:ss.000Z \ --remove-end-date

Resultado previsto

{ "Return": true }

Ejemplo: Modificación de la capacidad de destino total

C:\> aws ec2 modify-capacity-reservation-fleet \ --capacity-reservation-fleet-id crf-01234567890abcedf \ --total-target-capacity 160

Ejemplo: Modificación de la fecha de finalización

C:\> aws ec2 modify-capacity-reservation-fleet \ --capacity-reservation-fleet-id crf-01234567890abcedf \ --end-date 2021-07-04T23:59:59.000Z

Ejemplo: Eliminación de la fecha de finalización

C:\> aws ec2 modify-capacity-reservation-fleet \ --capacity-reservation-fleet-id crf-01234567890abcedf \ --remove-end-date

Ejemplo de resultados

{ "Return": true }

Cancelar una Flota de Reservas de capacidad

Cuando ya no necesite una Flota de Reservas de capacidad y la capacidad que dicha flota reserva, puede cancelarla. Al cancelar una flota, su estado cambia a cancelled y ya no puede crear nuevas Reservas de capacidad. Además, se cancelan todas las Reservas de capacidad individuales de la flota y las instancias que se estaban ejecutando anteriormente en la capacidad reservada siguen funcionando normalmente en capacidad compartida.

Puede cancelar una Flota de Reservas de capacidad utilizando únicamente la línea de comandos.

Para cancelar una Flota de Reservas de capacidad

Utilice el comando cancel-capacity-reservation-fleet de la AWS CLI.

C:\> aws ec2 cancel-capacity-reservation-fleets \ --capacity-reservation-fleet-ids cr_fleet_ids

Resultado previsto

{ "SuccessfulFleetCancellations": [ { "CurrentFleetState": "state", "PreviousFleetState": "state", "CapacityReservationFleetId": "cr_fleet_id_1" }, { "CurrentFleetState": "state", "PreviousFleetState": "state", "CapacityReservationFleetId": "cr_fleet_id_2" } ], "FailedFleetCancellations": [ { "CapacityReservationFleetId": "cr_fleet_id_3", "CancelCapacityReservationFleetError": [ { "Code": "code", "Message": "message" } ] } ] }

Ejemplo: Cancelación satisfactoria

C:\> aws ec2 cancel-capacity-reservation-fleets \ --capacity-reservation-fleet-ids crf-abcdef01234567890

Ejemplo de resultados

{ "SuccessfulFleetCancellations": [ { "CurrentFleetState": "cancelling", "PreviousFleetState": "active", "CapacityReservationFleetId": "crf-abcdef01234567890" } ], "FailedFleetCancellations": [] }