Para ajudar na categorização e no gerenciamento das solicitações de frota spot e das instâncias e dos volumes que ela executa, você pode marcá-las com metadados personalizados. É possível atribuir uma tag a uma solicitação de frota spot ao criá-la ou posteriormente. Da mesma forma, você pode atribuir uma tag às instâncias e aos volumes quando eles são inicializados pela frota, ou posteriormente.
Quando você marca uma solicitação de frota, as instâncias e os volumes que são executados pela frota não são marcados automaticamente. É necessário marcar explicitamente as instâncias e os volumes executados pela frota. É possível optar por atribuir tags somente à solicitação de frota, somente às instâncias inicializadas pela frota, somente aos volumes anexados às instâncias inicializadas pela frota ou a todos eles.
nota
Você só pode marcar volumes que estão anexados a instâncias sob demanda. Não é possível marcar volumes que estão anexados a Instâncias spot.
É possível atribuir tags usando o console do Amazon EC2 ou uma ferramenta da linha de comando.
Para obter mais informações sobre como as tags funcionam, consulte Marcar com tag os recursos do Amazon EC2.
Conteúdo
Pré-requisito
Conceda ao usuário permissão para marcar recursos. Para ter mais informações, consulte Exemplo: marcar recursos.
Para conceder a um usuário permissão para marcar recursos
Crie uma política do IAM que inclua o seguinte:
-
A ação
ec2:CreateTags
. Isso concede ao usuário permissão para criar tags. -
A ação
ec2:RequestSpotFleet
. Concede ao usuário permissão para criar uma solicitação de frota spot. -
Para
Resource
, você deve especificar"*"
. Permite que os usuários marquem todos os tipos de recursos.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "TagSpotFleetRequest", "Effect": "Allow", "Action": [ "ec2:CreateTags", "ec2:RequestSpotFleet" ], "Resource": "*" } ] }
Importante
No momento, não oferecemos suporte para permissões no nível do recurso para o recurso spot-fleet-request
. Se especificar spot-fleet-request
como um recurso, você receberá uma exceção não autorizada quando tentar marcar a frota. O exemplo a seguir ilustra como não definir a política.
{ "Effect": "Allow", "Action": [ "ec2:CreateTags", "ec2:RequestSpotFleet" ], "Resource": "arn:aws:ec2:
us-east-1
:111122223333
:spot-fleet-request/*" }
Para conceder acesso, adicione as permissões aos seus usuários, grupos ou perfis:
-
Usuários e grupos no AWS IAM Identity Center:
Crie um conjunto de permissões. Siga as instruções em Criação de um conjunto de permissões no Guia do usuário do AWS IAM Identity Center.
-
Usuários gerenciados no IAM com provedor de identidades:
Crie um perfil para a federação de identidades. Siga as instruções em Criando um perfil para um provedor de identidades de terceiros (federação) no Guia do Usuário do IAM.
-
Usuários do IAM:
-
Crie um perfil que seu usuário possa assumir. Siga as instruções em Criação de um perfil para um usuário do IAM no Guia do usuário do IAM.
-
(Não recomendado) Vincule uma política diretamente a um usuário ou adicione um usuário a um grupo de usuários. Siga as instruções em Adição de permissões a um usuário (console) no Guia do usuário do IAM.
-
Marcar uma nova frota spot e as instâncias e os volumes que ela executa
Para marcar uma nova solicitação de frota spot e as instâncias e os volumes que ela executa usando o console
-
Siga o procedimento do Criar uma solicitação de frota spot usando parâmetros definidos (console).
-
A forma como você adiciona uma tag depende se você configurou manualmente a frota ou se usou um modelo de execução.
-
Caso tenha configurado a frota manualmente, faça o seguinte:
Para adicionar uma tag, expanda Parâmetros adicionais de execução, escolha Criar tag e insira a chave e o valor para a tag. Repita esse procedimento para cada tag.
Para cada tag, você pode marcar a solicitação de frota spot e as instâncias com a mesma tag. Para marcar ambas, verifique se Instâncias e Frota estão selecionados. Para aplicar tag apenas na solicitação de frota spot, desmarque Instances (Instâncias). Para marcar apenas as instâncias iniciadas pela frota, desmarque Frota.
nota
Quando você configura manualmente uma frota, não há opção para marcar volumes. As tags de volume são compatíveis apenas para volumes que estão anexados a Instâncias on-demand. Ao configurar manualmente uma frota, você não pode especificar instâncias sob demanda.
-
Caso tenha usado um modelo de execução, faça o seguinte:
Para adicionar uma tag à solicitação de frota, em Tags, escolha Criar tag e insira a chave e o valor para a tag. Repita esse procedimento para cada tag.
Para marcar os recursos em sua frota, você deve especificar as tags no modelo de execução.
-
Para marcar uma nova solicitação de frota spot e as instâncias e os volumes que ela executa usando a AWS CLI
Para marcar uma solicitação de frota spot ao criá-la e marcar as instâncias e os volumes quando elas são executadas pela frota, defina a configuração da solicitação de frota spot da seguinte maneira:
Tags de solicitações de frota spot:
-
Especifique as etiquetas para a solicitação de frota spot em
SpotFleetRequestConfig
. -
Em
ResourceType
, especifiquespot-fleet-request
. Se você especificar outro valor, ocorrerá falha na frota. -
Em
Tags
, especifique o par de chave/valor. É possível especificar mais de um par de chave/valor.
Tags de instância:
-
Especifique as tags das instâncias em
LaunchSpecifications
. -
Em
ResourceType
, especifiqueinstance
. Se você especificar outro valor, ocorrerá falha na frota. -
Em
Tags
, especifique o par de chave/valor. É possível especificar mais de um par de chave/valor.Como alternativa, você pode especificar as tags da instância no modelo de execução que é referenciado na solicitação de frota spot.
Tags de volume:
-
Especifique as tags para os volumes no modelo de execução mencionado na solicitação de frota spot. A marcação de volume em
LaunchSpecifications
não é compatível.
No exemplo a seguir, a solicitação de frota spot é marcada com duas tags: Key=Environment e Value=Production, e Key=Cost-Center e Value=123. As instâncias executadas pela frota são marcadas com uma tag (que é a mesma que uma das tags da solicitação de frota spot): Keys=Cost-Center e Value=123.
{
"SpotFleetRequestConfig": {
"AllocationStrategy": "priceCapacityOptimized",
"ExcessCapacityTerminationPolicy": "default",
"IamFleetRole": "arn:aws:iam::111122223333:role/aws-ec2-spot-fleet-tagging-role",
"LaunchSpecifications": [
{
"ImageId": "ami-0123456789EXAMPLE",
"InstanceType": "c4.large",
"TagSpecifications": [
{
"ResourceType": "instance",
"Tags": [
{
"Key": "Cost-Center
",
"Value": "123
"
}
]
}
]
}
],
"SpotPrice": "5",
"TargetCapacity": 2,
"TerminateInstancesWithExpiration": true,
"Type": "maintain",
"ReplaceUnhealthyInstances": true,
"InstanceInterruptionBehavior": "terminate",
"InstancePoolsToUseCount": 1,
"TagSpecifications": [
{
"ResourceType": "spot-fleet-request",
"Tags": [
{
"Key": "Environment
",
"Value":"Production
"
},
{
"Key": "Cost-Center
",
"Value":"123
"
}
]
}
]
}
}
Para marcar instâncias executadas por uma frota spot usando a AWS CLI
Para marcar instâncias quando elas são executadas pela frota, você pode especificar as tags no modelo de execução referenciado na solicitação de frota spot ou especificar as tags na configuração da solicitação de frota spot da seguinte maneira:
-
Especifique as tags das instâncias em
LaunchSpecifications
. -
Em
ResourceType
, especifiqueinstance
. Se você especificar outro valor, ocorrerá falha na frota. -
Em
Tags
, especifique o par de chave/valor. É possível especificar mais de um par de chave/valor.
No exemplo a seguir, as instâncias que são executadas pela frota são marcadas com uma tag: Key=Cost-Center e Value=123.
{
"SpotFleetRequestConfig": {
"AllocationStrategy": "priceCapacityOptimized",
"ExcessCapacityTerminationPolicy": "default",
"IamFleetRole": "arn:aws:iam::111122223333:role/aws-ec2-spot-fleet-tagging-role",
"LaunchSpecifications": [
{
"ImageId": "ami-0123456789EXAMPLE",
"InstanceType": "c4.large",
"TagSpecifications": [
{
"ResourceType": "instance",
"Tags": [
{
"Key": "Cost-Center
",
"Value": "123
"
}
]
}
]
}
],
"SpotPrice": "5",
"TargetCapacity": 2,
"TerminateInstancesWithExpiration": true,
"Type": "maintain",
"ReplaceUnhealthyInstances": true,
"InstanceInterruptionBehavior": "terminate",
"InstancePoolsToUseCount": 1
}
}
Para marcar volumes anexados a instâncias sob demanda executadas por uma frota spot usando a AWS CLI
Para marcar volumes ao serem criados pela frota, é necessário especificar as tags no modelo de execução mencionado na solicitação de frota spot.
nota
As tags de volume são compatíveis apenas para volumes que estão anexados a Instâncias on-demand. Não é possível marcar volumes que estão anexados a Instâncias spot.
A marcação de volume em LaunchSpecifications
não é compatível.
Marcar uma frota spot existente
Para marcar uma solicitação de frota spot existente usando o console
Depois de criar uma solicitação de frota spot, você pode adicionar tags à solicitação de frota usando o console.
-
Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/
. -
No painel de navegação, selecione Solicitações spot.
-
Selecione sua solicitação de frota spot.
-
Escolha a guia Tags e Create Tag (Criar tag).
Para marcar uma solicitação de frota spot existente usando a AWS CLI
É possível usar o comando create-tags
aws ec2 create-tags \ --resources
sfr-11112222-3333-4444-5555-66666EXAMPLE
\ --tags Key=purpose
,Value=test
Exibir tags de solicitações de frota spot
Para visualizar tags de solicitação de frota spot usando o console
-
Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/
. -
No painel de navegação, selecione Solicitações spot.
-
Selecione sua solicitação de frota spot e escolha a guia Tags.
Para descrever as tags de solicitação de frota spot
Use o comando describe-tags
aws ec2 describe-tags \ --filters "Name=resource-id,Values=
sfr-11112222-3333-4444-5555-66666EXAMPLE
"
{
"Tags": [
{
"Key": "Environment",
"ResourceId": "sfr-11112222-3333-4444-5555-66666EXAMPLE",
"ResourceType": "spot-fleet-request",
"Value": "Production"
},
{
"Key": "Another key",
"ResourceId": "sfr-11112222-3333-4444-5555-66666EXAMPLE",
"ResourceType": "spot-fleet-request",
"Value": "Another value"
}
]
}
Você também pode visualizar as tags de uma solicitação de frota spot descrevendo a solicitação de frota spot.
Use o comando describe-spot-fleet-requests
aws ec2 describe-spot-fleet-requests \ --spot-fleet-request-ids
sfr-11112222-3333-4444-5555-66666EXAMPLE
{
"SpotFleetRequestConfigs": [
{
"ActivityStatus": "fulfilled",
"CreateTime": "2020-02-13T02:49:19.709Z",
"SpotFleetRequestConfig": {
"AllocationStrategy": "capacityOptimized",
"OnDemandAllocationStrategy": "lowestPrice",
"ExcessCapacityTerminationPolicy": "Default",
"FulfilledCapacity": 2.0,
"OnDemandFulfilledCapacity": 0.0,
"IamFleetRole": "arn:aws:iam::111122223333:role/aws-ec2-spot-fleet-tagging-role",
"LaunchSpecifications": [
{
"ImageId": "ami-0123456789EXAMPLE",
"InstanceType": "c4.large"
}
],
"TargetCapacity": 2,
"OnDemandTargetCapacity": 0,
"Type": "maintain",
"ReplaceUnhealthyInstances": false,
"InstanceInterruptionBehavior": "terminate"
},
"SpotFleetRequestId": "sfr-11112222-3333-4444-5555-66666EXAMPLE",
"SpotFleetRequestState": "active",
"Tags": [
{
"Key": "Environment",
"Value": "Production"
},
{
"Key": "Another key",
"Value": "Another value"
}
]
}
]
}