

# Atualizar um serviço do Amazon ECS
<a name="update-service-console-v2"></a>

Após criar um serviço, talvez você precise atualizar os parâmetros do serviço, por exemplo, o número de tarefas.

Quando você atualiza um serviço que usa o disjuntor do Amazon ECS, o Amazon ECS cria uma implantação e uma revisão do serviço. Esses recursos permitem que você visualize informações detalhadas sobre o histórico de serviços. Para obter mais informações, consulte [Visualize o histórico de serviços usando implantações de serviços do Amazon ECS](service-deployment.md).

## Pré-requisitos
<a name="update-service-prerequisites"></a>

Antes de atualizar um serviço, verifique quais parâmetros de serviço podem ser alterados para seu tipo de implantação. Para obter uma lista completa de parâmetros modificáveis, consulte [Atualizar parâmetros de serviço do Amazon ECS](update-service-parameters.md).

## Procedimento
<a name="update-service-procedure"></a>

------
#### [ Console ]

1. Abra o console em [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

1. Na página **Clusters**, escolha o cluster.

1. Na página de detalhes do cluster, na seção **Serviços**, marque a caixa de seleção ao lado do serviço e escolha **Atualizar**.

1. Para que seu serviço inicie uma nova implantação, selecione **Force new deployment** (Forçar nova implantação).

1. Em **Definição de tarefas**, escolha a família de definição de tarefa e a revisão.
**Importante**  
O console valida se a família de definição de tarefa e a revisão selecionadas são compatíveis com a configuração de computação definida. Se você receber um aviso, verifique a compatibilidade da definição de tarefa e a configuração de computação selecionadas.

1. Caso escolha **Replica** (Réplica), em **Desired tasks** (Tarefas desejadas), especifique o número de tarefas que serão iniciadas e mantidas no serviço.

1. Se você escolheu **Replica**, para que o Amazon ECS monitore a distribuição de tarefas entre as zonas de disponibilidade e as redistribua quando houver um desequilíbrio, em **Rebalanceamento do serviço em zonas de disponibilidade**, selecione **Rebalanceamento do serviço em zonas de disponibilidade**.

1. Em **Min running tasks** (Mínimo de tarefas em execução), insira o limite inferior do número de tarefas do serviço que devem permanecer no estado `RUNNING` durante uma implantação, como uma porcentagem do número desejado de tarefas (arredondado para o número inteiro superior mais próximo). Para obter mais informações, consulte [Configuração da implantação](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service_definition_parameters.html#sd-deploymentconfiguration).

1. Em **Max running tasks** (Máximo de tarefas em execução), insira o limite superior do número de tarefas do serviço que devem permanecer no estado `RUNNING` ou `PENDING` durante uma implantação, como uma porcentagem do número desejado de tarefas (arredondado para o número inteiro inferior mais próximo).

1. Para configurar como as tarefas são implantadas para seu serviço, expanda **Opções de implantação** e configure suas opções.

   1. Em **Tipo de controlador de implantação**, especifique o controlador de implantação do serviço. O console do Amazon ECS é compatível com os seguintes tipos de controladores: `ECS`.

   1. Em **Estratégia de implantação**, escolha a estratégia usada pelo Amazon ECS para implantar novas versões do serviço.

   1. Dependendo da **estratégia de implantação** escolhida, faça o seguinte:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonECS/latest/developerguide/update-service-console-v2.html)

   1. Para executar funções do Lambda em um estágio do ciclo de vida, em **Ganchos do ciclo de vida de implantação**, faça o seguinte para cada função exclusiva do Lambda:

      1. Escolha **Adicionar**.

         Repita o procedimento para cada função exclusiva que você deseja executar.

      1. Em **Função do Lambda**, insira o nome da função.

      1. Em **Perfil**, escolha o perfil que você criou nos pré-requisitos com as permissões azul/verde.

         Para obter mais informações, consulte [Permissões necessárias para funções do Lambda em implantações azul/verde do Amazon ECS](blue-green-permissions.md).

      1. Em **Estágios do ciclo de vida**, selecione os estágios que a função do Lambda executa.

      1.  (Opcional) Em **Detalhes do gancho**, insira um par de chave/valor que forneça informações sobre o gancho.

1. Para configurar como o Amazon ECS detectará e lidará com falhas de implantação, expanda **Deployment failure detection**(Detecção de falhas de implantação) e escolha suas opções. 

   1. Para interromper uma implantação quando as tarefas não podem ser iniciadas, selecione **Use the Amazon ECS deployment circuit breaker)** (Usar o disjuntor de implantação do Amazon ECS.

      Para que o software reverta automaticamente a implantação para o último estado de implantação concluído quando o disjuntor de implantação definir a implantação para um estado de falha, selecione **Reverter em caso de falha**.

   1. Para interromper uma implantação com base nas métricas da aplicação, selecione **Usar alarmes do CloudWatch**. Em seguida, em **Nomes de alarmes do CloudWatch**, escolha os alarmes. Para criar um alarme, acesse o console do CloudWatch.

      Para que o software reverta automaticamente a implantação para o último estado de implantação concluído quando um alarme do CloudWatch definir a implantação para um estado de falha, selecione **Reverter em caso de falha**.

1. Para alterar as opções de computação, expanda **Configuração de computação** e faça o seguinte: 

   1. Para serviços no AWS Fargate, em **Platform version** (Versão da plataforma), escolha a nova versão.

   1. Para serviços que usam uma estratégia de provedor de capacidade, em **Estratégia de provedor de capacidade**, faça o seguinte:
      + Para adicionar um provedor de capacidade adicional, escolha **Adicionar mais**. Em seguida, em **Provedor de capacidade**, escolha o provedor de capacidade.
      + Para remover um provedor de capacidade, à direita do provedor de capacidade, escolha **Remover**.

      Um serviço que usa um provedor de capacidade do grupo do Auto Scaling não pode ser atualizado para usar um provedor de capacidade do Fargate. Um serviço que usa um provedor de capacidade do Fargate não pode ser atualizado para usar um provedor de capacidade do grupo do Auto Scaling.

1. (Opcional) Para configurar o ajuste de escala automático do serviço, expanda **Ajuste de escala automático do serviço** e especifique os parâmetros a seguir. Para usar o ajuste de escala automático preditivo, que utiliza os dados de carga anteriores dos fluxos de tráfego, configure-o após criar o serviço. Para obter mais informações, consulte [Usar padrões históricos para escalar os serviços do Amazon ECS com escalabilidade preditiva](predictive-auto-scaling.md).

   1. Para usar a escalabilidade automática do serviço, selecione **Service auto scaling** (Escalabilidade automática do serviço).

   1. Em **Número mínimo de tarefas**, insira o limite inferior do número de tarefas a serem usadas pelo ajuste de escala automático. A contagem desejada não será inferior a essa contagem.

   1. Em **Número máximo de tarefas**, insira o limite superior do número de tarefas a serem usadas pelo ajuste de escala automático. A contagem desejada não ultrapassará essa contagem.

   1. Escolha o tipo de política. Em **Tipo de política de ajuste de escala**, escolha uma das opções a seguir.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonECS/latest/developerguide/update-service-console-v2.html)

1. (Opcional) Para usar o Service Connect, selecione **Turn on Service Connect** (Ativar o Service Connect) e especifique o seguinte:

   1. Em **Service Connect configuration** (Configuração do Service Connect), especifique o modo cliente.
      + Se seu serviço executa uma aplicação cliente de rede que só precisa se conectar a outros serviços no namespace, escolha **Somente no lado do cliente**.
      + Se seu serviço executa uma aplicação de rede ou de serviço Web e precisa fornecer endpoints para esse serviço e se conectar a outros serviços no namespace, escolha **Client and server** (Cliente e servidor).

   1. Para usar um namespace que não seja o namespace padrão do cluster, em **Namespace**, escolha o namespace do serviço. Isso pode ser um namespace criado separadamente na mesma Região da AWS em sua Conta da AWS ou um namespace na mesma região compartilhada com sua conta usando o AWS Resource Access Manager (AWS RAM). Para obter mais informações sobre namespaces compartilhados do AWS Cloud Map, consulte [Compartilhamento de namespaces do AWS Cloud Map entre contas](https://docs.aws.amazon.com/cloud-map/latest/dg/sharing-namespaces.html) no *Guia do desenvolvedor do AWS Cloud Map*

   1. (Opcional) Especifique uma configuração de log. Selecione **Usar conjunto de logs**. A opção padrão envia os logs do contêiner ao CloudWatch Logs. As outras opções de driver de log são configuradas usando o AWS FireLens. Para obter mais informações, consulte [Envio de logs do Amazon ECS para um serviço da AWS ou para uma AWS Partner](using_firelens.md).

      Veja a seguir a descrição de cada destino de log de contêiner mais detalhadamente.
      + **Amazon CloudWatch**: configura a tarefa para enviar logs de contêiner ao CloudWatch Logs. São fornecidas as opções de driver de log padrão, que criam um grupo de logs do CloudWatch em seu nome. Para especificar um nome de grupo de logs diferente, altere os valores da opção de driver.
      + **Amazon Data Firehose**: configura a tarefa para enviar logs de contêiner ao Firehose. São fornecidas as opções de driver de log padrão, que enviam logs para um fluxo de entrega do Firehose. Para especificar um nome de fluxo de entrega diferente, altere os valores da opção de driver.
      + **Amazon Kinesis Data Streams**: configura a tarefa para enviar logs de contêiner ao Kinesis Data Streams. São fornecidas as opções de driver de log padrão, que enviam logs a um fluxo do Kinesis Data Streams. Para especificar um nome de transmissão diferente, altere os valores da opção de driver.
      + **Amazon OpenSearch Service**: configura a tarefa para enviar logs de contêiner a um domínio do OpenSearch Service. As opções de driver de log devem ser fornecidas. 
      + **Amazon S3**: configura a tarefa para enviar logs de contêiner a um bucket do Amazon S3. As opções de driver de log padrão são fornecidas, mas você deve especificar um nome de bucket válido do Amazon S3.

   1. Para habilitar logs de acesso, siga estas etapas:

      1. Expanda **Configuração do log de acesso**. Em **Formato**, escolha **JSON** ou `TEXT`.

      1. Para incluir parâmetros de consulta nos logs de acesso, selecione **Incluir parâmetros de consulta**.
**nota**  
Para desabilitar os logs de acesso, em **Formato**, escolha **Nenhum**.

1. Caso a tarefa use um volume de dados compatível com a configuração na implantação, você pode configurar o volume expandindo **Volume**.

   O nome e o tipo do volume são configurados ao criar uma revisão de definição de tarefa e não podem ser alterados ao atualizar um serviço. Para atualizar o nome e o tipo do volume, você deve criar uma revisão de definição de tarefa e atualizar o serviço usando a nova revisão.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonECS/latest/developerguide/update-service-console-v2.html)

1. (Opcional) Para ajudar a identificar o serviço, expanda a seção **Tags** (Etiquetas) e configure suas etiquetas.
   + [Adicionar uma tag] Selecione **Adicionar tag** e faça o seguinte:
     + Em **Chave**, insira o nome da chave.
     + Em **Valor** insira o valor da chave.
   + [Remover uma tag] Ao lado da tag, escolha **Remove tag (Remover tag)**.

1. Selecione **Atualizar**.

------
#### [ AWS CLI ]
+ Executar `update-service`. Para obter informações sobre a execução do comando, consulte [update-service](https://docs.aws.amazon.com/cli/latest/reference/ecs/update-service.html) na Referência da AWS Command Line Interface. 

  O exemplo de `update-service` a seguir atualiza a contagem de tarefas desejada do serviço `my-http-service` para 2.

  Substitua os valores das *user-input* pelos seus.

  ```
  aws ecs update-service \
      --cluster MyCluster \
      --service my-http-service \
      --desired-count 2
  ```

------

## Próximas etapas
<a name="update-service-next-steps"></a>

Acompanhe sua implantação e visualize seu histórico de serviços para os disjuntores do Amazon ECS. Para obter mais informações, consulte [Visualize o histórico de serviços usando implantações de serviços do Amazon ECS](service-deployment.md).