Perché la mia istanza EC2 non viene visualizzata come nodo gestito o mostra lo stato "Connessione persa" in Systems Manager?
La mia istanza Amazon Elastic Compute Cloud (Amazon EC2) ha perso la connessione o non viene visualizzata in Fleet Manager nella console AWS Systems Manager.
Risoluzione
Un'istanza gestita è un'istanza EC2 utilizzata con Systems Manager come nodo gestito.
Per confermare che l'istanza EC2 soddisfa i prerequisiti per essere un'istanza gestita, esegui il documento di Automazione Systems Manager AWSSupport-TroubleshootManagedInstance. Quindi, verifica che l'istanza EC2 soddisfi i seguenti requisiti.
Importante: durante le fasi di risoluzione dei problemi, seleziona la Regione AWS che include l'istanza EC2.
Verifica che Agente SSM sia installato e in esecuzione sull'istanza
Dopo aver verificato che il tuo sistema operativo supporti Systems Manager, controlla che Agente AWS Systems Manager (Agente SSM) sia installato e in esecuzione sull'istanza.
Agente SSM è preinstallato su alcune Amazon Machine Images (AMI) per Linux, macOS e Windows. Per installare manualmente Agente SSM quando l'agente non è preinstallato, consulta la seguente documentazione:
- Linux: Installazione manuale di SSM Agent su istanze EC2 per Linux
- macOS: Installazione manuale di SSM Agent su istanze EC2 per macOS
- Windows: Installazione manuale di SSM Agent su istanze EC2 per Windows Server
Per verificare che Agente SSM sia in esecuzione, utilizza i comandi specifici del sistema operativo per controllare lo stato dell'agente.
Dopo aver completato la verifica, esegui il comando ssm-cli per risolvere i problemi di disponibilità delle istanze gestite.
Verifica la connettività agli endpoint di Systems Manager sulla porta 443
Per verificare la connettività agli endpoint di Systems Manager sulla porta 443, è necessario considerare le impostazioni del sistema operativo e della sottorete. Per un elenco degli endpoint di Systems Manager suddivisi per regione, consulta la pagina Endpoint e quote di AWS Systems Manager.
Nota: negli esempi, l'endpoint ssmmessages è richiesto per Gestione sessione di AWS Systems Manager.
Istanze EC2 per Linux
Usa i comandi Telnet o Netcat per verificare la connettività agli endpoint sulla porta 443 per le istanze EC2 per Linux.
Nota: sostituisci RegionID con la regione dell'istanza durante l'esecuzione dei comandi.
Comandi Telnet:
telnet ssm.RegionID.amazonaws.com 443 telnet ec2messages.RegionID.amazonaws.com 443 telnet ssmmessages.RegionID.amazonaws.com 443
Esempio di connessione Telnet:
root@111800186:~# telnet ssm.us-east-1.amazonaws.com 443 Trying 52.46.141.158... Connected to ssm.us-east-1.amazonaws.com. Escape character is '^]'.
Per uscire da telnet, tieni premuto il tasto Ctrl e premi il tasto ]. Inserisci quit, quindi premi Invio.
Comandi Netcat:
nc -vz ssm.RegionID.amazonaws.com 443 nc -vz ec2messages.RegionID.amazonaws.com 443 nc -vz ssmmessages.RegionID.amazonaws.com 443
Netcat non è preinstallato sulle istanze EC2. Per installare manualmente Netcat, consulta Ncat sul sito web di Nmap.
Istanze EC2 per Windows
Utilizza i seguenti comandi di Windows PowerShell per verificare la connettività agli endpoint sulla porta 443 per le istanze EC2 per Windows.
Test-NetConnection ssm.RegionID.amazonaws.com -port 443 Test-NetConnection ec2messages.RegionID.amazonaws.com -port 443 Test-NetConnection ssmmessages.RegionID.amazonaws.com -port 443
Sottoreti pubbliche
Gli endpoint di Systems Manager sono endpoint pubblici. Per risolvere i problemi che si presentano durante la connessione a un endpoint da un'istanza in una sottorete pubblica, conferma i punti seguenti:
- La tabella di routing dell'istanza indirizza il traffico Internet verso un gateway Internet.
- I tuoi gruppi di sicurezza Amazon Virtual Private Cloud (Amazon VPC) e le liste di controllo degli accessi alla rete (ACL) consentono connessioni in uscita sulla porta 443.
Sottoreti private
Usa indirizzi IP privati per accedere privatamente alle API di Amazon EC2 e Systems Manager. Per risolvere i problemi che si presentano durante la connessione a un endpoint da un'istanza in una sottorete privata, conferma uno dei punti seguenti:
- La tabella di routing dell'istanza indirizza il traffico Internet verso un gateway NAT.
- L'endpoint VPC è configurato per raggiungere gli endpoint di Systems Manager.
Per maggiori informazioni, consulta la pagina How do I create VPC endpoints so that I can use Systems Manager to manage private EC2 instances without internet access?
Nota: ogni endpoint di interfaccia crea un'interfaccia di rete elastica nella sottorete fornita.
Per la sicurezza delle sottoreti private è consigliabile verificare le seguenti impostazioni:
- Il gruppo di sicurezza collegato all'interfaccia di rete dell'endpoint VPC consente il traffico in entrata sulla porta TCP 443 dal gruppo di sicurezza collegato all'istanza.
- Il gruppo di sicurezza collegato all'istanza consente il traffico in uscita dalla porta TCP 443 verso l'indirizzo IP privato per l'interfaccia di rete dell'endpoint VPC.
Verifica l'impostazione di Configurazione di gestione host predefinita
Nota: se non stai utilizzando Configurazione di gestione host predefinita, passa alla sezione Verifica che il ruolo IAM corretto sia collegato all'istanza.
Quando si imposta Configurazione di gestione host predefinita Systems Manager gestisce automaticamente le istanze EC2 senza un profilo dell'istanza AWS Identity and Access Management (IAM). Quando configuri questa funzionalità, Systems Manager dispone delle autorizzazioni per gestire tutte le istanze nella tua regione e nel tuo account. Se le autorizzazioni non sono sufficienti per il tuo caso d'uso, aggiungi le policy al ruolo IAM predefinito creato da Configurazione di gestione host predefinita.
Tutte le istanze associate devono utilizzare il Servizio di metadati dell'istanza versione 2 (IMDSv2). Per verificare la configurazione di IMDSv2, consulta le sezioni Quando l'utilizzo di IMDSv1 è pari a zero e Verifica se le istanze hanno eseguito la transizione a IMDSv2.
Configurazione di gestione host predefinita è disponibile nella versione 3.2.582.0 o successiva di Agente SSM. Per verificare la versione di Agente SSM, consulta la pagina Verifica del numero di versione di SSM Agent.
Per verificare l'impostazione di Configurazione di gestione host predefinita, completa i passaggi seguenti:
- Apri la console Systems Manager.
- Nel pannello di navigazione, scegli Fleet Manager.
- Dall'elenco a discesa Gestione account, scegli Configurazione di gestione host predefinita.
- Verifica che l'impostazione Abilita la configurazione di gestione host predefinita sia attiva.
Puoi anche utilizzare il seguente comando dell'Interfaccia della linea di comando AWS (AWS CLI) per verificare l'impostazione di Configurazione di gestione host predefinita:
Nota: sostituisci AccountID con l'ID del tuo account AWS durante l'esecuzione dei comandi.
aws ssm get-service-setting \ --setting-id arn:aws:ssm:RegionID:AccountID:servicesetting/ssm/managed-instance/default-ec2-instance-management-role
Quando Configurazione di gestione host predefinita sarà impostata, riceverai una risposta simile alla seguente:
{ "ServiceSetting": { "SettingId": "/ssm/managed-instance/default-ec2-instance-management-role", "SettingValue": "service-role/AWSSystemsManagerDefaultEC2InstanceManagementRole", "LastModifiedDate": 1679492424.738, "LastModifiedUser": "arn:aws:sts::012345678910:assumed-role/role/role-name", "ARN": "arn:aws:ssm:ap-southeast-1:012345678910:servicesetting/ssm/managed-instance/default-ec2-instance-management-role", "Status": "Customized" } }
Nota: se il valore di SettingValue è $None, Configurazione di gestione host predefinita non sarà impostata.
Verifica che Configurazione di gestione host predefinita stia utilizzando un ruolo IAM appropriato
Il ruolo AWSSystemsManagerDefaultEC2InstanceManagementRole è il ruolo IAM consigliato quando si imposta Configurazione di gestione host predefinita. Per utilizzare un ruolo diverso, assicurati che al ruolo sia associata la policy IAM AmazonSSMManagedEC2InstanceDefaultPolicy.
Se hai dei profili dell'istanza collegati alle tue istanze EC2, rimuovi tutte le autorizzazioni che consentono l'operazione ssm:UpdateInstanceInformation. Agente SSM tenta di utilizzare le autorizzazioni del profilo dell'istanza prima di utilizzare le autorizzazioni di Configurazione di gestione host predefinita. Se consenti l'operazione ssm:UpdateInstanceInformation nei profili dell'istanza, l'istanza non utilizzerà le autorizzazioni di Configurazione di gestione host predefinita.
Verifica che il ruolo IAM corretto sia collegato all'istanza
Nota: se stai utilizzando Configurazione di gestione host predefinita, passa alla sezione Verifica la connettività con IMDS.
Per effettuare chiamate API a un endpoint di Systems Manager, è necessario collegare la policy AmazonSSMManagedInstanceCore al ruolo IAM associato all'istanza. Se stai utilizzando una policy IAM personalizzata, conferma che la tua policy personalizzata utilizzi le autorizzazioni disponibili in AmazonSSMManagedInstanceCore. Inoltre, assicurati che la policy di attendibilità per il tuo ruolo IAM consenta di assumere questo ruolo a ec2.amazonaws.com.
Per ulteriori informazioni, consulta la sezione Aggiunta delle autorizzazioni del profilo dell'istanza per Systems Manager a un ruolo esistente (console).
Verifica la connettività con IMDS
Agente SSM deve comunicare con il Servizio di metadati dell'istanza (IMDS) per ottenere le informazioni necessarie sull'istanza. Per testare la connessione, esegui il seguente comando Netcat:
nc -vz 169.254.169.254 80
Per verificare che IMDS sia impostato per l'istanza esistente, esegui una delle seguenti operazioni:
-
Apri la console Amazon EC2. Nel pannello di navigazione scegli Istanze, seleziona l'istanza, quindi scegli Operazioni, Impostazioni istanza, Modifica opzioni metadati dell'istanza. Nella finestra di dialogo, il Servizio di metadati dell'istanza deve essere abilitato.
-
In AWS CLI, esegui il comando di AWS CLI describe-instances.
aws ec2 describe-instances --query "Reservations[*].Instances[*].MetadataOptions" --instance-ids i-012345678910
Esempio di output:
[ [ { "State": "applied", "HttpTokens": "optional", "HttpPutResponseHopLimit": 1, "HttpEndpoint": "enabled", "HttpProtocolIpv6": "disabled", "InstanceMetadataTags": "disabled" } ] ]
Nota: "HttpTokens": "optional" significa che sono supportati sia IMDSv1 che IMDSv2. "HttpTokens": "required" significa che IMDSv2 è supportato. "HttpEndpoint": "enabled" significa che IMDS è attivo.
Se utilizzi un proxy sull'istanza, il proxy potrebbe bloccare la connettività all'URL dei metadati. Per evitare ciò, assicurati di configurare Agente SSM in modo che funzioni con un proxy e di impostare no_proxy per l'URL dei metadati. Per configurare Agente SSM per l'utilizzo di un proxy, consulta la seguente documentazione:
- Linux: Configurazione di SSM Agent per l'utilizzo di un proxy (Linux)
- macOS: Configurazione di SSM Agent per l'utilizzo di un proxy (macOS)
- Windows: Configurazione di SSM Agent per utilizzare un proxy per le istanze Windows Server
Risoluzione di problemi aggiuntivi
Se l'istanza continua a non apparire come nodo gestito o mostra una connessione persa in Systems Manager, continua la risoluzione dei problemi nei log di Agente SSM:
- Linux e macOS: i log dI Agente SSM si trovano in /var/log/amazon/ssm.
- Windows: i log di Agente SSM si trovano in %PROGRAMDATA%\Amazon\SSM\Logs.
Se l'istanza non invia report ad Agente SSM, prova ad accedere utilizzando RDP (Windows) o SSH (Linux) per raccogliere i log. Se non riesci a raccogliere i log, devi arrestare l'istanza e scollegare il volume root. Quindi, collega il volume root a un'altra istanza nella stessa zona di disponibilità del volume secondario per ottenere i log.
Informazioni correlate
Collegamento di un volume Amazon EBS a un'istanza
Scollegare il volume Amazon EBS da un'istanza Linux
Video correlati
Contenuto pertinente
- AWS UFFICIALEAggiornata un anno fa
- AWS UFFICIALEAggiornata un anno fa
- AWS UFFICIALEAggiornata un anno fa