#Introdução ao Amazon EC2 Systems Manager
- #Amazon EC2
Esse é o segundo artigo da série, Amazon EC2, nele vou abordar os conceitos iniciais e um passo-a-passo de como você deve iniciar com o Amazon EC2 Systems Manager. Esse conteúdo faz parte do treinamento 👩💻👨💻
O que é Amazon EC2 Systems Manager
O Amazon EC2 Systems Manager é um serviço de gerenciamento que ajuda a coletar inventário de software, aplicar patches em sistemas operacionais, criar imagens de sistemas e configurar os sistemas operacionais Windows e Linux. Ele foi projetado para ser altamente focado em automação, permitindo configurar e gerenciar sistemas executados on-premise ou na AWS. O Systems Manager pode ser acessado do console de gerenciamento do EC2, onde é possível selecionar as instâncias que deseja gerenciar e definir as tarefas de gerenciamento que você quer realizar.
Concepção das Operações
O Systems Manager Agent, o SSM Agent, precisa ser instalado em todos os sistemas e instâncias gerenciados. O SSM Agent processa solicitações do Systems Manager e configura as instâncias.
O que é SSM Agent?
O SSM Agent é um software da Amazon que é instalado por padrão em instâncias do Amazon EC2 para Windows e Linux.
O Systems Manager oferece diferentes recursos e benefícios.
Systems Manager Features
Por exemplo, o recurso "Run command" (Executar comando), permite executar scripts e programas remotamente.
"State manager" (Gerenciador de estados), garante que as instâncias sejam mantidas em um estado definido.
"Inventory manager" (Gerenciador de inventário), permite coletar e consultar informações sobre a configuração e o inventário das instâncias e do software instalado nelas.
"Maintenance window" (Intervalo de manutenção), é possível definir um intervalo recorrente de tempo para executar tarefas administrativas e de manutenção em todas as instâncias.
Patch Manager Overview
Quando se trata de patches dos seus próprios servidores e instâncias, há várias coisas que precisam se levadas em consideração. O tempo de gasto devido à natureza repetitiva das tarefas, o fato de os erros poderem resultar em tempo de inatividade e os problemas de conformidade são alguns possíveis desafios da aplicação de patches. Com o "Patch manager" (Gerenciador de patches), você pode automatizar a aplicação de patches, primeiro criando uma lista de referência de patches com regras automáticas para aprovar ou rejeitar patches. Também pode definir um intervalo de manutenção e agrupar instâncias para aplicar patches. O intervalo de manutenção aplica patches e reinicializa todas as instâncias do grupo de patches. Por fim, você pode revisar os resultados e os detalhes de conformidade do patch.
O recurso de automação do Systems Manager pode ser usado para criar fluxos de trabalho e simplificar tarefas comuns de manutenção e implantação, como atualizar imagens de máquinas da Amazon ou AMIs.
Automation Feature Overview
O primeiro passo é criar um documento de automação ou usar um modelo que inclua etapas e parâmetros sequenciais executados pelo Systems Manager. Em seguida, o documento de automação é executado e são realizadas várias tarefas, como a instalação do SSM Agent. O fluxo de trabalho pode ser monitorado usando o console e, depois de terminar, é possível executar uma instância de teste pela AMI atualizada para verificar as alterações. Em vez de armazenar dados e arquivos de configuração ou incluí-los no código-fonte, você pode aproveitar o armazenamento de parâmetros para referenciar essas informações de configuração que podem ser mantidas em um repositório de parâmetros incluem senhas, chaves, códigos de licença e pontos fortes do banco de dados. Esse tipo de informação é referenciada em scripts e comandos sem ser digitada em texto simples.
Parameter Store & AWS CodeDeploy
Um blog do WordPress consiste em um servidor HTTP Apache sob um banco de dados MySQL. Durante o processo de implantação, você quer alterar a senha padrão do banco de dados. Você pode armazenar a nova senha no repositório de parâmetros, criando um parâmetro e usando-o durante a implantação. O arquivo de referência da aplicação terá um script para recuperar a senha via chamada de API get-parameter e armazenará em uma variável local. Com isso, você não precisa codificar a senha no código-fonte nem digitar a nova senha após a implantação.
O AWS CodeDeploy é usado para automatizar a implantação de aplicações em ambientes de desenvolvimento, preparação e produção. No entanto, a implantação e configuração de aplicações geralmente requer acesso a segredos e dados de configuração, como chaves de API ou senhas de banco de dados no código-fonte.
Automation and Management
-> Esse serviço oferece benefícios em ambos os cenários. As aplicações podem ser atualizadas em escala executando scripts shell do Linux e comandos PowerShell do Windows.
-> Metadados relacionados à configuração de sistemas e do sistema operacional e às implantação de aplicações podem ser coletados e armazenados para análise.
-> Suas instâncias gerenciadas podem ser mantidas em um estado definido, como unir as instâncias do Windows a um domínio do Windows.
-> Tarefas comuns de manutenção e implantação podem ser automatizadas e janelas de manutenção recorrentes podem ser agendadas.
-> O Systems Manager permite verificar instâncias gerenciadas em busca de conformidade com patches e inconsistências de configuração, além de aplicar patches ausentes individualmente ou a grupos grandes de instâncias.
-> Finalmente, os dados críticos de configuração, como senhas e licenças, podem ser separados da aplicação ou código usando um nome de parâmetro para referenciá-los. Essas são apenas algumas das tarefas que você pode automatizar e executar com o Systems Manager.
Iniciando com o Amazon EC2 Systems Manager
Passo 1: Acesso à Console da AWS
- Acesse o Console de Gerenciamento da AWS em https://aws.amazon.com/console/.
- Faça login na sua conta da AWS.
Passo 2: Navegar até o EC2 Systems Manager
- No Console de Gerenciamento da AWS, pesquise por "Systems Manager" na barra de pesquisa ou navegue até "Management & Governance" (Gerenciamento e Governança) e clique em "Systems Manager".
Passo 3: Usar o Run Command
- Selecione "Run Command" no painel esquerdo.
- Clique em "Run a command".
- Selecione as instâncias alvo.
- Escolha um documento (comando) pré-definido ou crie o seu próprio.
- Configure os parâmetros do comando.
- Clique em "Run" para executar o comando nas instâncias selecionadas.
Passo 4: Usar o Patch Manager
- Selecione "Patch Manager" no painel esquerdo.
- Clique em "Create patch baseline" para definir as políticas de aplicação de patches.
- Volte à página principal do Patch Manager e clique em "Create patch group" para agrupar instâncias alvo.
- Selecione o grupo de instâncias e clique em "Patch now" para aplicar patches.
Passo 5: Usar o State Manager
- Selecione "State Manager" no painel esquerdo.
- Clique em "Create association" para criar uma associação de estado.
- Escolha o tipo de associação (document) e selecione as instâncias alvo.
- Configure os parâmetros do estado desejado.
- Clique em "Create association" para aplicar o estado às instâncias.
Passo 6: Usar o Session Manager
- Selecione "Session Manager" no painel esquerdo.
- Escolha uma instância para acessar.
- Clique em "Start session" para abrir uma sessão de terminal na instância.