Atualizar um serviço do Amazon ECS - Amazon Elastic Container Service

Atualizar um serviço do Amazon ECS

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.

Pré-requisitos

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.

Procedimento

Console
  1. Abra o console em https://console.aws.amazon.com/ecs/v2.

  2. Na página Clusters, escolha o cluster.

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

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

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

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

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

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

  9. 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).

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

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

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

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

  12. (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.

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

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

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

    4. Escolha o tipo de política. Em Tipo de política de ajuste de escala, escolha uma das opções a seguir.

      Para usar este tipo de política Faça o seguinte

      Monitoramento do objetivo

      1. Em Scaling policy type (Tipo de política de escalabilidade), escolha Target tracking (Rastreamento de destino).

      2. Em Policy name (Nome da política), insira o nome da política.

      3. Em Métrica de serviço do ECS, selecione uma das métricas a seguir.

        • ECSServiceAverageCPUUtilization: utilização média da CPU pelo serviço.

        • ECSServiceAverageMemoryUtilization: utilização média da memória pelo serviço.

        • ALBRequestCountPerTarget: número de solicitações concluídas por destino em um grupo de destino do Application Load Balancer.

      4. Em Target value (Valor de destino), insira o valor que o serviço manterá para a métrica selecionada.

      5. Em Aumentar a escala horizontalmente no período de espera, insira a quantidade de tempo, em segundos, após uma atividade de aumento na escala (adicionar tarefas) que deve ser concluída antes que outra atividade de aumento na escala possa ser iniciada.

      6. Em Reduzir a escala horizontalmente no período de espera, insira a quantidade de tempo, em segundos, após uma atividade de redução na escala (remover tarefas) que deve ser concluída antes que outra atividade de redução na escala possa ser iniciada.

      7. Para impedir que a política realize uma atividade de redução da escala na horizontal, selecione Turn off scale-in (Desativar a redução da escala na horizontal).

      8. • (Opcional) Selecione Desativar redução horizontal de escala se quiser que a política de ajuste de escala aumente a escala horizontalmente para ampliar o tráfego, mas não precisar que ela seja reduzida quando o tráfego diminuir.

      Escalabilidade em etapas
      1. Em Scaling policy type (Tipo de política de escalabilidade), escolha Step scaling (Escalabilidade em etapas).

      2. Em Nome da política, insira o nome da política.

      3. Em Alarm name (Nome do alarme), insira um nome exclusivo para o alarme.

      4. Em Métrica de serviço do Amazon ECS, escolha a métrica a ser usada para o alarme.

      5. Em Estatística, escolha a estatística de alarme.

      6. Em Período, escolha o período do alarme.

      7. Em Condição de alarme, escolha como comparar a métrica selecionada com o limite definido.

      8. Em Limite para comparar métricas e Período de avaliação para iniciar o alarme, insira o limite usado para o alarme e por quanto tempo avaliar o limite.

      9. Em Ações de escalabilidade, faça o seguinte:

        • Em Ação, selecione se deseja adicionar, remover ou definir uma contagem desejada específica para o serviço.

        • Se você decidir adicionar ou remover tarefas, em Valor, insira o número de tarefas (ou o percentual de tarefas existentes) para adicionar ou remover quando a ação de ajuste de escala for iniciada. Se você optar por definir a contagem desejada, insira o número de tarefas. Em Tipo, selecione se o Valor é um valor inteiro ou percentual da contagem desejada existente.

        • Em Limite inferior e Limite superior, insira o limite inferior e o limite superior do seu ajuste de escalabilidade de etapas. Por padrão, o limite inferior de uma política de adição é o limite do alarme e o limite superior é mais (+) infinito. Por padrão, o limite superior de uma política de remoção é o limite do alarme e o limite inferior é menos (-) infinito.

        • (Opcional) Adicione outras opções de escalabilidade. Escolha Adicionar nova ação de escalabilidade e repita as etapas de Ações de escalabilidade.

        • Em Período de espera, insira a quantidade de tempo, em segundos, para aguardar que uma atividade de ajuste de escala anterior entre em vigor. Para uma política de adição, esse é o momento após uma atividade de aumento horizontal de escala em que a política de ajuste de escala bloqueia as atividades de redução horizontal de escala e limita quantas tarefas podem ser ampliadas por vez. Para uma política de remoção, esse é o momento após uma atividade de redução horizontal de escala que precisa ser concluída antes que outras atividades do mesmo tipo possam iniciar.

  13. (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).

    2. Para usar um namespace que não seja o namespace padrão do cluster, em Namespace, escolha o namespace do serviço.

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

    Para configurar esse tipo de volume Faça o seguinte

    Amazon EBS

    1. Em Tipo de volume do EBS, escolha o tipo de volume do EBS que você deseja anexar à tarefa.

    2. Em Tamanho (GiB), insira um valor válido para o tamanho do volume em gibibytes (GiB). Você pode especificar um tamanho de volume mínimo de 1 GiB e máximo de 16.384 GiB. Esse valor é obrigatório, a menos que você forneça um ID de snapshot.

    3. Em IOPS, insira o número máximo de operações de entrada e saída (IOPS) que o volume deve oferecer. Esse valor é configurável somente em tipos de volumes io1, io2 e gp3.

    4. Em Throughput (MiB/s), insira o throughput que o volume deve fornecer, em mebibytes por segundo (MiBps ou MiB/s). Esse valor é configurável somente no tipo de volume gp3.

    5. Em ID do snapshot, escolha um snapshot de volume existente do Amazon EBS ou insira o ARN de um snapshot se quiser criar um volume usando um snapshot. Você também pode criar um volume vazio sem escolher ou inserir um ID de snapshot.

    6. Se você especificar um ID de snapshot, poderá especificar uma Taxa de inicialização do volume (MiB/s). Insira um valor entre 100 e 300, em MiB/s, que determinará a rapidez com que os dados são carregados do snapshot especificado usando o ID do snapshot para a criação do volume.

    7. Em Tipo de sistema de arquivos, escolha o tipo de sistema de arquivos que será usado para armazenamento e recuperação de dados no volume. Você pode escolher o sistema operacional padrão ou um tipo específico de sistema de arquivos. O padrão no Linux é XFS. Em volumes criados de um snapshot, você deve especificar o mesmo tipo de sistema de arquivos que o volume estava usando quando o snapshot foi criado. Se houver uma incompatibilidade no tipo do sistema de arquivos, a tarefa não será iniciada.

    8. Em Perfil de infraestrutura, escolha um perfil do IAM com as permissões necessárias para permitir que o Amazon ECS gerencie volumes do Amazon EBS em tarefas. Você pode anexar a política gerenciada AmazonECSInfrastructureRolePolicyForVolumes ao perfil ou usar a política como guia para criar e anexar sua própria política com permissões que atendam às suas necessidades específicas. Para obter mais informações sobre as permissões necessárias, consulte Perfil do IAM de infraestrutura do Amazon ECS.

    9. Em Criptografia, escolha Padrão se deseja usar a criptografia do Amazon EBS por meio das configurações padrão. Se a conta tiver a Criptografia por padrão configurada, o volume será criptografado com a chave do AWS Key Management Service (AWS KMS) especificada na configuração. Caso escolha Padrão e a criptografia padrão do Amazon EBS não estiver ativada, o volume não será criptografado.

      Caso escolha Personalizada, você pode especificar uma AWS KMS key de sua escolha para criptografia de volume.

      Caso escolha Nenhum, o volume não será criptografado, a menos que você tenha a criptografia por padrão configurada ou crie um volume usando um snapshot criptografado.

    10. Caso tenha escolhido Personalizada em Criptografia, você deve especificar a AWS KMS key que deseja usar. Em Chave do KMS, escolha uma AWS KMS key ou insira um ARN de chave. Se você optar por criptografar o volume usando uma chave simétrica gerenciada pelo cliente, verifique se tem as permissões corretas definidas na política do AWS KMS key. Para obter mais informações, consulte Data encryption for Amazon EBS volumes.

    11. (Opcional) Em Tags, você pode adicionar tags ao volume do Amazon EBS propagando tags da definição de tarefa ou do serviço ou fornecendo suas próprias tags.

      Se quiser propagar tags na definição de tarefa, escolha Definição de tarefa em Propagar tags em. Se quiser propagar tags do serviço, escolha Serviço em Propagar tags de. Caso escolha Não propagar ou se não selecionar um valor, as tags não são propagadas.

      Se quiser fornecer suas próprias tags, escolha Adicionar tag e forneça a chave e o valor de cada tag adicionada.

      Para obter mais informações sobre marcação de volumes do Amazon EBS, consulte Tagging Amazon EBS volumes.

  15. (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).

  16. Selecione Atualizar.

AWS CLI
  • Executar update-service. Para obter informações sobre a execução do comando, consulte update-service 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

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.