Risoluzione dei problemi AWS OpsWorks for Chef Automate - AWS OpsWorks

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Risoluzione dei problemi AWS OpsWorks for Chef Automate

Importante

AWS OpsWorks for Chef Automate ha raggiunto la fine del ciclo di vita il 5 maggio 2024 ed è stato disabilitato sia per i clienti nuovi che per quelli esistenti. Consigliamo ai clienti esistenti di migrare a Chef SaaS o a una soluzione alternativa. Se hai domande, puoi contattare il AWS Support team su AWS re:POST o tramite Premium AWS Support.

Questo argomento contiene alcuni AWS OpsWorks for Chef Automate problemi comuni e le relative soluzioni suggerite.

Suggerimenti generali per la risoluzione dei problemi

Se non sei in grado di creare o utilizzare un server Chef, puoi visualizzare i messaggi di errore o i log per risolvere il problema. Le attività seguenti descrivono da dove iniziare per affrontare la risoluzione dei problemi relativi a un server Chef. Per informazioni su errori e soluzioni specifici, consulta la sezione Risoluzione di errori specifici di questo argomento.

  • Usa la AWS OpsWorks for Chef Automate console per visualizzare i messaggi di errore se un server Chef non si avvia. Nella pagina dei dettagli del server Chef, i messaggi di errore relativi all'avvio e all'esecuzione del server vengono visualizzati nella parte superiore della pagina. Gli errori possono provenire da AWS OpsWorks for Chef Automate AWS CloudFormation, o da Amazon EC2, servizi utilizzati per creare un server Chef. Nella pagina dei dettagli puoi anche visualizzare gli eventi che si verificano su un server in esecuzione e che possono contenere messaggi relativi agli eventi di errore.

  • Per risolvere i problemi di EC2, stabilisci una connessione all'istanza del server utilizzando SSH e visualizza i log. I log dell'istanza EC2 sono archiviati nella directory /var/log/aws/opsworks-cm. Questi registri acquisiscono gli output dei comandi durante l' AWS OpsWorks for Chef Automate avvio di un server Chef.

Risoluzione di errori specifici

Il server si trova in uno stato di interruzione della connessione

Problema: lo stato di un server viene visualizzato come Connessione interrotta.

Causa: ciò si verifica più comunemente quando un'entità esterna AWS OpsWorks apporta modifiche a un AWS OpsWorks for Chef Automate server o alle relative risorse di supporto. AWS OpsWorks non può connettersi ai server Chef Automate nello stato di connessione persa per gestire attività di manutenzione come la creazione di backup, l'applicazione di patch del sistema operativo o l'aggiornamento di Chef Automate. Di conseguenza, sul server potrebbero mancare aggiornamenti importanti, essere suscettibile di problemi di sicurezza o comunque non funzionare come previsto.

Soluzione: prova i seguenti passaggi per ripristinare la connessione del server.

  1. Assicurati che il tuo ruolo di servizio disponga di tutte le autorizzazioni necessarie.

    1. Nella pagina Impostazioni del server, in Rete e sicurezza, scegli il link per il ruolo di servizio utilizzato dal server. Questo apre il ruolo di servizio per la visualizzazione nella console IAM.

    2. Nella scheda Autorizzazioni, verifica che AWSOpsWorksCMServiceRole sia presente nell'elenco delle politiche di autorizzazione. Se non è elencata, aggiungi manualmente la politica AWSOpsWorksCMServiceRole gestita al ruolo.

    3. Nella scheda Relazioni di fiducia, verifica che il ruolo di servizio disponga di una politica di fiducia che preveda che il opsworks-cm.amazonaws.com servizio assuma ruoli per tuo conto. Per ulteriori informazioni su come utilizzare le policy di fiducia con i ruoli, consulta Modifying a role (console) o il post del AWS Security Blog, How to use trust policies with IAM roles.

  2. Assicurati che il profilo dell'istanza disponga di tutte le autorizzazioni necessarie.

    1. Nella pagina Impostazioni del server, in Rete e sicurezza, scegli il link per il profilo di istanza utilizzato dal server. Questo apre il profilo dell'istanza per la visualizzazione nella console IAM.

    2. Nella scheda Autorizzazioni, verifica che AmazonEC2RoleforSSM AWSOpsWorksCMInstanceProfileRole siano entrambe incluse nell'elenco delle politiche di autorizzazione. Se una o entrambe non sono elencate, aggiungi queste politiche gestite manualmente al ruolo.

    3. Nella scheda Relazioni di fiducia, verifica che il ruolo di servizio disponga di una politica di fiducia che preveda che il ec2.amazonaws.com servizio assuma ruoli per tuo conto. Per ulteriori informazioni su come utilizzare le policy di fiducia con i ruoli, consulta Modifying a role (console) o il post del AWS Security Blog, How to use trust policies with IAM roles.

  3. Nella console Amazon EC2, assicurati di trovarti nella stessa regione della regione del AWS OpsWorks for Chef Automate server, quindi riavvia l'istanza EC2 utilizzata dal server.

    1. Scegli l'istanza EC2 denominata server-name. aws-opsworks-cm-instance-

    2. Nel menu Instance state, scegli Reboot instance.

    3. Attendi fino a 15 minuti prima che il server si riavvii e sia completamente online.

  4. Nella AWS OpsWorks for Chef Automate console, nella pagina dei dettagli del server, verifica che lo stato del server sia ora integro.

Se lo stato del server è ancora Connessione interrotta dopo aver eseguito i passaggi precedenti, prova una delle seguenti soluzioni.

Visualizzazione dei nodi gestiti nella colonna Missing (Mancante) del pannello di controllo di Chef Automate

Problema: un nodo gestito viene visualizzato nella colonna Missing (Mancante) del pannello di controllo di Chef Automate.

Causa: quando un nodo non si connette al server Chef Automate per più di 12 ore e chef-client non può essere eseguito sul nodo, il nodo assume lo stato che aveva nelle precedenti 12 ore e viene spostato nella colonna Missing (Mancante) del pannello di controllo di Chef Automate.

Soluzione: verifica che il nodo sia online. Prova a eseguire knife node show node_name --run-list per vedere se chef-client può essere eseguito sul nodo oppure knife node show -l node_name per visualizzare tutte le informazioni sul nodo. Il nodo potrebbe essere offline o disconnesso dalla rete.

Impossibile creare un vault di Chef; il comando knife vault non viene eseguito e restituisce errori

Problema: stai cercando di creare un vault sul server Chef Automate, ad esempio un vault per l'archiviazione delle credenziali per i nodi basati su Windows aggiunti al dominio, eseguendo il comando knife vault. Il comando restituisce un messaggio di errore simile al seguente.

WARN: Auto inflation of JSON data is deprecated. Please pass in the class to inflate or use #edit_hash (CHEF-1) at /opt/chefdk/embedded/lib/ruby/2.3.0/forwardable.rb:189:in `edit_data'.Please see https://docs.chef.io/deprecations_json_auto_inflate.html for further details and information on how to correct this problem. WARNING: pivotal not found in users, trying clients. ERROR: ChefVault::Exceptions::AdminNotFound: FATAL: Could not find pivotal in users or clients!

L'utente pivotal non viene restituito quando esegui knife user list in remoto, ma puoi visualizzare tale utente nei risultati quando esegui il comando chef-server-ctl user-show in locale sul server Chef Automate. In altre parole, il comando knife vault non è in grado di trovare l'utente pivotal, anche se sei sicuro della sua esistenza.

Causa: anche se l'utente pivotal viene considerato il superuser in Chef e pertanto dotato di autorizzazioni complete, tale utente non è membro di alcuna organizzazione, compresa l'organizzazione default utilizzata in AWS OpsWorks for Chef Automate. Il comando knife user list restituisce tutti gli utenti nell'organizzazione corrente nella configurazione di Chef. Il comando chef-server-ctl user-show restituisce tutti gli utenti, indipendentemente dall'organizzazione, compreso l'utente pivotal.

Soluzione: per risolvere il problema, aggiungi l'utente pivotal all'organizzazione predefinita eseguendo knife opc.

In primo luogo, dovrai installare il plugin knife-opc.

chef gem install knife-opc

Dopo aver installato il plugin, esegui il comando seguente per aggiungere l'utente pivotal all'organizzazione predefinita.

knife opc org user add default pivotal

Puoi verificare se l'utente pivotal fa parte dell'organizzazione predefinita eseguendo di nuovo knife user list. pivotal dovrebbe essere incluso nei risultati. A questo punto, esegui di nuovo knife vault.

Creazione del server non riuscita e visualizzazione messaggio "requested configuration is currently not supported" (configurazione richiesta attualmente non supportata)

Problema: stai cercando di creare un server Chef Automate, ma la creazione del server ha esito negativo e viene visualizzato un messaggio indicante che la configurazione richiesta attualmente non è supportata. Viene inoltre richiesto di controllare le configurazioni supportate nella documentazione.

Causa: è possibile che sia stato specificato un tipo di istanza non supportato per il server Chef Automate. Se scegli di creare il server Chef Automate in un VPC con una tenancy non predefinita, ad esempio una per le istanze dedicate, anche tutte le istanze all'interno del VPC specificato devono avere un'istanza dedicata a tenant o host singolo. Poiché alcuni tipi di istanza, ad esempio t2, sono disponibili solo con la tenancy predefinita, il tipo di istanza del server Chef Automate potrebbe non essere supportato dal VPC specificato e pertanto la creazione del server ha esito negativo.

Soluzione: se scegli un VPC con una tenancy non predefinita, utilizza un tipo di istanza m4, che può supportare l'istanza dedicata a tenant singolo.

Il server Chef non è in grado di riconoscere i nomi delle organizzazioni aggiunte nel pannello di controllo di Chef Automate

Problema: hai aggiunti nuovi nomi di organizzazioni del flusso di lavoro nel pannello di controllo di Chef Automate oppure hai specificato un valore CHEF_AUTOMATE_ORGANIZATION diverso da "default" nello script di associazione automatica dei nodi, ma l'associazione dei nodi ha esito negativo. Il server AWS OpsWorks for Chef Automate non riconosce i nuovi nomi delle organizzazioni.

Causa: i nomi delle organizzazioni del flusso di lavoro e i nomi delle organizzazioni del server Chef non sono gli stessi. Puoi creare nuove organizzazioni del flusso di lavoro, ma non i nomi delle organizzazioni del server Chef, nel pannello di controllo basato sul Web di Chef Automate. Puoi utilizzare il pannello di controllo di Chef Automate solo per visualizzare le organizzazioni esistenti del server Chef. Una nuova organizzazione creata nel pannello di controllo di Chef Automate è un'organizzazione del flusso di lavoro e pertanto non viene riconosciuta dal server Chef. Non puoi creare nuovi nomi di organizzazione specificandoli nello script di associazione dei nodi. Il riferimento a un nome di organizzazione in uno script di associazione dei nodi causa la mancata esecuzione dell'associazione dei nodi se l'organizzazione non è stata prima aggiunta al server Chef.

Soluzione: per creare nuove organizzazioni che verranno riconosciute sul server Chef, utilizza il comando knife opc org create oppure esegui chef-server-ctl org-create.

Impossibile creare l'istanza Amazon EC2 del server

Problema: la creazione del server ha esito negativo e restituisce un messaggio di errore simile al seguente: "The following resource(s) failed to create: [EC2Instance]. Failed to receive 1 resource signal(s) within the specified duration." (Impossibile creare la seguente o le seguenti risorse: [EC2Instance]. Impossibile ricevere un segnale risorsa nell’intervallo specificato.)

Causa: è probabile che l'istanza EC2 non disponga dell'accesso di rete.

Soluzione: assicurati che l'istanza abbia accesso a Internet in uscita e che l'agente di AWS servizio sia in grado di emettere comandi. Verifica che per il VPC (un VPC con una singola sottorete pubblica) sia stata abilitata la funzionalità DNS resolution (Risoluzione DNS) e che per la sottorete sia stata abilitata l'impostazione Auto-assign Public IP (Assegna automaticamente IP pubblico).

Un errore del ruolo del servizio impedisce la creazione del server

Problema: la creazione del server non riesce e viene visualizzato un messaggio di errore che indica «Non autorizzato a eseguire sts:AssumeRole».

Causa: questa situazione si può verificare quando il ruolo del servizio in uso non dispone delle autorizzazioni adeguate per creare un nuovo server.

Soluzione: aprire la AWS OpsWorks for Chef Automate console e utilizzarla per generare un nuovo ruolo di servizio e un ruolo del profilo di istanza. Se preferisci utilizzare il tuo ruolo di servizio, allega la AWSOpsWorksCMServiceRolepolicy al ruolo. Verifica che opsworks-cm.amazonaws.com sia elencato tra i servizi nelle relazioni di fiducia del ruolo. Verifica che al ruolo di servizio associato al server Chef sia allegata la politica gestita. AWSOpsWorksCMServiceRole

Superamento del limite di indirizzi IP elastici

Problema: la creazione del server ha esito negativo e restituisce un messaggio di errore simile al seguente: "The following resource(s) failed to create: [EIP, EC2Instance]. Resource creation cancelled, the maximum number of addresses has been reached." (Impossibile creare la seguente o le seguenti risorse: [EIP, EC2Instance]. Creazione della risorsa annullata. È stato raggiunto il numero massimo di indirizzi)

Causa: questo potrebbe verificarsi quando l'account ha utilizzato il numero massimo di indirizzi IP elastici (EIP). Il limite predefinito di indirizzi EIP è cinque.

Soluzione: puoi rilasciare gli indirizzi EIP esistenti o eliminare quelli che il tuo account non utilizza attivamente oppure puoi contattare l'Assistenza AWS clienti per aumentare il limite di indirizzi EIP associato al tuo account.

Impossibile effettuare l'accesso al pannello di controllo di Chef Automate

Problema: nel pannello di controllo di Chef Automate viene visualizzato un messaggio di errore simile al seguente: "Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://myserver-name.region.opsworks-cm.io/api/v0/e/default/verify-token. (Reason: CORS header 'Access-Control-Allow-Origin' missing)". L'errore può essere simile anche a "The User Id / Password combination entered is incorrect."

Causa: il pannello di controllo di Chef Automate imposta in modo esplicito il valore FQDN, ma non accetta gli URL relativi. Al momento, non puoi effettuare l'accesso utilizzando l'indirizzo IP del server Chef, ma a tale scopo puoi utilizzare il nome DNS del server.

Soluzione: accedi al pannello di controllo di Chef Automate solo utilizzando il nome DNS del server Chef, non il relativo indirizzo IP. Puoi anche provare a reimpostare le credenziali per il pannello di controllo di Chef Automate eseguendo un comando AWS CLI , come descritto in Reimpostazione delle credenziali del pannello di controllo di Chef Automate.

Associazione automatica dei nodi non riuscita

Problema: l'associazione automatica o automatica dei nuovi nodi Amazon EC2 non funziona. I nodi aggiunti al server Chef non vengono visualizzati nel pannello di controllo di Chef Automate e non vengono elencati nei risultati del comando knife client show o knife node show.

Causa: ciò può verificarsi quando non è stato configurato un ruolo IAM come profilo dell'istanza che permette alle chiamate API opsworks-cm di comunicare con le nuove istanze EC2.

Soluzione: al profilo dell'istanza EC2 collega una policy che consenta alle chiamate API AssociateNode e DescribeNodeAssociationStatus di utilizzare EC2, come descritto in Aggiungi nodi automaticamente in AWS OpsWorks for Chef Automate.

La manutenzione del sistema fallisce

AWS OpsWorks CM esegue la manutenzione settimanale del sistema per garantire che le ultime versioni secondarie di Chef Server e Chef Automate Server, inclusi gli aggiornamenti di sicurezza, siano sempre in esecuzione su un server AWS OpsWorks for Chef Automate. Se, per qualsiasi motivo, la manutenzione del sistema fallisce, ti AWS OpsWorks CM avvisa dell'errore. Per ulteriori informazioni sulla manutenzione del sistema, vedereManutenzione del sistema in AWS OpsWorks for Chef Automate.

Questa sezione descrive i possibili motivi di errore e suggerisce soluzioni.

Un errore nel profilo del ruolo o dell'istanza del servizio impedisce la manutenzione del sistema

Problema: la manutenzione del sistema non riesce con un messaggio di errore che indica «Non autorizzato a eseguire sts: AssumeRole «o un messaggio di errore simile relativo alle autorizzazioni.

Causa: ciò può verificarsi quando il ruolo di servizio o il profilo di istanza utilizzato non dispongono delle autorizzazioni adeguate per eseguire la manutenzione del sistema sul server.

Soluzione: assicurati che il ruolo di servizio e il profilo di istanza dispongano di tutte le autorizzazioni necessarie.

  1. Assicurati che il tuo ruolo di servizio disponga di tutte le autorizzazioni necessarie.

    1. Nella pagina Impostazioni del server, in Rete e sicurezza, scegli il link per il ruolo di servizio utilizzato dal server. Questo apre il ruolo di servizio per la visualizzazione nella console IAM.

    2. Nella scheda Autorizzazioni, verifica che AWSOpsWorksCMServiceRole sia associato al ruolo di servizio. Se non AWSOpsWorksCMServiceRole è elencato, aggiungi questo criterio al ruolo.

    3. Verifica che opsworks-cm.amazonaws.com sia elencato tra i servizi nelle relazioni di fiducia del ruolo. Per ulteriori informazioni su come utilizzare le politiche di fiducia con i ruoli, consulta Modifying a role (console) o il post del AWS Security Blog, How to use trust policies with IAM roles.

  2. Assicurati che il profilo dell'istanza disponga di tutte le autorizzazioni necessarie.

    1. Nella pagina Impostazioni del server, in Rete e sicurezza, scegli il link per il profilo di istanza utilizzato dal server. Questo apre il profilo dell'istanza per la visualizzazione nella console IAM.

    2. Nella scheda Autorizzazioni, verifica che AmazonEC2RoleforSSM AWSOpsWorksCMInstanceProfileRole siano entrambe incluse nell'elenco delle politiche di autorizzazione. Se una o entrambe non sono elencate, aggiungi queste politiche gestite manualmente al ruolo.

    3. Nella scheda Relazioni di fiducia, verifica che il ruolo di servizio disponga di una politica di fiducia che preveda che il ec2.amazonaws.com servizio assuma ruoli per tuo conto. Per ulteriori informazioni su come utilizzare le policy di fiducia con i ruoli, consulta Modifying a role (console) o il post del AWS Security Blog, How to use trust policies with IAM roles.

Supporto e informazioni della guida aggiuntivi

Se la risoluzione di un problema specifico non è descritta in questo argomento oppure se hai provato i suggerimenti riportati in questo argomento ma il problema persiste, visita i forum di AWS OpsWorks.

Puoi anche visitare il Centro AWS Support. Il AWS Support Center è l'hub per la creazione e la gestione dei casi di AWS assistenza. Il AWS Support Center include anche collegamenti ad altre risorse utili, come forum, domande frequenti tecniche, stato di salute del servizio e AWS Trusted Advisor.