Solução de problemas AWS OpsWorks for Chef Automate - AWS OpsWorks

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Solução de problemas AWS OpsWorks for Chef Automate

Importante

AWS OpsWorks O Chef Automate chegou ao fim da vida útil em 5 de maio de 2024 e foi desativado para clientes novos e existentes. Recomendamos que os clientes existentes migrem para o Chef SaaS ou uma solução alternativa. Se você tiver dúvidas, pode entrar em contato com a AWS Support equipe no AWS re:POST ou por meio do Premium AWS Support.

Este tópico contém alguns AWS OpsWorks for Chef Automate problemas comuns e sugestões de soluções para esses problemas.

Dicas para solução de problemas em geral

Caso não consiga criar ou trabalhar com um servidor do Chef, você pode exibir mensagens de erro ou logs para ajudar a solucionar o problema. As tarefas a seguir descrevem locais em geral para iniciar quando você está solucionando um problema no servidor do Chef. Para obter mais informações sobre erros específicos e soluções, consulte a seção Solução de problemas de erros específicos deste tópico.

  • Use o AWS OpsWorks for Chef Automate console para visualizar mensagens de erro se um servidor Chef falhar ao iniciar. Na página de detalhes do servidor do Chef, as mensagens de erro relacionadas à inicialização e à execução do servidor são mostradas na parte superior da página. Os erros podem vir de AWS OpsWorks for Chef Automate AWS CloudFormation, ou do Amazon EC2, serviços usados para criar um servidor Chef. Na página de detalhes, você também pode visualizar eventos que ocorrem em um servidor em execução, que podem conter mensagens de evento de falha.

  • Para ajudar a resolver problemas do EC2, conecte-se à instância do servidor usando SSH e visualize os logs. Os logs da instância EC2 são armazenados no diretório /var/log/aws/opsworks-cm. Esses registros capturam as saídas do comando enquanto AWS OpsWorks for Chef Automate inicia um servidor Chef.

Solução de problemas de erros específicos

O servidor está em um estado de conexão perdida

Problema: o status de um servidor é exibido como Conexão perdida.

Causa: Isso geralmente ocorre quando uma entidade externa AWS OpsWorks faz alterações em um AWS OpsWorks for Chef Automate servidor ou em seus recursos de suporte. AWS OpsWorks não pode se conectar aos servidores do Chef Automate nos estados perdidos do Connection para lidar com tarefas de manutenção, como criar backups, aplicar patches do sistema operacional ou atualizar o Chef Automate. Como resultado, seu servidor pode estar perdendo atualizações importantes, suscetível a problemas de segurança ou não funcionando conforme o esperado.

Solução: tente as etapas a seguir para restaurar a conexão do servidor.

  1. Verifique se seu perfil de serviço tem todas as permissões necessárias.

    1. Na página Configurações do seu servidor, em Rede e segurança, escolha o link para o perfil de serviço que o servidor está usando. Isso abrirá o perfil de serviço para visualização no console do IAM.

    2. Na guia Permissões, verifique se AWSOpsWorksCMServiceRole está na lista de Políticas de permissões. Se ela não estiver listada, adicione a política AWSOpsWorksCMServiceRole gerenciada manualmente ao perfil.

    3. Na guia Relações de confiança, verifique se o perfil de serviço tem uma política de confiança que confia no serviço opsworks-cm.amazonaws.com para assumir perfis em seu nome. Para obter mais informações sobre como usar políticas de confiança com funções, consulte Modificação de uma função (console) ou a postagem do blog de AWS segurança, Como usar políticas de confiança com funções do IAM.

  2. Verifique se seu perfil de instância tem todas as permissões necessárias.

    1. Na página Configurações do seu servidor, em Rede e segurança, escolha o link para o perfil de instância que o servidor está usando. Isso abrirá o perfil de instância para visualização no console do IAM.

    2. Na guia Permissões, verifique se AmazonEC2RoleforSSM e AWSOpsWorksCMInstanceProfileRole estão na lista de Políticas de permissões. Se uma ou ambas não estiverem listadas, adicione essas políticas gerenciadas manualmente ao perfil.

    3. Na guia Relações de confiança, verifique se o perfil de serviço tem uma política de confiança que confia no serviço ec2.amazonaws.com para assumir perfis em seu nome. Para obter mais informações sobre como usar políticas de confiança com funções, consulte Modificação de uma função (console) ou a postagem do blog de AWS segurança, Como usar políticas de confiança com funções do IAM.

  3. No console do Amazon EC2, verifique se você está na mesma região do servidor AWS OpsWorks for Chef Automate e, em seguida, reinicie a instância do EC2 que seu servidor está usando.

    1. Escolha a instância do EC2 chamada aws-opsworks-cm-instance-server-name.

    2. Escolha Estado da instância e Reinicializar instância no menu.

    3. Aguarde até 15 minutos para que seu servidor reinicie e fique totalmente on-line.

  4. No AWS OpsWorks for Chef Automate console, na página de detalhes do servidor, verifique se o status do servidor agora está íntegro.

Se o status do servidor ainda for Conexão perdida após a execução das etapas anteriores, tente uma das opções a seguir.

Nó gerenciado aparece no painel Automate do Chef, na coluna Missing

Problema: um nó gerenciado aparece na coluna Missing do painel do Chef Automate.

Motivo: quando um nó não se conecta ao servidor do Chef Automate por mais de 12 horas, e chef-client não pode ser executado no nó, ele muda do estado em que estava antes do período de 12 horas e avança para a coluna Missing do painel Chef Automate.

Solução: Verifique se o nó está online. Tente executar knife node show node_name --run-list para saber se chef-client pode ser executado no nó, ou knife node show -l node_name para exibir todas as informações sobre o nó. O nó pode estar off-line ou desconectado da rede.

Não é possível criar um cofre do Chef; falha no comando knife vault com erros

Problema: Você está tentando criar um cofre no servidor Chef Automate (como um cofre para armazenar credenciais para nós baseados no Windows de ingresso no domínio), executando o comando knife vault. O comando retorna uma mensagem de erro semelhante à seguinte.

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!

O usuário essencial não é retornado quando você executa knife user list remotamente, embora possa vê-lo em resultados ao executar o comando chef-server-ctl user-show localmente no servidor do Chef Automatize. Em outras palavras, o comando knife vault não pode encontrar o usuário essencial, mas você sabe que ele existe.

Causa: Embora seja considerado o superusuário no Chef e tenha permissões completas, o usuário essencial não é membro de nenhuma organização, inclusive a organização default usada no AWS OpsWorks for Chef Automate. O comando knife user list retorna todos os usuários presentes na organização atual na configuração do Chef. O comando chef-server-ctl user-show retorna todos os usuários, independentemente da organização, inclusive o usuário essencial.

Solução: Para corrigir o problema, adicione o usuário essencial à organização padrão executando knife opc.

Primeiro, você precisará instalar o plug-in knife-opc.

chef gem install knife-opc

Depois de instalar o plug-in, execute o comando a seguir para adicionar o usuário essencial à organização padrão.

knife opc org user add default pivotal

Você pode verificar se o usuário essencial faz parte da organização padrão executando o knife user list novamente. O pivotal deve ser listado nos resultados. Em seguida, tente reexecutar knife vault.

Falha na criação do servidor com a mensagem "requested configuration is currently not supported"

Problema: Você está tentando criar um servidor do Chef Automatize, mas a criação do servidor falha com uma mensagem de erro semelhante a "The requested configuration is currently not supported. Please check the documentation for supported configurations."

Causa: Um tipo de instância não compatível pode ter sido especificado para o servidor do Chef Automatize. Se você optar por criar o servidor do Chef Automatize em uma VPC que tenha uma locação não padrão, como uma para instâncias dedicadas, todas as instâncias dentro da VPC especificada também devem ser de locação dedicada ou host. Como alguns tipos de instância, como t2, só estão disponíveis com a locação padrão, o tipo de instância do servidor do Chef Automatize talvez não seja compatível com a VPC especificada, e a criação do servidor falha.

Solução: Se você escolher uma VPC que tenha uma locação não padrão, use um tipo de instância m4, que pode dar suporte à locação dedicada.

O servidor do Chef não reconhece os nomes da organização adicionados no painel do Chef Automatize

Problema: Você adicionou novos nomes de organização de fluxo de trabalho no painel do Chef Automatize ou especificou um valor CHEF_AUTOMATE_ORGANIZATION diferente de "default" no script de associação de nó autônomo, mas a associação do nó falha. O servidor do AWS OpsWorks for Chef Automate não reconhece os novos nomes de organização.

Causa: Os nomes de organização do fluxo de trabalho e os nomes de organização do servidor do Chef não são iguais. Você pode criar novas organizações de fluxo de trabalho no painel do Chef Automate baseado na web, mas não nomes de organização do servidor do Chef. Você só pode usar o painel Chef Automatize para visualizar as organizações de servidor do Chef existentes. Uma nova organização que você cria no painel Chef Automate é uma organização de fluxo de trabalho, e não é reconhecida pelo servidor do Chef. Você não pode criar novos nomes de organização especificando-os no script de associação do nó. A consulta ao nome de uma organização em um script de associação do nó quando a organização não tiver sido adicionada primeiro ao servidor do Chef fará a associação do nó falhar.

Solução: Para criar novas organizações reconhecidas no servidor do Chef, use o comando knife opc org create ou execute chef-server-ctl org-create.

Não foi possível criar a instância do Amazon EC2 do servidor

Problema: Falha na criação do servidor com uma mensagem de erro semelhante à seguinte: "The following resource(s) failed to create: [EC2Instance]. Failed to receive 1 resource signal(s) within the specified duration."

Causa: Isto é mais provável porque a instância do EC2 não tem acesso à rede.

Solução: certifique-se de que a instância tenha acesso de saída à Internet e que o agente AWS de serviço seja capaz de emitir comandos. Certifique-se de que a VPC (uma VPC com uma única sub-rede pública) tenha DNS resolution ativado e que a sub-rede tenha a configuração Auto-assign Public IP ativada.

Erro na função de serviço impede a criação do servidor

Problema: A criação do servidor falha com uma mensagem de erro que diz: “Não autorizado a realizar sts:”AssumeRole.

Causa: Isso pode ocorrer quando a função de serviço que você está usando não tem permissões adequadas para criar um novo servidor.

Solução: abra o AWS OpsWorks for Chef Automate console; use o console para gerar uma nova função de serviço e uma função de perfil de instância. Se você preferir usar sua própria função de serviço, anexe a AWSOpsWorksCMServiceRolepolítica à função. Verifique se opsworks-cm.amazonaws.com está listado entre os serviços nas Relações de confiança do perfil. Verifique se a função de serviço associada ao servidor Chef tem a política AWSOpsWorksCMServiceRolegerenciada anexada.

Limite de endereço IP elástico excedido

Problema: Falha na criação do servidor com uma mensagem de erro que informa, "The following resource(s) failed to create: [EIP, EC2Instance]. Resource creation cancelled, the maximum number of addresses has been reached."

Causa: Isso ocorre quando a conta usou o número máximo de endereços Elastic IP (EIP – IP elástico). O limite de endereços EIP padrão é cinco.

Solução: você pode liberar endereços EIP existentes ou excluir aqueles que sua conta não está usando ativamente, ou pode entrar em contato com o Suporte AWS ao Cliente para aumentar o limite de endereços EIP associados à sua conta.

Não é possível fazer logon no painel do Chef Automatize

Problema: O painel Chef Automatize mostra um erro semelhante ao seguinte: "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)". O erro também pode ser semelhante a "The User Id / Password combination entered is incorrect".

Causa: O painel do Chef Automatize define explicitamente o FQDN e não aceita URLs relativos. No momento, você não pode fazer logon usando o endereço IP do servidor do Chef; você só pode fazer logon usando o nome DNS do servidor.

Solução: Faça login no painel do Chef Automatize apenas usando a entrada de nome DNS do servidor do Chef, e não o endereço IP. Você também pode tentar redefinir as credenciais do painel do Chef Automate executando um comando da AWS CLI , conforme descrito em Redefinição das credenciais do painel do Chef Automate.

Falha na associação do nó autônomo

Problema: falha na associação autônoma, automática, de novos nós do Amazon EC2. Os nós que devem ter sido adicionados ao servidor do Chef não estão aparecendo no painel do Chef Automate, e não são listados em resultados dos comandos knife client show ou knife node show.

Causa: Isso pode ocorrer quando você não tem uma função do IAM configurada como um perfil da instância que permite que as chamadas à API opsworks-cm se comuniquem com novas instâncias EC2.

Solução: Anexe uma política ao perfil da instância EC2 que permita às chamadas à API AssociateNode e DescribeNodeAssociationStatus funcionem com o EC2, conforme descrito em Adicione nós automaticamente em AWS OpsWorks for Chef Automate.

Falha na manutenção do sistema

AWS OpsWorks CM realiza manutenção semanal do sistema para garantir que as versões secundárias mais recentes do Chef Server e do Chef Automate Server, incluindo atualizações de segurança, estejam sempre em execução em um servidor AWS OpsWorks for Chef Automate. Se, por algum motivo, a manutenção do sistema falhar, AWS OpsWorks CM notifica você sobre a falha. Para obter mais informações sobre manutenção do sistema, consulte Manutenção do sistema em AWS OpsWorks for Chef Automate.

Esta seção descreve os possíveis motivos da falha e sugere soluções.

Erro no perfil de serviço ou no perfil de instância impede a manutenção do sistema

Problema: A manutenção do sistema falha com uma mensagem de erro que diz: “Não autorizado a executar sts: AssumeRole “ou uma mensagem de erro semelhante sobre permissões.

Causa: isso pode ocorrer quando o perfil de serviço ou o perfil de instância que você está usando não têm permissões adequadas para realizar a manutenção do sistema no servidor.

Solução: verifique se seu perfil de serviço e perfil de instância têm todas as permissões necessárias.

  1. Verifique se seu perfil de serviço tem todas as permissões necessárias.

    1. Na página Configurações do seu servidor, em Rede e segurança, escolha o link para o perfil de serviço que o servidor está usando. Isso abrirá o perfil de serviço para visualização no console do IAM.

    2. Na guia Permissões, verifique se AWSOpsWorksCMServiceRole está anexado ao perfil de serviço. Se AWSOpsWorksCMServiceRole não estiver listada, adicione essa política ao perfil.

    3. Verifique se opsworks-cm.amazonaws.com está listado entre os serviços nas Relações de confiança do perfil. Para obter mais informações sobre como usar políticas de confiança com funções, consulte Modificação de uma função (console) ou a postagem do blog de AWS segurança, Como usar políticas de confiança com funções do IAM.

  2. Verifique se seu perfil de instância tem todas as permissões necessárias.

    1. Na página Configurações do seu servidor, em Rede e segurança, escolha o link para o perfil de instância que o servidor está usando. Isso abrirá o perfil de instância para visualização no console do IAM.

    2. Na guia Permissões, verifique se AmazonEC2RoleforSSM e AWSOpsWorksCMInstanceProfileRole estão na lista de Políticas de permissões. Se uma ou ambas não estiverem listadas, adicione essas políticas gerenciadas manualmente ao perfil.

    3. Na guia Relações de confiança, verifique se o perfil de serviço tem uma política de confiança que confia no serviço ec2.amazonaws.com para assumir perfis em seu nome. Para obter mais informações sobre como usar políticas de confiança com funções, consulte Modificação de uma função (console) ou a postagem do blog de AWS segurança, Como usar políticas de confiança com funções do IAM.

Ajuda e suporte adicionais

Caso você não veja o problema específico descrito neste tópico ou tenha tentado as sugestões neste tópico e ainda esteja enfrentando problemas, visite os fóruns do AWS OpsWorks.

Você também pode acessar o AWS Support Center. O AWS Support Center é o hub para criar e gerenciar casos de AWS suporte. O AWS Support Center também inclui links para outros recursos úteis, como fóruns, perguntas frequentes técnicas, status de integridade do serviço e. AWS Trusted Advisor