Atualizar recursos fora do Express Mode
O Express Mode simplifica a implantação ao provisionar e gerenciar os recursos da AWS automaticamente em seu nome, mas é importante entender o modelo de responsabilidade. Enquanto o Express Mode cria e configura recursos como serviços do Amazon ECS, balanceadores de carga e políticas de ajuste de escala automático, todos os recursos permanecem em sua conta da AWS e são totalmente acessíveis para gerenciamento direto. Você pode modificar esses recursos fora do Express Mode usando o console da AWS, a AWS CLI ou as APIs, mas isso pode afetar a capacidade do Express Mode de gerenciar seu serviço. Esta seção explica quais recursos o Express Mode gerencia, como fazer alterações com segurança fora do Express Mode e o que acontece quando você faz isso.
Entender o modelo de responsabilidade compartilhada
O limite de responsabilidade no Express Mode é definido pelo uso da API. As APIs do Express Mode gerenciam recursos em seu nome com atualizações coordenadas entre vários serviços da AWS. As APIs padrão de serviço da AWS oferecem controle direto sobre recursos individuais. Isso permite que você vá além do conjunto de parâmetros que o Express Mode fornece para configuração e dá a você o controle sobre cada parâmetro de cada recurso. Os dois conjuntos de APIs operam na mesma infraestrutura subjacente em sua conta e executarão as operações solicitadas. A AWS tem a responsabilidade de executar a operação solicitada. O Express Mode não confirma se as modificações de recursos que usam APIs diretas entrarão em conflito com a configuração do Express Mode nem evita alterações que possam interromper a funcionalidade do serviço. Isso também significa que você tem a capacidade de fazer alterações, e elas persistirão. O Express Mode não substituirá as alterações, a menos que seja solicitado como parte de uma atualização do Express Mode. Você é responsável por entender como as modificações que usam APIs diretas interagem com a configuração do Express Mode e por resolver quaisquer conflitos ou problemas de serviço resultantes.
Para obter mais detalhes sobre os padrões definidos pelo Express Mode e os recursos que ele orquestra, consulte Recursos criados pelos serviços do Amazon ECS Express Mode.
Preciso fazer alguma coisa para poder aproveitar os recursos do Amazon ECS no meu serviço Express Mode?
Não, não há trajetória de graduação ou ruptura de vidro para o Express Mode. Todo o conjunto de recursos do Amazon ECS está sempre disponível para seu serviço Express Mode. Se você quiser garantir que nenhuma outra atualização do Express Mode ocorra em seu serviço, há várias opções. Ao remover a tag gerenciada de seus recursos, o Amazon ECS não poderá mais identificá-la e operá-la como serviço do Express Mode. Como alternativa, você também pode usar o IAM para restringir as permissões do usuário às APIs do Express Mode.
Exemplo de atualizações fora do Express Mode
Adicionar um arquivo associado a um serviço Express Mode
Você pode adicionar qualquer contêiner de arquivo associado ao seu serviço. Esse exemplo mostra como adicionar um arquivo associado de log do Fluent Bit.
-
Abra o console em https://console.aws.amazon.com/ecs/v2
. -
No painel de navegação, escolha Clusters.
-
Selecione o cluster em que o seu serviço Express Mode está localizado e, no painel Serviços, selecione-o.
-
Vá até a guia Recursos e selecione a definição de tarefa.
-
Selecione a guia JSON e, em seguida, selecione a seta para baixo no botão superior chamado Criar nova revisão. Aqui você encontrará uma ação chamada Criar nova revisão com JSON.
-
Adicione o contêiner de arquivo associado antes ou depois da definição de contêiner principal. Para obter mais informações, consulte Exemplo de definição de tarefa do Amazon ECS: rotear logs para o FireLens.
-
Se você tiver um arquivo auxiliar de log, como nesse exemplo, convém alterar o
logDriverno contêiner principal:"logConfiguration": { "logDriver": "awsfirelens" } -
Supondo as configurações padrão para um serviço Express Mode, defina o contêiner principal memoryReservation como 1998 e o contêiner memoryReservation do Fluent Bit como 50. Isso garante que a reserva total de memória nos dois contêineres não exceda a quantidade que você está executando na tarefa do Fargate (2048 para um serviço Express Mode padrão).
-
Crie sua nova revisão.
-
Clique na lista suspensa que diz Implantar e selecione Atualizar serviço.
-
Selecione o cluster e o serviço que você está atualizando e, em seguida, selecione Forçar nova implantação. A revisão de definição de tarefa que você acabou de criar deve ser selecionada automaticamente. Selecione Atualizar.
-
Veja sua implantação ocorrer. As tarefas desse serviço agora terão dois contêineres. Atualizações adicionais por meio do console ou das APIs do Express Mode não substituirão as alterações na definição de tarefa, a menos que estejam em conflito direto. Por exemplo, nesse caso, se você atribuir ao Express Mode um novo nome de grupo de logs e fluxo de logs, o LogDriver será atualizado novamente para
awslogs.
Adicionar um domínio personalizado ao serviço
Pré-requisitos: este guia pressupõe que seu domínio seja uma zona hospedada gerenciada pelo Route 53 com um certificado ACM. Se seu domínio estiver hospedado em outro lugar, você precisará de um CNAME para apontar para o registro de DNS do Application Load Balancer.
-
Abra o console em https://console.aws.amazon.com/ecs/v2
. -
No painel de navegação, escolha Clusters.
-
Selecione o cluster em que o seu serviço Express Mode está localizado e, no painel Serviços, selecione-o.
-
Vá até a guia Recursos e selecione a regra do receptor.
-
Selecione Ação e Editar regra.
-
Copie o valor atual do cabeçalho Host (o URL da aplicação) e remova a regra, pois só pode haver um de cada tipo.
-
Adicione uma condição do tipo Cabeçalho Host e cole o URL da aplicação novamente como valor da condição do cabeçalho Host.
-
Clique em Adicionar valor da condição OR.
-
Insira o nome de domínio personalizado.
-
Clique em Próximo e Salvar alterações.
-
Agora, selecione a guia Certificados do receptor do Application Load Balancer.
-
Clique em Adicionar certificado. Aqui você pode importar o certificado para o receptor.
-
Na sua zona hospedada Route 53, clique em Criar registro para criar um registro de roteamento para seu serviço.
-
Selecione um registro de roteamento simples.
-
Adicione um nome de registro.
-
Selecione um tipo de registro.
-
Direcione o tráfego para um Alias para Application Load Balancer e Classic Load Balancer.
-
Selecione sua região.
-
Selecione o balanceador de carga que seu serviço Express Mode utiliza.
Depois de alguns minutos para a propagação, seu serviço começará a receber tráfego no domínio personalizado. Se você estiver adicionando muitos certificados ao Application Load Balancer ou atendendo muitos serviços do Express Mode pelo Application Load Balancer, considere aumentar o limite de serviço para certificados no Application Load Balancer.