

# Marcar uma solicitação nova ou existente da frota spot e as instâncias e os volumes que ela executa
<a name="tag-spot-fleet"></a>

**Importante**  
A frota spot usa uma API herdada sem investimento planejado. Em vez disso, recomendamos usar uma Frota do EC2 ou um grupo do Auto Scaling. Para obter mais informações, consulte [Qual é o melhor método de frota a ser usado?](which-fleet-method-to-use.md).

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](Using_Tags.md).

**Topics**
+ [Pré-requisito](#tag-spot-fleet-prereqs)
+ [Marcar uma nova frota spot e as instâncias e os volumes que ela executa](#tag-new-spot-fleet-and-resources)
+ [Marcar uma frota spot existente](#tag-existing-spot-fleet)
+ [Exibir tags de solicitações de frota spot](#view-spot-fleet-tags)

## Pré-requisito
<a name="tag-spot-fleet-prereqs"></a>

Conceda ao usuário permissão para marcar recursos. Para obter mais informações, consulte [Exemplo: marcar recursos](ExamplePolicies_EC2.md#iam-example-taggingresources).

**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.

------
#### [ JSON ]

****  

```
{
    "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 Centro de Identidade do AWS IAM:

  Crie um conjunto de permissões. Siga as instruções em [Criação de um conjunto de permissões](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) no *Guia do usuário do Centro de Identidade do AWS IAM*.
+ 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)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) 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](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) 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)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) no *Guia do usuário do IAM*.

## Marcar uma nova frota spot e as instâncias e os volumes que ela executa
<a name="tag-new-spot-fleet-and-resources"></a>

**Para marcar uma nova solicitação de frota spot e as instâncias e os volumes que ela executa usando o console**

1. Siga o procedimento do [Criar uma solicitação de frota spot usando parâmetros definidos](create-spot-fleet.md#create-spot-fleet-advanced).

1. 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](create-launch-template.md).

**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`.
+ Para `ResourceType`, especifique `spot-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`.
+ Para `ResourceType`, especifique `instance`. 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](create-launch-template.md) que é referenciado na solicitação de frota spot.

**Tags de volume:**
+ Especifique as tags para os volumes no [modelo de execução](create-launch-template.md) 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](create-launch-template.md) 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`.
+ Para `ResourceType`, especifique `instance`. 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](create-launch-template.md) 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
<a name="tag-existing-spot-fleet"></a>

**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.

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, selecione **Solicitações spot**.

1. Selecione sua solicitação de frota spot.

1. 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](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-tags.html) para marcar os recursos existentes. No exemplo a seguir, a solicitação de frota spot existente é marcada com Key=purpose e Value=test.

```
aws ec2 create-tags \
    --resources {{sfr-11112222-3333-4444-5555-66666EXAMPLE}} \
    --tags Key={{purpose}},Value={{test}}
```

## Exibir tags de solicitações de frota spot
<a name="view-spot-fleet-tags"></a>

**Para visualizar tags de solicitação de frota spot usando o console**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, selecione **Solicitações spot**.

1. 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](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-tags.html) para visualizar as tags para o recurso especificado. No exemplo a seguir, você descreve as tags da solicitação de frota spot especificada.

```
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](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-spot-fleet-requests.html) para visualizar a configuração da solicitação de frota spot especificada, que inclui todas as tags especificadas para a solicitação de frota.

```
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"
                }
            ]
        }
    ]
}
```