Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Come usare AWS Systems Manager per l'amministrazione remota

By Alexandre TostivintSep 8, 20245 min read

Questa pagina è disponibile anche in English, Deutsch, Español, Français, 日本語 e Português.

In DoiT incontrerà persone con percorsi professionali diversi, tutte impegnate a rendere più efficace il Suo lavoro quotidiano. Se Le è mai capitato di accedere alle Sue istanze EC2 tramite VPN, sa bene quanto questo processo possa risultare tedioso. Poter automatizzare la gestione di queste istanze senza doversi connettere a ciascuna sarebbe già un grande vantaggio, ma lo sarebbe ancora di più poter governare queste automazioni da un'unica interfaccia, anziché replicarle su ogni istanza o in una golden image.

Nella mia esperienza precedente ho dovuto affrontare sfide analoghe, quando ho iniziato a gestire la nostra flotta di server AWS Active Directory dovendo al tempo stesso effettuare l'onboarding rapido di nuovi dipendenti. È stato in quel momento che ho scoperto Systems Manager.

Cos'è Systems Manager?

Systems Manager è la risposta di AWS per gestire la Sua infrastruttura in modo intelligente. L'agente installato sulla macchina riceve comandi dagli account AWS e restituisce informazioni, consentendoLe di svolgere diverse attività:

  • Esecuzione di comandi Windows e Linux. Ogni agente aggiunge un utente locale chiamato ssm-user, che può essere utilizzato per eseguire comandi sull'istanza in bash, PowerShell e CMD. Può ricorrere a IAM per gestire regole e permessi al posto di chiavi SSH e regole di rete.
  • Inventario e gestione delle patch. Effettui l'inventario delle applicazioni e delle patch installate e definisca una policy di patching per le Sue istanze in base alle Sue preferenze e alla pianificazione desiderata.
  • Runbook e Automation. Può creare documenti Systems Manager contenenti una sequenza di passaggi da applicare a un'istanza. Può inoltre creare automazioni Systems Manager che interagiscono con la Sua infrastruttura AWS tramite un ruolo IAM e API AWS come EC2 o Step Functions.
  • Maintenance Windows Le permette di pianificare e controllare l'esecuzione dei runbook in base a specifici requisiti di tempo, disponibilità e successo.

Oggi La guiderò nell'attivazione di questo servizio e nella connessione interattiva alle Sue istanze tramite SSM utilizzando Session Manager.

Configurazione di Systems Manager

Per utilizzare SSM è necessario soddisfare i seguenti requisiti:

  • la macchina deve avere l'agente installato;
  • deve essere associato un ruolo IAM con permessi minimi per Systems Manager (denominato AmazonSSMManagedInstanceCore);
  • la macchina deve poter raggiungere Internet sulla porta 443 oppure tramite 3 endpoint VPC.

Quando avvia un'immagine fornita da AWS, l'agente Systems Manager è installato per impostazione predefinita sulla Sua istanza. In caso contrario, potrebbe essere necessario eseguire uno dei seguenti comandi:

#Se è su un sistema basato su Red Hat
sudo yum install amazon-ssm-agent
#Se è su un sistema basato su Debian
sudo apt-get install amazon-ssm-agent
#Una volta installato, avvii il servizio
sudo systemctl start amazon-ssm-agent

Il secondo punto richiede di associare o aggiornare il ruolo dell'istanza utilizzato sulla Sua macchina. Occorre assegnare un set di permessi gestiti chiamato AmazonSSMManagedInstanceCore, che consente alla risorsa di interagire direttamente con il servizio AWS con un set limitato di permessi. In questo modo evita di archiviare credenziali sull'istanza, con il rischio di smarrirle.

Se non ha mai configurato un ruolo, può anche sfruttare la Default Host Management Configuration:

  • acceda alla console AWS Systems Manager e selezioni Fleet Manager a sinistra. Verifichi di trovarsi nella regione corretta, ovvero quella in cui si trova la maggior parte delle Sue istanze EC2;
  • in Account Management e Configure Default Host Management Configuration, attivi Enable Default Host Management Configuration;
  • Le verrà chiesto di scegliere un ruolo IAM: può utilizzare l'opzione consigliata per creare un nuovo Instance Management role predefinito.

Durante la creazione del ruolo IAM predefinito di Default Host Management, può scegliere se crearne uno nuovo o utilizzarne uno esistente

  • completi la configurazione cliccando su Configure.

Tutte le istanze della regione dovrebbero ora poter accedere all'endpoint di Systems Manager utilizzando il ruolo predefinito appena creato.

Per quanto riguarda l'ultimo punto, è probabile che la maggior parte delle configurazioni di rete consenta già di raggiungere Internet sulla porta 443. In caso contrario, ecco un riepilogo dei requisiti di rete.

L'agente SSM deve poter contattare almeno questi indirizzi sulla porta 443:

ssm.==region==.amazonaws.com
ssmmessages.==region==.amazonaws.com
ec2messages.==region==.amazonaws.com

Se non consente l'accesso esterno, può creare Amazon VPC Endpoints per abilitare l'accesso. Tenga però presente che dovrà configurarli in ogni regione in cui intende utilizzarli e che dovrà comunque prestare attenzione alla configurazione di rete affinché la maggior parte delle istanze possa raggiungere il servizio. Il mio consiglio è di collocare questi endpoint in un service VPC.

Utilizzo di Session Manager

Se dispone delle credenziali corrette e dell'accesso a IAM, ora può collegarsi a queste istanze direttamente da qualsiasi luogo.

Se sta utilizzando un'istanza Windows e desidera servirsi della GUI, acceda a Fleet Manager, selezioni la Sua istanza e clicchi su Connect with Remote Desktop.

L'interfaccia di Fleet Manager, da cui può visualizzare le Sue istanze remote e connettersi a esse

Poiché Windows richiede una password per l'account di amministrazione, è necessario disporre delle credenziali oppure aver configurato l'istanza con una Key Pair, che AWS utilizza per derivare la password dell'account amministratore.

Interfaccia per la connessione remota alle istanze tramite Remote Desktop

Una volta cliccato il pulsante di connessione, Systems Manager gestirà la connessione creando un tunnel sicuro dal Suo computer all'istanza da amministrare, permettendoLe di proseguire le Sue attività di amministrazione ovunque nel mondo.

Interfaccia per una connessione remota a un Windows Remote Desktop

Accedere da riga di comando alle istanze Windows e Linux è ancora più semplice: è sufficiente cliccare su Start Commandline session per aprire un terminale con accesso amministrativo sulle macchine registrate con SSM.

Ogni agente configura un utente locale chiamato ssm-user, che può personalizzare scegliendo se concedergli o meno permessi a livello di amministratore sull'istanza. Lo stesso utente eseguirà i runbook chiamati Documents, che può configurare in Systems Manager.

Interfaccia per una connessione remota tramite terminale a riga di comando di Windows

Mi auguro che questo articolo Le sia utile. Esistono diversi modi per arricchire e personalizzare l'esperienza con AWS Systems Manager: questo articolo ne illustra uno per iniziare a sfruttare rapidamente le funzionalità del servizio.

Non esiti a contattarmi tramite il nostro DoiT Support se ha bisogno di assistenza per amministrare le istanze su AWS, oppure utilizzando i commenti di questo articolo.

Ci contatti su DoiT. Composto esclusivamente da senior Engineers, il nostro team è specializzato in consulenza cloud avanzata, progettazione architetturale, supporto al debugging e servizi di consulenza.