Workloads do Windows do tamanho certo
Visão geral
O dimensionamento correto é uma das ferramentas mais robustas para reduzir custos. A AWS oferece vários métodos para coletar informações de dimensionamento correto, desde a análise de possíveis workloads usando uma Otimização e Avaliação de Licenciamento da AWS (AWS OLA)
Esta seção mostra como usar o AWS Compute Optimizer para identificar oportunidades de dimensionamento correto do Amazon EC2. O Compute Optimizer ajuda a evitar o superprovisionamento e o subprovisionamento dos seguintes tipos de recursos da AWS:
-
Tipos de instâncias do Amazon Elastic Compute Cloud (Amazon EC2)
-
Serviços do Amazon Elastic Container Service (Amazon ECS) no
AWS Fargate -
Funções do AWS Lambda
baseadas em dados de utilização fornecidos pelo Amazon CloudWatch
Cenário de otimização de custos
Avaliar a eficácia do dimensionamento correto pode ser um desafio, pois os esforços de dimensionamento correto podem ser direcionados a uma aplicação específica, a uma equipe ou a toda a organização. Por exemplo, considere uma organização que migra milhares de instâncias para a AWS, com 90% de sua frota composta por workloads do Windows. A organização pode usar o Compute Optimizer para analisar sua frota e descobrir um superprovisionamento significativo em suas contas e Regiões da AWS. Depois, ela pode usar o AWS Systems Manager Automation para dimensionar corretamente sua frota por meio de várias janelas de manutenção. Como resultado, a organização consegue ajustar o tipo de instância do tamanho certo para 70% de sua frota e obtém uma economia de custos de 35%.
O painel a seguir ilustra a economia obtida ao longo de vários meses quando esse exemplo de organização implementou estrategicamente as recomendações de dimensionamento correto do Compute Optimizer. O objetivo era operar suas workloads existentes da forma mais eficiente possível, a fim de retomar uma migração paralisada de um data center de colocalização próximo ao final do contrato.
Recomendações de otimização de custos
Recomendamos que você execute as próximas etapas a seguir para otimizar seus custos usando o Compute Optimizer:
-
Habilitar o Compute Optimizer
-
Habilitar a coleta de métricas de memória para nós do Windows
-
Aplicar as recomendações do Compute Optimizer
-
Marcar instâncias para obter o dimensionamento correto
-
Habilitar a tag de alocação de custos para funcionar com ferramentas de faturamento da AWS
-
Implementar as recomendações de dimensionamento correto com o AWS Systems Manager Automation
-
Considerar métodos alternativos de redimensionamento
-
Revisar os custos antes e depois no Cost Explorer
Habilitar o Compute Optimizer
Você pode habilitar o Compute Optimizer no nível da organização ou de uma única conta no AWS Organizations. A configuração de toda a organização fornece relatórios contínuos para instâncias novas e existentes em toda a sua frota para todas as contas de membros. Isso permite que o dimensionamento correto seja uma atividade recorrente em vez de uma atividade pontual.
Nível da organização
Para a maioria das organizações, a forma mais eficiente de usar o Compute Optimizer é no nível organizacional. Isso fornece visibilidade de várias contas e várias regiões em sua organização e centraliza os dados em uma fonte para análise. Para habilitar essa funcionalidade no nível da organização, faça o seguinte:
-
Faça login na sua conta gerencial do Organizations com um perfil que tenha as permissões necessárias, e opte por incluir todas as contas dessa organização. A organização deve ter todos os recursos habilitados.
-
Depois de habilitar a conta gerencial, você pode entrar na conta, ver todas as outras contas de membros e consultar suas recomendações.
nota
É uma prática recomendada configurar uma conta de administrador delegado para o Compute Optimizer. Isso permite que você exerça o princípio do privilégio mínimo. Dessa forma, você pode minimizar o acesso à conta gerencial da organização e, ao mesmo tempo, fornecer acesso ao serviço de toda a organização.
Nível de conta única
Se você tem como alvo uma conta com altos custos, mas não tem acesso a ao AWS Organizations, você ainda pode habilitar o Compute Optimizer para essa conta e região. Para saber mais sobre o processo de inclusão, consulte Getting started with AWS Compute Optimizer na documentação do Compute Optimizer.
Habilitar a coleta de métricas de memória para nós do Windows
As métricas de memória fornecem ao Compute Optimizer as métricas essenciais necessárias para fazer recomendações bem fundamentadas de dimensionamento correto em sua organização. Isso se deve à análise de CPU, memória, rede e armazenamento que é conduzida antes de oferecer uma recomendação.
Para passar métricas de memória das instâncias do Windows EC2 para o Compute Optimizer, você deve habilitar o agente CloudWatch e configurar as métricas de memória a serem coletadas a cada 60 segundos. Não há custo adicional para usar métricas de memória com o CloudWatch.
Habilitar o agente do CloudWatch e configurar as métricas de memória
Baixe o arquivo ComputeOptimize.yml
-
AWS Systems Manager Parameter Store: armazena a configuração do agente do CloudWatch necessária para coletar métricas de memória.
-
Perfil do AWS Identity and Access Management (IAM) com políticas gerenciadas pela AWS para AWS Systems Manager anexadas: isto é para o documento do Systems Manager Automation.
-
Documentos do AWS Systems Manager: isto instala e configura o agente do CloudWatch (substituindo qualquer configuração existente do CloudWatch).
-
Associação do Gerenciador de Estados do AWS Systems Manager: isto permite que os documentos do Systems Manager sejam executados em todas as instâncias da sua conta.
Importante
A execução desse modelo substitui qualquer configuração existente do CloudWatch nas instâncias.
Depois, faça o seguinte:
-
Faça login no Console de gerenciamento da AWS e abra o console do CloudFormation
. -
No painel de navegação, escolha Pilhas.
-
escolha Criar pilha e, em seguida, escolha Com recursos existentes (importar recursos).
-
Escolha Próximo.
-
Para Origem do modelo, selecione Fazer upload de um arquivo de modelo.
-
Escolha o arquivo e depois faça o upload do arquivo
ComputeOptimize.yml. -
Escolha Próximo.
-
Na página Especificar detalhes da pilha, em Nome da pilha, insira um nome para sua pilha e escolha Avançar.
-
Na página Identificar recursos, insira os valores do identificador dos recursos que você está importando.
-
Escolha Importar recursos.
-
Depois que a pilha for implantada, escolha a guia Saídas para encontrar a chave, o valor e a descrição da sua associação.
Monitorar o progresso da associação
-
Depois que a implantação da pilha do CloudFormation estiver concluída, abra o console do Systems Manager
. -
No painel de navegação, na seção Gerenciamento de nós, escolha Gerenciador de Estados.
-
Na página Associações, escolha o ID de associação da sua associação.
-
Escolha a guia Execution history (Histórico de execução).
-
Na coluna ID de execução, escolha o ID de execução da sua associação. O status deve ser Success.
Visualizar as métricas no CloudWatch
Recomendamos que você espere pelo menos cinco minutos para que as métricas sejam preenchidas com o CloudWatch.
-
No painel de navegação, expanda a seção Métricas e escolha Todas as métricas.
-
Confirme se as métricas aparecem no namespace CWAgent.
nota
Para aplicar as configurações a qualquer nova instância, execute novamente a associação.
Aplicar as recomendações do Compute Optimizer
Considere um exemplo que se concentra em fazer as alterações de dimensionamento correto em uma única conta e região. Neste exemplo, o Compute Optimizer está habilitado no nível da organização em todas as contas. Lembre-se de que o dimensionamento correto é um processo disruptivo que, na maioria dos casos, é executado com precisão pelos proprietários da aplicação durante uma janela de manutenção programada de várias semanas.
Se você navegar até o Compute Optimizer de dentro da conta gerencial de uma organização (conforme mostrado nas etapas a seguir), poderá escolher a conta que deseja investigar. Neste exemplo, há seis instâncias em execução em uma única conta na região us-east-1. Todas as seis instâncias estão superprovisionadas. A meta é redimensionar as instâncias com base nas recomendações do Compute Optimizer.
Identificar instâncias superprovisionadas e exportar os detalhes das recomendações
-
Faça login no Console de gerenciamento da AWS e abra o console do Compute Optimizer
. -
No painel de navegação, escolha Painel.
-
Na caixa de pesquisa na página do Painel, insira Region=US East (N. Virginia). Em seguida, insira Findings=Over-provisioned. Esses filtros permitem que você veja todas as instâncias superprovisionadas na região
us-east-1. -
Para analisar as recomendações detalhadas das instâncias superprovisionadas do EC2, role para baixo até o cartão de instâncias do EC2 e escolha Visualizar recomendações.
-
Escolha Exportar e salve o arquivo para uso futuro.
-
Em bucket do S3, insira o nome do bucket do Amazon S3 que você deseja que seja o destino do arquivo de exportação.
nota
Para salvar recomendações para análise futura, você deve ter um bucket do S3 disponível para que o Compute Optimizer grave em cada região. Para obter mais informações, consulte Amazon S3 bucket policy for AWS Compute Optimizer na documentação do Compute Optimizer.
-
Na seção Exportar filtros, marque a caixa de seleção Incluir recomendações para todas as contas de membros na organização.
-
Em Tipo de recurso, escolha Instâncias do EC2.
-
Na seção Colunas a serem incluídas, marque a caixa de seleção Selecionar tudo.
-
Escolha Exportar.
Escolher instâncias com base nas recomendações
As recomendações de instância são baseadas nas métricas de performance coletadas e analisadas pelo Compute Optimizer. É essencial estar ciente das workloads em execução na instância para garantir que você escolha a melhor instância. Este exemplo pressupõe que você possa escolher entre a última geração de instâncias R6i
-
No console do Compute Optimizer
, escolha Recomendações para instâncias do EC2 na barra de navegação. Esta página mostra uma comparação do tipo de instância atual com as opções recomendadas para substituí-la. -
Para obter o ID da instância que você deseja dimensionar corretamente, abra o console do Amazon S3
na conta gerencial do AWS Organizations. -
No painel de navegação, escolha Buckets e selecione o bucket que você está usando para armazenar seus resultados exportados.
-
Na guia Objetos, selecione seu arquivo de exportação na lista de objetos e escolha Baixar.
-
Para extrair as informações das instâncias do arquivo, você pode usar o botão Texto em colunas na guia Dados no Microsoft Excel.
nota
Os IDs da instâncias são representados como nomes do recurso da Amazon (ARNs). Certifique-se de definir o delimitador como “/” e extrair o ID da instância. Como alternativa, você pode escrever um script ou usar um ambiente de desenvolvimento integrado (IDE) para cortar o ARN.
-
No Excel, filtre a coluna de descoberta para exibir somente as instâncias de OVER_PROVISIONED. Estas são as instâncias que você está visando para o dimensionamento correto.
-
Salve os IDs das instâncias em um editor de texto para facilitar o acesso posterior.
Marcar instâncias para obter o dimensionamento correto
Marcar suas workloads é uma ferramenta poderosa para organizar seus recursos na AWS. As tags permitem que você obtenha uma visibilidade refinada dos custos e facilitem o estorno. Para obter mais informações sobre estratégias e métodos para adicionar tags aos recursos da AWS, consulte o whitepaper da AWS Best Practices for Tagging AWS Resources. Neste exemplo, você pode usar o Editor de tags da AWS para fazer ajustes nas marcações nas instâncias superprovisionadas que você deseja redimensionar durante uma janela de manutenção. Você também pode usar essa tag para visualizar os custos antes e depois da alteração.
-
Faça login no Console de gerenciamento da AWS e abra o console do AWS Resource Groups
da conta que contém as instâncias destinadas ao redimensionamento. -
Na barra de navegação, na seção Marcação, escolha Editor de tags.
-
Em Regiões, selecione sua região de destino.
-
Em Tipos de recursos, escolha AWS::EC2::Instance.
-
Escolha Recursos de pesquisa.
-
Na página Resultados da pesquisa de recursos, selecione todas as instâncias que você deseja dimensionar corretamente e escolha Gerenciar tags dos recursos selecionados.
-
Escolha Adicionar Tag.
-
Em Chave da tag, insira Rightsizing. Em Valor da tag, insira enabled. Depois escolha Revisar e aplicar alterações da tag.
nota
Você pode incluir metadados adicionais, como Team ou Business Unit, para ajudar na filtragem posterior no Cost Explorer.
Depois de criar e aplicar tags definidas pelo usuário aos recursos, pode levar até 24 horas para que as tags apareçam na página de tags de alocação de custos para ativação. Depois de selecionar as tags para ativação, pode levar até 24 horas para que as tags sejam ativadas.
Para usuários avançados, você pode usar o AWS CloudShell
bash #!/bin/bash # Set variables TAG_KEY="rightsizing" TAG_VALUE="type-m5" # Get a list of instance IDs INSTANCE_IDS=$(aws ec2 describe-instances —query "Reservations[].Instances[].InstanceId" —output text) # Loop through each instance ID and add the tag for INSTANCE_ID in $INSTANCE_IDS; do aws ec2 create-tags —resources $INSTANCE_ID —tags Key=$TAG_KEY,Value=$TAG_VALUE done
Habilitar a tag de alocação de custos para funcionar com ferramentas de faturamento da AWS
Recomendamos ativar a tag de alocação de custos definida pelo usuário. Isso permite que a tag Rightsizing seja reconhecida e filtrável nas ferramentas de faturamento da AWS (por exemplo, Cost Explorer e AWS Cost and Usage Report). Se você não habilitar essa funcionalidade, a opção de filtragem de tags e os dados não estarão disponíveis. Para obter informações sobre o uso de tags de alocação de custos, consulte Activating user-defined cost allocation tags na documentação do Gerenciamento de Faturamento e Custos da AWS.
-
Faça login no Console de gerenciamento da AWS e abra o console do AWS Billing
. -
No painel de navegação, na seção Faturamento, escolha Cost Tags de alocação de custo.
-
Na guia Tags de alocação de custos definidas pelo usuário, insira Rightsizing.
-
Selecione a chave da tag Rightsizing e, em seguida, escolha Ativar.
Após 24 horas, a tag deve aparecer no Cost Explorer.
Implementar recomendações de dimensionamento correto com o Systems Manager Automation
O redimensionamento é um cenário que exige que uma instância seja interrompida e inicializada. Nesse cenário, você pode precisar lidar com essa interrupção em uma janela de manutenção e exigir que diferentes equipes lidem com seus próprios redimensionamentos. Antes de alterar um tipo de instância, revise as considerações sobre os tipos de instância compatíveis na documentação do Amazon EC2.
As etapas de exemplo nesta seção implementam recomendações de dimensionamento correto por conta e região usando um documento do Systems Manager Automation denominado AWS-ResizeInstance. Essa abordagem é típica da maioria das organizações, pois elas exigem tipos de instância diferentes para finalidades distintas. Você também pode usar o mesmo documento de automação AWS-ResizeInstance para direcionar implantações de uma ou várias contas.
-
Faça login no Console de gerenciamento da AWS e abra o console do Systems Manager
. -
No painel de navegação, na seção Recursos compartilhados, escolha Documentos.
-
Na barra de pesquisa, insira AWS-ResizeInstance e escolha AWS-ResizeInstance nos resultados da pesquisa.
-
Escolha Execute automation.
-
Na página Executar runbook de automação, escolha Execução simples.
-
Na seção Parâmetros de entrada, insira InstanceId e InstanceType. Deixe os demais valores padrão.
-
Escolha Executar e aguarde até que a automação siga as etapas para alterar o tipo de instância.
Considerar métodos alternativos de redimensionamento
Se você estiver usando um modelo de inicialização para implantar suas instâncias, poderá atualizar esse modelo com o tipo de instância do tamanho certo e, em seguida, realizar uma atualização da instância para substituir as instâncias pela versão do tamanho certo.
Se você planeja usar o processo de dimensionamento correto em várias contas e regiões, deve criar um documento personalizado do Systems Manager Automation. Este documento permite alimentar várias instâncias como parâmetro e direcionar instâncias para o mesmo tipo de instância de destino (por exemplo, todas as instâncias em transição para t3a.medium, independentemente do tipo de instância de origem).
Revisar os custos antes e depois no Cost Explorer
Depois de dimensionar corretamente seus recursos, você pode usar o Cost Explorer para mostrar os custos antes e depois usando a tag Rightsizing. Lembre-se de que você pode usar tags de recursos para controlar os custos. Ao usar várias camadas de tags, você pode obter visibilidade granular de seus custos. No exemplo abordado neste guia, a tag Rightsizing é usada para aplicar uma tag genérica a todas as instâncias de destino. Em seguida, uma tag team é usada para organizar ainda mais os recursos. A próxima etapa é introduzir tags de aplicação para mostrar ainda mais o impacto nos custos de operar uma aplicação específica.
O diagrama a seguir mostra a estrutura de tags de uma organização.
Considere o exemplo de uma empresa que dimensiona corretamente os servidores web de produção de propriedade da equipe de operações. No Cost Explorer, a tag Rightsizing é definida como enabled, e a tag Team está definida como operations. Neste exemplo, o esforço de dimensionamento correto reduz os custos operacionais de 0,89 centavos para 0,28 centavos por hora. Supondo 744 horas por mês, o custo anual antes do dimensionamento correto é de USD 7.945,92. Após o dimensionamento correto, o custo anual cai para USD 2.499,84. Isso se traduz em uma redução de 68,5% nos custos anuais da workload. Imagine o impacto dessa redução em uma grande organização. Lembre-se de que isso é feito em um ambiente de exemplo e as instâncias estão, em sua maioria, ociosas. Em um ambiente de produção, você pode ver economias entre 10 e 35%.
Agora, considere o impacto do dimensionamento correto do bastion host de produção de propriedade da equipe de engenharia. No Cost Explorer, a tag Rightsizing é definida como enabled, e a tag Team está definida como engineering. Neste exemplo, o esforço de dimensionamento correto reduz os custos operacionais de 0,75 centavos para 0,44 centavos por hora. Supondo 744 horas por mês, o custo anual antes do dimensionamento correto é de USD 6.696,00. Após o dimensionamento correto, o custo anual cai para USD 3.928,32.
Se você usar várias tags, poderá filtrar os dados até obter os detalhes minuciosos de custo. Neste exemplo, a tag Team reduz o ruído para que você possa visualizar o impacto em nível de equipe. Como a tag Rightsizing está habilitada, você também pode filtrar por qualquer instância que tenha essa tag com o valor enabled ou nenhum valor presente. Isso pode fornecer uma visão global de seus esforços de dimensionamento correto, especialmente quando visualizados na conta gerencial (pagador) no nível do Cost Explorer. Essa visualização permite que você veja todas as contas e instâncias.
Considere um exemplo no nível de conta única em que a tag Rightsizing está definida como enabled. Os custos operacionais caem de USD 1,64 por hora para USD 0,72 por hora. Supondo 744 horas por mês, o custo anual antes do dimensionamento correto é de USD 14.641,92. Após o dimensionamento correto, o custo anual cai para USD 6.428,16. Isso se traduz em uma redução de 56% nos custos de computação dessa conta.
Antes de embarcar em sua jornada do dimensionamento correto, considere o seguinte:
-
A AWS oferece muitas opções para a redução de custos. Isso inclui a AWS OLA
, em que a AWS analisa suas instâncias on-premises antes de migrar para a AWS. A AWS OLA também fornece recomendações de dimensionamento correto e orientações de licenciamento. -
Conclua todo o dimensionamento correto antes de adquirir os Savings Plans
. Isso pode ajudar você a evitar aquisições excessivas em seu compromisso com os Savings Plans.
Recomendações
Recomendamos as próximas etapas abaixo:
-
Analise seu cenário atual e considere a conversão de volumes gp2 do Amazon EBS em volumes gp3.
-
Revise os Savings Plans
.
Recursos adicionais
-
AWS Compute Optimizer
(documentação da AWS) -
Best Practices for Tagging AWS Resources (AWS Whitepapers)
-
How to collect data from AWS Compute Optimizer and AWS Trusted Advisor across your AWS Organizations
(YouTube) -
Optimizing performance and reducing licensing costs: Leveraging AWS Compute Optimizer for Amazon EC2 SQL Server instances
(Microsoft Workloads no Blog da AWS)