Trabalhar com grupos de Reserva de capacidade - Amazon Elastic Compute Cloud

Trabalhar com grupos de Reserva de capacidade

É possível usar o AWS Resource Groups para criar coleções lógicas de Reservas de Capacidade, chamadas grupos de recursos. Um grupo de recursos é um agrupamento lógico de recursos da AWS que estão todos na mesma região da AWS. Para obter mais informações sobre grupos de recursos, consulte O que são grupos de recursos? no Guia do usuário do AWS Resource Groups.

É possível incluir reservas de capacidade de sua propriedade em sua conta e reservas de capacidade compartilhadas com você por outras contas da AWS em um único grupo de recursos. Também é possível incluir reservas de capacidade que tenham atributos diferentes (tipo de instância, plataforma e zona de disponibilidade) em um único grupo de recursos.

Ao criar grupos de recursos para reservas de capacidade, é possível direcionar instâncias para um grupo de reservas de capacidade em vez de uma reserva de capacidade individual. As instâncias direcionadas a um grupo de Reservas de Capacidade estabelecem correspondência com qualquer Reserva de capacidade do grupo que tenha atributos correspondentes (tipo de instância, plataforma e zona de disponibilidade) e capacidade disponível. Se o grupo não tiver uma Reserva de capacidade com atributos correspondentes e capacidade disponível, as instâncias serão executadas usando a capacidade sob demanda. Se uma Reserva de capacidade correspondente for adicionada ao grupo de destino em um estágio posterior, a correspondência da instância será automática e ela será movida para sua capacidade reservada.

Para evitar o uso não intencional de Reservas de Capacidade em um grupo, configure as Reservas de Capacidade no grupo para aceitar somente as instâncias que se dirigem explicitamente à reserva de capacidade. Para fazer isso, defina Instance eligibility (Qualificação de instâncias) como targeted (direcionadas) ou Only instances that specify this reservation (Somente instâncias que especificam essa reserva) (novo console) ao criar a Reserva de capacidade usando o console do Amazon EC2. Ao usar a AWS CLI, especifique --instance-match-criteria targeted ao criar a reserva de capacidade. Isso garante que somente as instâncias explicitamente direcionadas ao grupo, ou a uma Reserva de capacidade no grupo, possam ser executadas no grupo.

Se uma Reserva de capacidade em um grupo for cancelada ou expirar enquanto tiver instâncias em execução, as instâncias serão automaticamente movidas para outra Reserva de capacidade no grupo que tenha atributos correspondentes e capacidade disponível. Se não houver Reservas de Capacidade restantes no grupo que tenham atributos correspondentes e capacidade disponível, as instâncias serão executadas na capacidade sob demanda. Se uma Reserva de capacidade correspondente for adicionada ao grupo de destino em um estágio posterior, a instância será automaticamente movida para sua capacidade reservada.

Criar um grupo de reserva de capacidade

Como criar um grupo para reservas de capacidade

Use o comando create-group da AWS CLI. Para name, forneça um nome descritivo para o grupo e, para configuration, especifique dois parâmetros de solicitação Type:

  • AWS::EC2::CapacityReservationPool para garantir que o grupo de recursos possa ser direcionado para execuções de instâncias

  • AWS::ResourceGroups::Generic com allowed-resource-types definido como AWS::EC2::CapacityReservation para garantir que o grupo de recursos aceite apenas Reservas de Capacidade

Por exemplo, o comando a seguir cria um grupo chamado MyCRGroup.

$ aws resource-groups create-group --name MyCRGroup --configuration '{"Type":"AWS::EC2::CapacityReservationPool"}' '{"Type":"AWS::ResourceGroups::Generic", "Parameters": [{"Name": "allowed-resource-types", "Values": ["AWS::EC2::CapacityReservation"]}]}'

Veja a seguir um exemplo de saída.

{ "GroupConfiguration": { "Status": "UPDATE_COMPLETE", "Configuration": [ { "Type": "AWS::EC2::CapacityReservationPool" }, { "Type": "AWS::ResourceGroups::Generic", "Parameters": [ { "Values": [ "AWS::EC2::CapacityReservation" ], "Name": "allowed-resource-types" } ] } ] }, "Group": { "GroupArn": "arn:aws:resource-groups:sa-east-1:123456789012:group/MyCRGroup", "Name": "MyCRGroup" } }

Adicionar uma reserva de capacidade a um grupo

Se você adicionar uma reserva de capacidade compartilhada com você a um grupo e essa reserva de capacidade não for compartilhada, ela será automaticamente removida do grupo.

Como adicionar uma Reserva de capacidade a um grupo

Use o comando group-resources da AWS CLI. Para group, especifique o nome do grupo ao qual adicionar as Reservas de Capacidade e, para resources, especifique ARNs de Reservas de Capacidade a serem adicionadas. Para adicionar várias Reservas de Capacidade, separe os ARNs com um espaço. Para obter os ARNs do Reservas de Capacidade para adicionar, use o comando describe-capacity-reservations da AWS CLI e especifique os IDs das Reservas de Capacidade.

Por exemplo, o comando a seguir adiciona duas Reservas de Capacidade a um grupo chamado MyCRGroup.

$ aws resource-groups group-resources --group MyCRGroup --resource-arns arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-1234567890abcdef1 arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-54321abcdef567890

Veja a seguir um exemplo de saída.

{ "Failed": [], "Succeeded": [ "arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-1234567890abcdef1", "arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-54321abcdef567890" ] }

Visualizar as reservas de capacidade em um grupo

Como visualizar as Reservas de Capacidade em um grupo específico

Use o comando list-group-resources da AWS CLI. Para group, especifique o nome do grupo.

Por exemplo, o comando a seguir lista as Reservas de Capacidade em um grupo chamado MyCRGroup.

$ aws resource-groups list-group-resources --group MyCRGroup

Veja a seguir um exemplo de saída.

{ "QueryErrors": [], "ResourceIdentifiers": [ { "ResourceType": "AWS::EC2::CapacityReservation", "ResourceArn": "arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-1234567890abcdef1" }, { "ResourceType": "AWS::EC2::CapacityReservation", "ResourceArn": "arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-54321abcdef567890" } ] }
nota

A saída do comando inclui reservas de capacidade de sua propriedade e reservas de capacidade compartilhadas com você.

Visualizar os grupos aos quais uma reserva de capacidade pertence

AWS CLI
Como visualizar os grupos aos quais uma reserva de capacidade específica foi adicionada

Use o comando get-groups-for-capacity-reservation da AWS CLI.

Por exemplo, o comando a seguir lista os grupos aos quais a Reserva de capacidade cr-1234567890abcdef1 foi adicionada.

$ aws ec2 get-groups-for-capacity-reservation --capacity-reservation-id cr-1234567890abcdef1

Veja a seguir um exemplo de saída.

{ "CapacityReservationGroups": [ { "OwnerId": "123456789012", "GroupArn": "arn:aws:resource-groups:sa-east-1:123456789012:group/MyCRGroup" } ] }
nota

Se você especificar uma reserva de capacidade compartilhada com você, o comando retornará apenas os grupos de reserva de capacidade de sua propriedade.

Amazon EC2 console
Como visualizar os grupos aos quais uma reserva de capacidade específica foi adicionada
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, escolha Reservas de Capacidade, selecione a Reserva de capacidade a ser visualizada e escolha View (Visualizar).

    Os grupos aos quais a Reserva de capacidade foi adicionada são listados no cartão Groups (Grupos).

nota

Se você escolher uma reserva de capacidade compartilhada com você, o console exibirá apenas os grupos de reserva de capacidade de sua propriedade.

Remover uma reserva de capacidade de um grupo

Como remover uma Reserva de capacidade de um grupo

Use o comando ungroup-resources da AWS CLI. Para group, especifique o ARN do grupo do qual remover a Reserva de capacidade e, para resources, especifique os ARNs das Reservas de Capacidade a serem removidas. Para remover várias Reservas de Capacidade, separe os ARNs com um espaço.

O exemplo a seguir remove duas Reservas de Capacidade de um grupo chamado MyCRGroup.

$ aws resource-groups ungroup-resources --group MyCRGroup --resource-arns arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-0e154d26a16094dd arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-54321abcdef567890

Veja a seguir um exemplo de saída.

{ "Failed": [], "Succeeded": [ "arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-0e154d26a16094dd", "arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-54321abcdef567890" ] }

Excluir um grupo de reserva de capacidade

Para excluir um grupo

Use o comando delete-group da AWS CLI. Para group, forneça o nome do grupo a ser excluído.

Por exemplo, o comando a seguir exclui um grupo chamado MyCRGroup.

$ aws resource-groups delete-group --group MyCRGroup

Veja a seguir um exemplo de saída.

{ "Group": { "GroupArn": "arn:aws:resource-groups:sa-east-1:123456789012:group/MyCRGroup", "Name": "MyCRGroup" } }