Salta al contenuto

Perché non riesco ad avviare l'Agente SSM nella mia istanza Amazon EC2 Windows?

4 minuti di lettura
0

Non riesco ad avviare l'Agente AWS Systems Manager (Agente SSM) nella mia istanza Amazon Elastic Compute Cloud (Amazon EC2) Windows.

Risoluzione

Nota: per determinare se un'istanza EC2 ha la configurazione richiesta per un nodo gestito, è consigliabile utilizzare ssm-cli versione 3.1.501.0 o successiva. Per ulteriori informazioni, consulta Risoluzione dei problemi relativi alla disponibilità dei nodi gestiti tramite ssm-cli.

Assicurati che il ruolo IAM abbia le autorizzazioni richieste

Il ruolo AWS Identity and Access Management (AWS IAM) dell'istanza deve avere le autorizzazioni necessarie per effettuare chiamate API all'endpoint di AWS Systems Manager. Collega la policy AmazonSSMManagedInstanceCore al ruolo o assicurati che la policy personalizzata includa tutte le autorizzazioni elencate in AmazonSSMManagedInstanceCore.

Inoltre, assicurati che la policy di attendibilità del ruolo consenta a ec2.amazonaws.com di assumere il ruolo.

Esempio di policy di attendibilità:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "ec2.amazonaws.com",
                    "ssm.amazonaws.com"
                ]
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

Assicurati che l'Agente SSM possa accedere ai metadati dell'istanza

L'Agente SSM deve comunicare con il servizio di metadati dell'istanza per ottenere le informazioni necessarie sull'istanza. Per accedere ai metadati dell'istanza, utilizza il browser all'interno dell'istanza in esecuzione.

Se utilizzi il servizio di metadati di istanza versione 2 (IMDSv2), esegui questo comando in base al sistema operativo.

Linux:

TOKEN=curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600" \
    && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/

Windows:

[string]$token = Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} -Method PUT -Uri http://169.254.169.254/latest/api/token

Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token" = $token} -Method GET -Uri http://169.254.169.254/latest/meta-data/

Nota: per ulteriori informazioni, consulta Funzionamento del servizio di metadati di istanza versione 2.

Se non riesci ad accedere ai metadati, esegui questo comando da Windows PowerShell o dal prompt dei comandi:

route print

Nell'output, verifica che sia presente una route per 169.254.169.254.

Esempio di output:

Persistent Routes:     
Network Address     Netmask             Gateway Address     Metric  
169.254.169.254     255.255.255.255     172.31.16.1         15  
169.254.169.250     255.255.255.255     172.31.16.1         15  
169.254.169.251     255.255.255.255     172.31.16.1         15  
169.254.169.249     255.255.255.255     172.31.16.1         15  
169.254.169.123     255.255.255.255     172.31.16.1         15  
169.254.169.253     255.255.255.255     172.31.16.1         15

Se la route manca o se l'indirizzo del gateway non corrisponde alla sottorete corrente, intraprendi una delle seguenti azioni:

  • Esegui questo comando per aggiungere manualmente la route:

    route add -p 169.254.169.254 mask 255.255.255.255 0.0.0.0

    Nota: sostituisci 0.0.0.0 con l'indirizzo del gateway della tua istanza.

  • Se l'istanza utilizza EC2Launch v1, esegui questo comando da una sessione di Windows PowerShell con privilegi elevati per aggiungere le route dei metadati:

    import-Module c:\ProgramData\Amazon\EC2-Windows\Launch\Module\Ec2Launch.psm1 ; Add-Routes
  • Se l'istanza utilizza EC2Launch v2 o EC2Config, esegui questo comando per riavviare i servizi:

    Restart-Service -Name EC2Launch

    Nota: il comando precedente imposta route statiche non persistenti per raggiungere il servizio di metadati.

Se la route esiste ma l'istanza non è in grado di recuperare i metadati, verifica che la configurazione del firewall o dell'antivirus dell'istanza non neghi esplicitamente il traffico verso 169.254.169.254. Per ulteriori informazioni, consulta Come posso risolvere l'errore "Waiting for the metadata service" della mia istanza Amazon EC2 per Windows?

Assicurati che l'istanza possa connettersi agli endpoint richiesti

Per verificare che l'istanza possa connettersi agli endpoint di Systems Manager sulla porta 443, esegui questi comandi di Windows PowerShell:

Test-NetConnection ssm.RegionID.amazonaws.com -port 443
Test-NetConnection ec2messages.RegionID.amazonaws.com -port 443
Test-NetConnection ssmmessages.RegionID.amazonaws.com -port 443

Nota: sostituisci RegionID con la Regione AWS dell'istanza.

Se l'istanza non riesce a connettersi alla porta 443, intraprendi le seguenti azioni in base al tipo di sottorete in cui si trova l'istanza.

Sottoreti pubbliche

Systems Manager dispone di endpoint pubblici, pertanto l'istanza deve utilizzare un gateway Internet per accedere a Internet. Assicurati che la tabella di routing dell'istanza contenga una route verso Internet. Inoltre, verifica che i gruppi di sicurezza di Amazon Virtual Private Cloud (Amazon VPC) e le liste di controllo degli accessi alla rete (ACLrete) consentano connessioni in uscita sulla porta 443.

Sottoreti private

Per le sottoreti private, l'istanza deve utilizzare un gateway NAT per accedere a Internet. Oppure devi configurare gli endpoint Amazon VPC per raggiungere gli endpoint di Systems Manager.

Per ulteriori informazioni sui requisiti di configurazione di rete, consulta Perché Systems Manager non mostra la mia istanza Amazon EC2 come istanza gestita?

Controlla le impostazioni del proxy

Se utilizzi proxy, Systems Manager valuta e applica le impostazioni del proxy alla configurazione dell'agente all'avvio dell'Agente SSM. Assicurati di aver configurato correttamente l'Agente SSM per l'utilizzo di un proxy.

Aggiorna l'Agente SSM

È consigliabile scaricare e installare la versione più recente dell'Agente SSM. Per trovare le versioni più recenti dell'Agente SSM, consulta le versioni di aws/amazon-ssm-agent sul sito web GitHub.

Risolvi ulteriori problemi

Se l'istanza non riesce ancora ad avviare l'agente, visualizza i log dell'Agente SSM per individuare gli errori da risolvere.

AWS UFFICIALEAggiornata 8 mesi fa