AWS Systems Manager
Tags: cloud, aws, security, devops
Published: 2023-05-19 14:14:25


Anotações sobre o AWS Systems Manager para ajudar na preparação das certificações AWS.
Até o momento as anotações são para as certificações abaixo:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t3gyhwnpexwropg2jo75.png)

- [Link oficial](https://aws.amazon.com/systems-manager/)


##**Anotações gerais**

- Oferece visibilidade e controle de sua infraestrutura na AWS
- É usado para corrigir sistemas em grande escala
- É usado para obter insights operacionais
- Permite que os usuários controlem seus recursos unificando serviços onde ele podem visualizar, monitorar e automatizar
- EC2 e On-Premises
- Patching
- Windows e Linux
- **SSM agent**
- **Para ambientes On-Premises acessar o SSM é necessário criar uma Role**

---
##**Agent SSM**
[Documentação oficial](https://docs.aws.amazon.com/pt_br/systems-manager/latest/userguide/sysman-manual-agent-install.html)

- Nome do agente _amazon-ssm-agent_
- O agent já vem pré instalado em Amazon Linux e Ubuntu
- Logs - `/var/log/amazon/ssm/errors.log`
- **IAM Police que deve ser adicionada na Role da EC2** - `AmazonSSMManagedInstanceCore`

---
##**Fleet Manager**
[Documentação oficial](https://aws.amazon.com/pt/systems-manager/fleet-manager/?nc1=h_ls)

É uma interface de usuário unificada (UI) que ajuda você a gerenciar remotamente os nós em execução na AWS ou on-premises. 
Pode visualizar o status de integridade e a performance de toda a sua frota de servidores em um console.

- Pode resetar a senha dos usuários

**Node Overview**
- Filesystem
- Users and Groups
- Performance Counters
- Processes


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jahrcan1zia1sqt6s10n.png)

---
##**Parameter Store**
[Documentação oficial](https://docs.aws.amazon.com/pt_br/systems-manager/latest/userguide/systems-manager-parameter-store.html)

_O Parameter Store, oferece armazenamento hierárquico seguro para gerenciamento de dados de configuração e gerenciamento de segredos. _

- **Para que a EC2 utilize o AWS KMS, a role da EC2 deve conter a permissão de leitura ao SSM Parameter Store e _kms:decript_ para utilizar o AWS KMS Key.**
- Se você armazenar as credenciais usando parâmetros padrão no  Parameter Store do Systems Manager, não haverá cobrança adicional
- AWS Secrets Manager é mais caro para armazenar credenciais. 
- ssm:DecryptParameter
- **Secure String Parameter** - Armazenamento de string para conexão com Bancos de Dados
- `kms:Decrypt` - Lambda precisa dessa permissão para descriptografar a senha armazenada no Parameter Store

**Types**
- String
- String List
- Secure String (KMS Key ID / Value)


**Referências**

- [Como o AWS Systems Manager Parameter Store usa o AWS KMS](https://docs.aws.amazon.com/pt_br/kms/latest/developerguide/services-parameter-store.html)

---
##**Compliance**

- [AWS Systems Manager features](https://aws.amazon.com/systems-manager/features/?nc1=h_ls)
- [Conformidade com o AWS Systems Manager](https://docs.aws.amazon.com/pt_br/systems-manager/latest/userguide/systems-manager-compliance.html)
- **Inspeciona atualização de pacotes**

---
##**RUN Command**
[Documentação oficial](https://aws.amazon.com/pt/systems-manager/features/#Run_Command)

- Compatíveis com Windows, Linux e MacOS
- **Inspeciona processos em execução na EC2**
- Output - S3 ou CloudWatch Logs
- **Recupera senha do Administrador de Windows - AWSSupport-Run2RescueForWindowsTool**

**Alguns Documentos**

- AWS-RunAnsiblePlaybook
- AWS-ConfigureDocker
- AWS-InstallMissingWindowsUpdates
- AWS-RunShellScript
- AWSSupport-Run2RescueForWindowsTool

**Referências**
- [How can I reset the administrator password on an EC2 Windows instance?](https://aws.amazon.com/pt/premiumsupport/knowledge-center/reset-admin-password/)


---
##**Sessions Manager**
[Documentação oficial](https://aws.amazon.com/pt/systems-manager/features/#Session_Manager)

- Linux, Windows e MacOs
- Envia log S3 ou CloudWatch Logs(_a EC2 tem que ter permissão para gravar_)
- Tempo default session idle - 20 _min_
- Connect to your instance without SSH keys or a bastion host.
- Sessions are secured using an AWS Key Management Service key.
- You can log session commands and details in an Amazon S3 bucket or CloudWatch Logs log group.

** Envio dos logs da sessão para CloudWath Logs**

- Criar Policy que libera acesso do Sessions Manager ao CloudWatch Logs
- Criar Logs Group
- Habilitar no Sessions Manager


**Diferença entre EC2 Connect e Session Manager**

- EC2 Connect (SSH) - Precisa de liberação da porta 22 no SG e Public IP na EC2
- Session Manager - IAM Role

**Benefícios**

- Centraliza acesso usando IAM Role
- Não precisa liberar SG
- Não precisa de Key
- Não precisa de IP Público
- Log e auditoria na sessão (_Session History_)
- Acessa instância c/ one-click
- Não precisa de VPN

---
##**Patch Manager**
[Documentação oficial](https://docs.aws.amazon.com/pt_br/systems-manager/latest/userguide/systems-manager-patch.html)

O Patch Manager, **um recurso que automatiza o processo de aplicação de patches aos nós gerenciados com atualizações de segurança e outros tipos de atualizações**.

- **Gera report dos patchs faltantes**
- **Aplica os patchs faltantes**
- Aprova ou reprova patch
- **Pode habilitar "_auto approval delay_", quantos dias depois da aprovação o patch será aplicado**
- Se o SSM agent não estiver rodando na EC2, o patch não é aplicado

**Patchs Baselines**
[Documentação oficial](https://docs.aws.amazon.com/pt_br/systems-manager/latest/userguide/about-patch-baselines.html)

- Baselines prontos criados pela AWS

**Maintenace Window**
[Documentação oficial](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-maintenance.html)

O Maintenance Windows, ajuda você a definir uma programação de quando executar ações que possivelmente causem interrupções aos nós, como aplicar patches a um sistema operacional, atualizar drivers ou instalar um software ou patches.

- Janela de manutenção para aplicar os patchs
- Baseado em **Cron/Rate**

**Patch Operation**

- Scan and Install
- Scan

---
##**Automation**
[Documentação oficial](https://docs.aws.amazon.com/pt_br/systems-manager/latest/userguide/systems-manager-automation.html)

Automation, simplifica as tarefas comuns de manutenção, implantação e correção para Serviços da AWS.

- Automation Document - Criados pela AWS
- Pode alterar os documentos 
- Divididos por categoria
- Pode solicitar aprovações para IAM Users (_precisa do SNS_)

**Exemplos de Automations Tasks**

- Attach IAM ot EC2 Instance
- Create AMI of Instances
- Perform Patching Activities

**Referências**

- [Demonstrações do Automation](https://docs.aws.amazon.com/pt_br/systems-manager/latest/userguide/automation-walk.html)
- [Amazon EC2 Systems Manager Automation is now a Amazon CloudWatch Events Target](https://aws.amazon.com/blogs/mt/amazon-ec2-systems-manager-automation-is-now-a-amazon-cloudwatch-events-target/)
- [Trabalhar com automações](https://docs.aws.amazon.com/pt_br/systems-manager/latest/userguide/automation-working.html)

---
##**Inventory**
[Documentação oficial](https://docs.aws.amazon.com/pt_br/systems-manager/latest/userguide/systems-manager-inventory.html)

O Inventory fornece visibilidade de seu ambiente de computação da AWS e para coletar metadados dos nós gerenciados. 

- **Por padrão a coleta ocorre todo dia a cada 30 min **
- Pode colocar a coleta por Hora, Dia ou Mês
- Pode-se selecionar os Parâmetros que serão disponibilizados
- Recomenda centralizar as descobertas em um Bucket

**Referências**

- [Saiba mais sobre o Systems Manager Inventory](https://docs.aws.amazon.com/pt_br/systems-manager/latest/userguide/sysman-inventory-about.html#sysman-inventory-custom)
- [Demonstrações do Systems Manager Inventory](https://docs.aws.amazon.com/pt_br/systems-manager/latest/userguide/sysman-inventory-walk.html)
- [Amazon EC2 Systems Manager Introduction](https://www.youtube.com/watch?v=zwS8lssaY_k&list=PLhr1KZpdzukeH5jKyYi55ef9tEWAllypB)