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. Além disso, é possível incluir reservas de capacidade com atributos diferentes (por exemplo, tipo de instância, plataforma, zona de disponibilidade e locação) 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 correspondem a qualquer reserva de capacidade no grupo que tenha atributos correspondentes (por exemplo, tipo de instância, plataforma, zona de disponibilidade e locação) 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.
Tópicos
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
comallowed-resource-types
definido comoAWS::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-arnsarn: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
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-arnsarn: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"
}
}