O blog da AWS

Fim de Suporte ao Windows Server 2008 R2 e SQL Server 2008 R2: atualize seus servidores com facilidade

Muitas organizações de TI executam o sistema operacional Microsoft Windows Server 2008 R2 e os sistemas de banco de dados Microsoft SQL Server 2008 R2 há mais de uma década. As datas de End-of-support (EOS), fim de suporte, estão se aproximando rapidamente (julho de 2019 para o SQL Server e janeiro de 2020 para o Windows Server). Assim, é essencial que esses sistemas sejam atualizados para uma versão compatível, a fim de evitar riscos de segurança e conformidade. Para iniciar sua atualização, emparelhamos documentos do AWS Systems Manager que podem ajudar na atualização do Windows Server 2008 R2 e do SQL Server 2008 R2 com o Service Pack 3.

Este post fornece orientações sobre como usar o AWS Systems Manager para automatizar a atualização das instâncias de fim de suporte do Windows Server 2008 R2 e do SQL Server 2008 R2 na AWS. A orientação ajuda a movê-las para versões mais recentes de suporte usando uma abordagem de baixo risco.

Além disso, a Microsoft oferece suporte técnico, incluindo atualizações de segurança, para a duração do suporte estendido para o SQL Server 2008 R2.

Os seguintes serviços e recursos da AWS que estão envolvidos nesta atualização:

  • AWS Systems Manager – Uma poderosa interface unificada da AWS que você pode usar para gerenciar seus recursos da AWS. O principal no uso do AWS Systems Manager é a utilização de documentos do AWS SSM Agent e do AWS Systems Manager.
  • AWS Systems Manager Agent (SSM Agent) –  Software da Amazon que é executado em suas instâncias do Amazon EC2. O Agente SSM processa solicitações do serviço Systems Manager na nuvem e configura sua máquina conforme especificado nas solicitações. O SSM Agent envia informações de status e execução de volta ao serviço Systems Manager usando o sistema de mensagens do EC2.
  • AWS Systems Manager documents – Este blog usa dois documentos de automação do AWS Systems Manager. Para obter detalhes sobre os documentos do AWS System Manager, consulte o texto Writing your own AWS Systems Manager documents no AWS Management Tools Blog.

Esses documentos de automação fornecem dois caminhos de atualização. Um ajuda você a atualizar o Windows Server 2008 R2 para o Windows Server 2012 R2. O outro ajuda a atualizar o SQL Server 2008 R2 no Windows Server 2012 R2 para o SQL Server 2016.

Para obter mais detalhes sobre a atualização do Windows Server 2008 R2 para o Windows Server 2012 R2, consulte a página AWSEC2-CloneInstanceAndUpgradeWindows na documentação do System Manager.

Para obter mais detalhes sobre a atualização do SQL Server 2008 R2 no Windows Server 2012 R2 para o SQL Server 2016, consulte a página AWSEC2-CloneInstanceAndUpgradeSQLServer na documentação do System Manager.

Opções de atualização

Vamos nos aprofundar nesses dois documentos do AWS System Manager Automation:

AWSEC2-CloneInstanceAndUpgradeWindows

O diagrama a seguir mostra as ações executadas pelo script AWSEC2-CloneInstanceAndUpgradeWindows.

Esse script cria uma Amazon Machine Image (AMI) de uma instância do Windows Server 2008 R2 em sua conta e atualiza a AMI para o Windows Server 2012 R2. A operação de atualização é um processo de várias etapas que pode levar duas horas para ser concluído. A automação cria uma AMI a partir da instância e, em seguida, lança a AMI recém-criada na VPC e na sub-rede que você fornece. O workflow de automação realiza uma atualização in-place do Windows Server 2008 R2 para o Windows Server 2012 R2. O workflow também atualiza ou instala os drivers da AWS exigidos pela instância atualizada. Após o upgrade, o workflow cria uma nova AMI e, em seguida, finaliza a instância atualizada.

AWSEC2-CloneInstanceAndUpgradeSQLServer

Esse script cria uma AMI da instância do Windows do Amazon EC2 executando o SQL Server 2008 R2 SP3 em sua conta e, em seguida, atualiza a AMI para o SQL Server 2016 SP2. A atualização é um processo de várias etapas que pode levar duas horas para ser concluído. A automação cria a AMI a partir da instância lançando em seguida a nova AMI na sub-rede que você fornece. A automação executa uma atualização in-place do SQL Server 2008 R2 para o SQL Server 2016. Após a atualização, a automação cria uma nova AMI antes de encerrar a instância atualizada.

Você pode testar a funcionalidade do aplicativo iniciando a nova AMI no seu VPC. Depois de concluir o teste, e antes de executar outra atualização, programe o tempo de inatividade do aplicativo antes de alternar completamente para a instância atualizada.

O resultado final é uma AMI, que é a instância AMI atualizada.

Dois AMIs estão envolvidos neste processo:

  • First AMI – Esta é a AMI da instância em execução atual (que não é atualizada). Usamos essa AMI para iniciar outra instância para executar o processo de atualização no local. No final do processo, excluímos essa AMI da sua conta, a menos que você tenha optado especificamente por manter a instância original ativa. Essa configuração é manipulada pelo parâmetro KeepPreUpgradeImageBackUp (o valor padrão é False, o que significa que excluímos a AMI)
  • Segundo AMI – Este é o resultado final de todo o processo de automação. A segunda AMI é o resultado do processo de automação e inclui o SQL Server 2016 em vez do mecanismo original do SQL Server 2008 R2. Você pode testar a funcionalidade do aplicativo iniciando a nova AMI no seu VPC. Depois de concluir o teste, e antes de executar outra atualização, programe o tempo de inatividade do aplicativo antes de alternar completamente para a instância atualizada.

1.  Papel do IAM Obrigatório

Antes de iniciar o processo de automação, você precisa de uma função do IAM com as políticas corretas para permitir que o AWS Systems Manager conduza a automação nas instâncias do Amazon EC2 e da AMI em sua conta. Para este exemplo, a função de criação tem o mesmo nome da política da AMI anexada AmazonEC2RoleforSSM.

Para obter orientação sobre como criar uma função do IAM, consulte Criando uma função para delegar permissões a um serviço da AWS na documentação do IAM.

2.  Outros pré-requisitos

Antes de iniciar o processo de atualização, confirme se você atende aos pré-requisitos do AWS Systems Manager. Você pode encontrá-los em Criando uma função para delegar permissões a um serviço da AWS na documentação do Systems Manager.

3.  Opções de execução de automação do AWS Systems Manager

Existem várias maneiras de executar a automação. A seguir, estão algumas das opções.

Simple execution:

Use essa abordagem quando quiser atualizar uma única instância e não quiser percorrer cada etapa de automação e auditar os resultados. Esta postagem do blog segue essa opção com mais detalhes a seguir.

Rate control:

Use essa opção quando quiser aplicar a atualização a várias instâncias. Você pode fazer isso usando as seguintes configurações.

Parameter (também definido em Multi-conta e região)

Essa configuração define como sua automação se expande.

Targets (também definidos em Multi-conta e Região)

Parameters Values

Para Parameters Values, use os valores definidos nos parâmetros do documento de automação.

Resource Group

Na AWS, um resource é uma entidade com a qual você pode trabalhar. Os exemplos incluem uma instância do Amazon EC2, uma pilha do AWS CloudFormation ou um bucket do Amazon S3. Se você trabalha com vários recursos, pode achar útil gerenciá-los como um grupo, em vez de passar de um serviço da AWS para outro em cada tarefa. Em alguns casos, você pode gerenciar um grande número de recursos relacionados, como instâncias do EC2 que compõem uma camada de aplicativo. Nesses casos, você provavelmente precisará realizar ações em massa nesses recursos ao mesmo tempo.

Tags

As tags permitem categorizar seus recursos da AWS de maneiras diferentes, por exemplo: por finalidade, proprietário ou ambiente. Isso é útil quando você tem muitos recursos do mesmo tipo – você pode identificar rapidamente um recurso específico com base nas tags atribuídas a ele. Por exemplo, você pode definir um conjunto de tags para as instâncias do Amazon EC2 da sua conta que ajudam a acompanhar o centro de custos e os ambientes de cada instância.

Rate control (também definido em conta múltipla e região)

Definir os parâmetros de controle de taxa define quantos de sua frota para aplicar a automação, seja por contagem de destino ou porcentagem da frota.

Multi-account and Region

Accounts and organizational units (OUs)

Aqui, você pode especificar várias contas nas quais deseja executar a automação.

AWS Regions

Aqui, você pode especificar várias regiões da AWS nas quais deseja executar a automação.

Manual Execution

Essa opção é semelhante à Simple execution, mas permite percorrer cada etapa de automação e auditar os resultados.

Atualize o Windows 2008 R2 para o 2012 R2

Esta seção se concentra no uso do script AWSEC2-CloneInstanceAndUpgradeWindows .

Para que esse processo funcione, vários pré-requisitos precisam ser satisfeitos. Para obter uma lista deles, consulte AWSEC2-CloneInstanceAndUpgradeWindows na documentação do Systems Manager.

Para os propósitos deste exemplo, tenho uma instância do Windows 2008 R2 residente na minha conta da AWS. A imagem a seguir mostra minha instância como tendo também o SQL Server 2008 R2 SP3 instalado, com um banco de dados de exemplo do AdventureWorks. Após a conclusão desta automação, o AWS Systems Manager atualiza o sistema operacional para o Server 2012 R2. O SQL Server 2008 R2 permanecerá como está.

Agora vamos começar o processo de atualização!

4.  Abra o AWS Systems Manager no AWS Management Console

Para os fins deste post, usei a interface dedicada do AWS Systems Manager.

No painel de navegação, escolha Automation.

Escolha Execute automation para ser o processo de automação.

Filtre para o documento de automação AWSEC2-CloneInstanceAndUpgradeWindows na área de pesquisa.

O campo Description do documento fornece uma visão geral do documento de automação.

5.  Implementação passo a passo da execução simples

InstanceID

Este é o ID que você fornece para a instância para aplicar a automação.

InstanceProfile

Esta é a função do IAM usada para executar a automação do AWS Systems Manager em relação às AMIs do Amazon EC2 e AWS. Para obter mais informações, consulte Tarefa 2: Criar um perfil de instância para o Systems Manager na documentação do Systems Manager.

SubnetId

Esta é a sub-rede para o processo de atualização e onde sua instância de origem do EC2 reside. Verifique se a sub-rede tem conectividade de saída para serviços da AWS, incluindo o Amazon S3 e também para a Microsoft (para fazer download de patches).

KeepPreUpgradedBackUp

(Opcional) Se este parâmetro estiver configurado como True, a automação reterá a imagem criada a partir da instância. O padrão é False.

RebootInstanceBeforeTakingImage

(Opcional) O padrão é False (sem reinicialização). Se esse parâmetro for definido como True, o AWS Systems Manager reinicializará a instância antes de criar uma AMI para a atualização.

Digite os seguintes parâmetros para executar a automação.

Link de execução para compartilhamento:

Depois que a automação começar, você poderá monitorar seu progresso.

Conclusão de automação

Após a conclusão da automação, a saída que você pode ver é a ID da AMI ( getUpgradeImageDetails.ImageId: ami-01f63 ******* ). Você pode iniciar a AMI para ver se o Windows está atualizado.

Não é necessário que a automação execute todas as etapas. As etapas são condicionais com base no comportamento da automação e da instância. Assim, o AWS Systems Manager pode pular algumas etapas que não são necessárias.

Além disso, algumas etapas podem expirar. O AWS Systems Manager tenta atualizar e instalar todos os patches mais recentes. No entanto, às vezes os patches expiram com base em uma configuração de tempo limite definida para a etapa especificada. Nesse caso, a automação do AWS Systems Manager continua na próxima etapa, garantindo que o sistema operacional interno seja atualizado para o 2012 R2.

Saídas

No caso desta automação, você recebe como saídas o nome e ImageID para o AWS AMI recém-criado. A partir daqui você pode iniciar uma instância do Amazon EC2 e revisar sua atualização, conforme mostrado a seguir. Para saber como criar uma instância do Amazon EC2 a partir de uma AWS AMI, consulte o artigo do Knowledge Center “Como eu início uma instância do EC2 a partir de uma Amazon Machine Image (AMI) personalizada?”

 

Atualize o SQL Server 2008 R2 para o SQL Server 2016

Esta seção se concentra no uso do script AWSEC2-CloneInstanceAndUpgradeSQLServer.

O diagrama a seguir mostra as ações executadas pelo script AWSEC2-CloneInstanceAndUpgradeSQLServer.

Para que esse processo funcione, vários pré-requisitos precisam ser satisfeitos. Para obter uma lista deles, consulte AWSEC2-CloneInstanceAndUpgradeSQLServer na documentação do Systems Manager.

Depois de cumprir esses pré-requisitos, use as etapas a seguir para atualizar o mecanismo de banco de dados do SQL Server 2008 R2 para o SQL Server 2016. Neste exemplo, há um servidor de origem do SQL Server 2008 R2 denominado SQLServer2008r2-Source. Ele está executando o SQL Server 2008 R2 como o mecanismo de banco de dados e o Windows 2012 R2 como o sistema operacional. Este servidor tem seu mecanismo de banco de dados atualizado usando o documento de automação no AWS Systems Manager.

Se ainda não o fez, baixe o arquivo .iso do SQL Server 2016 e monte-o no servidor de origem. Após esse arquivo ser montado, copie todos os arquivos do componente e coloque-os em qualquer volume de sua escolha. Depois de concluir, pegue um instantâneo do volume do Amazon EBS e copie o ID do instantâneo em uma área de transferência para uso posterior. Para revisar as etapas envolvidas para criar um instantâneo do EBS, consulte Criando um instantâneo do Amazon EBS na documentação do EBS.

Este exemplo específico tem uma função chamada SSM-EC2-Profile-Role que possui a política AmazonEc2RoleSSM anexada à função. Por sua vez, essa função é anexada à instância. Isso permite que o serviço Systems Manager se comunique com a instância do EC2 e execute comandos nele depois de ser adicionado ao serviço do AWS Systems Manager.

Depois que esse perfil de instância for anexado à instância do EC2, confirme que você pode vê-lo em Instâncias gerenciadas para o serviço AWS Systems Manager. Se você não ver nenhuma instância gerenciada, aguarde alguns minutos e ela será exibida. Caso contrário, reconfirme se os pré-requisitos do AWS Systems Manager foram atendidos.

Como você pode ver a seguir, a instância agora aparece como uma instância gerenciada (o que significa que você pode executar comandos contra ela).

Depois que sua lista de Managed Instance for confirmada, navegue até a guia Automation no AWS Systems Manager e Execute automation:

Para procurar o documento AWSEC2-CloneInstanceAndUpgradeSQLServer, vá para a barra de pesquisa, escolha Prefixo do nome do documento, escolha Equal e, em seguida, cole o nome do documento (AWSEC2-CloneInstanceAndUpgradeSQLServer). É importante observar que esse nome faz distinção entre letras maiúsculas e minúsculas, portanto, verifique se está correto.

Depois de encontrar o documento, escolha-o e, em seguida, escolha Next.

Você precisa seguir os seguintes parâmetros para que esse processo de atualização seja bem-sucedido:

  • InstanceId

          Type: String

          Description: (Required) A instância executando o Windows Server 2012 R2 (ou posterior) ou o SQL Server            2008 R2 (ou posterior).

  • IamInstanceProfile

          Type: String

          Description: (Required)O perfil da instância do IAM.

  • SnapshotId

          Type: String

          Description: (Required) Snapshot ID para a mídia de instalação do SQL Server 2016.

  • SubnetId

          Type: String

          Description: (Required) Forneça uma sub-rede para o processo de atualização. Verifique se a sub-rede tem            conectividade de saída para serviços da AWS, incluindo o Amazon S3, e para a Microsoft (para fazer download            de patches).

  • KeepPreUpgradeImageBackUp

          Type: String

          Description: (Required) Se este parâmetro estiver configurado como True, a automação não excluirá a AMI            criada a partir da instância antes da atualização. Se estiver definido como True, você deve excluir a AMI. Por            padrão, a AMI é excluída.

  • RebootInstanceBeforeTakingImage

          Type: String

          Description: (Required) Se este parâmetro estiver configurado como True, a automação reinicializará a                     instância antes de criar uma AMI de pré-upgrade. Por padrão, a automação não é reinicializada antes da                     atualização.

Depois de definir os parâmetros anteriores, preencha a seção a seguir e escolha Execute.

Após o início do processo de execução, monitore o progresso do documento em cada etapa rolando para baixo e olhando as páginas de progresso.

Depois que você ver o Execution Status e ler Success, escolha a lista Outputs para visualizar as informações da AMI. Aqui você vê o ID da AMI. Agora você pode usar isso para iniciar sua instância do SQL Server 2016 para o VPC de sua escolha.

Volte para o console do EC2 e escolha a guia AMIs. Aqui, você verá a nova AMI, que pode ser lançada posteriormente para verificar se o SQL Server 2016 foi instalado com êxito.

Para iniciar a nova AMI, escolha-a e clique em Launch.

Escolha o tipo de instância que você deseja para a AMI, em qual VPC e sub-rede deseja implantar a máquina e o armazenamento desejado. Como você está lançando essa nova instância do EC2 de uma AMI, os volumes presentes na AMI são apresentados a você como uma opção para incluir na nova instância do EC2. Você pode remover qualquer um desses volumes para a nova instância ou adicionar qualquer um deles.

Depois de selecionar o que você deseja para armazenamento, adicione uma tag, o grupo de segurança ou grupos à instância e, finalmente, inicie sua instância.

O nome da tag para o servidor recém-lançado é SQLServer2016. Escolha isso e faça uma conexão com ele para poder verificar se o SQL Server 2016 é agora o novo mecanismo de banco de dados na instância.

Depois de iniciar o SQL Server Management Studio, conecte-se à instância padrão (ou instância nomeada) para o servidor fornecido. Aqui, você pode verificar se o mecanismo foi realmente atualizado executando a consulta abaixo na janela de consulta.

Há duas maneiras de confirmar se o mecanismo foi atualizado. Um é o número de compilação específico no Object Explorer (número de compilação 13.0.5026). O outro está recebendo uma saída da consulta acima, lendo “Microsoft SQL Server 2016…”

Agora você trabalhou com êxito no documento de automação AWSEC2-CloneInstanceAndUpgradeSQLServer no AWS Systems Manager. Espero que este seja um processo informativo e o tenha ajudado em seu processo de atualização.

Conclusão

Neste post, usamos dois documentos do AWS Systems Manager, AWSEC2-CloneInstanceAndUpgradeWindows e AWSEC2-CloneInstanceAndUpgradeSQLServer, para ajudá-lo a automatizar o processo de atualização para sua frota de instâncias do Windows Server 2008 R2 e do SQL Server 2008 R2 em seus ambientes da AWS.

Quando as etapas de automação são concluídas, uma AWS AMI é criada. Essa abordagem oferece flexibilidade sobre como você pode avançar com seus servidores atualizados.

 


Sobre os autores

Stefan Minhas é consultor sênior da Amazon Web Services. Ele é um especialista no assunto da Microsoft na Prática de Entrega de Aplicativos para as Américas e fornece orientação e assistência técnica no desenvolvimento e crescimento de habilidades especiais em toda a comunidade de Serviços Profissionais.

 

 

 

Bini Berhe é arquiteto de soluções sênior na Amazon Web Services. Ele trabalha com clientes da AWS para fornecer orientação e assistência técnica na execução de suas cargas de trabalho da Microsoft na AWS.