Receitas de configuração - 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á.

Receitas de configuração

Importante

A ferramenta AWS OpsWorks Stacks o serviço chegou ao fim da vida útil em 26 de maio de 2024 e foi desativado para clientes novos e existentes. É altamente recomendável que os clientes migrem suas cargas de trabalho para outras soluções o mais rápido possível. Se você tiver dúvidas sobre migração, entre em contato com o AWS Support Equipe em AWS Re:post ou através de AWS Premium Support.

As receitas de configuração são atribuídas ao evento do ciclo de vida de configuração da camada, que ocorre em todas as instâncias da pilha sempre que uma instância entra ou sai do estado online. Você usa receitas de configuração a fim de ajustar a configuração de uma instância para responder à alteração, conforme apropriado. Ao implementar uma receita de configuração, lembre-se de que uma alteração feita na configuração da pilha pode envolver instâncias que não têm nada a ver com essa camada. A receita deve ser capaz de responder devidamente, o que pode significar não fazer nada em alguns casos.

tomcat::configure

A receita tomcat::configure se destina a um evento do ciclo de vida de configuração da camada.

include_recipe 'tomcat::context' # Optional: Trigger a Tomcat restart in case of a configure event, if relevant # settings in custom JSON have changed (e.g. java_opts/JAVA_OPTS): #include_recipe 'tomcat::container_config'

A receita tomcat::configure é basicamente uma metarreceita que executa duas receitas dependentes.

  1. A receita tomcat::context cria um arquivo de configuração de contexto da aplicação da web.

    Esse arquivo configura os JDBC recursos que os aplicativos usam para se comunicar com a SQL instância My, conforme discutido na próxima seção. A execução dessa receita em resposta a um evento de configuração permite que a camada atualize o arquivo de configuração de contexto da aplicação da web caso a camada do banco de dados tenha sido alterada.

  2. A receita de configuração tomcat::container_config é reexecutada para capturar eventuais alterações feitas na configuração do contêiner.

O include de tomcat::container_config é comentado neste exemplo. Se quiser usar o personalizado JSON para modificar as configurações do Tomcat, você pode remover o comentário. Um evento do ciclo de vida de configuração acaba executando tomcat::container_config, que atualiza os arquivos de configuração relacionados ao Tomcat, conforme descrito em tomcat::container_config e reinicia o serviço Tomcat.

tomcat::context

O livro de receitas do Tomcat permite que os aplicativos acessem um servidor SQL de banco de dados My, que pode ser executado em uma instância separada, usando um objeto DataSourceJ2EE. Com o Tomcat, você pode habilitar a conexão criando e instalando um arquivo de configuração de contexto da aplicação da web para cada aplicação. Esse arquivo define a relação entre o aplicativo e o JDBC recurso que o aplicativo usará para se comunicar com o banco de dados. Para obter mais informações, consulte The Context Container.

A finalidade principal da receita tomcat::context é criar esse arquivo de configuração.

include_recipe 'tomcat::service' node[:deploy].each do |application, deploy| context_name = deploy[:document_root].blank? ? application : deploy[:document_root] template "context file for #{application} (context name: #{context_name})" do path ::File.join(node['tomcat']['catalina_base_dir'], 'Catalina', 'localhost', "#{context_name}.xml") source 'webapp_context.xml.erb' owner node['tomcat']['user'] group node['tomcat']['group'] mode 0640 backup false only_if { node['datasources'][context_name] } variables(:resource_name => node['datasources'][context_name], :webapp_name => application) notifies :restart, resources(:service => 'tomcat') end end

Além dos atributos do livro de receitas do Tomcat, essa receita usa os atributos de configuração e implantação da pilha que AWS OpsWorks O Stacks é instalado com o evento Configure. A ferramenta AWS OpsWorks O serviço Stacks adiciona atributos ao objeto de nó de cada instância que contêm as informações que as receitas normalmente obteriam usando pacotes de dados ou pesquisas e instala os atributos em cada instância. Os atributos contêm informações detalhadas sobre a configuração da pilha, as aplicações implantadas e eventuais dados personalizados que um usuário deseja incluir. As receitas podem obter dados dos atributos de configuração e implantação da pilha usando a sintaxe de nó do Chef padrão. Para obter mais informações, consulte Configuração de pilha e atributos de implantação. Com as pilhas do Chef 11.10, você também pode usar o Chef para obter os dados configuração e implantação da pilha. Para obter mais informações, consulte Utilização da pesquisa do Chef.

deployattributes se refere ao [:deploy] namespace, que contém atributos relacionados à implantação que são definidos por meio do console ou API gerados pelo AWS OpsWorks Serviço Stacks. O atributo deploy inclui um atributo para cada aplicação implantada, com o nome abreviado da aplicação. Cada atributo da aplicação contém um conjunto de atributos que caracterizam a aplicação, como a raiz do documento ([:deploy][:appname][:document_root]).

A receita context primeiro garante que o serviço seja definido para esta execução do Chef chamando tomcat::service. Em seguida, ele define uma variável context_name que representa o nome do arquivo de configuração, excluindo a extensão .xml. Caso você use a raiz do documento padrão, context_name é definido como o nome abreviado da aplicação. Do contrário, ele é definido como a raiz do documento especificada. O exemplo discutido em Criar uma pilha e executar uma aplicação define a raiz do documento como"ROOT", portanto, o contexto é ROOT e o arquivo de configuração é nomeadoROOT.xml.

A maior parte da receita passa pela lista de aplicações implantadas e, para cada aplicação, usa o modelo webapp_context.xml.erb para criar um arquivo de configuração. O exemplo implanta apenas uma aplicação, mas a definição do atributo deploy exige que você o trate como uma lista de aplicações independentemente disso.

O modelo webapp_context.xml.erb não é específico para sistema operacional, por isso está localizado no subdiretório templates, no diretório default.

A receita cria o arquivo de configuração da seguinte forma:

  • Usando-se valores de atributo padrão, o nome do arquivo de configuração é definido como context_name.xml e instalado no diretório /etc/tomcat6/Catalina/localhost/.

    O ['datasources'] nó dos atributos de configuração da pilha contém um ou mais atributos, cada um dos quais mapeia um nome de contexto para o recurso de JDBC dados que o aplicativo associado usará para se comunicar com o banco de dados. O nó e seu conteúdo são definidos de forma personalizada JSON quando você cria a pilha, conforme descrito posteriormente emCriar uma pilha e executar uma aplicação. O exemplo tem um único atributo que associa o nome do ROOT contexto a um JDBC recurso chamado jdbc/mydb.

  • Usando valores de atributo padrão, o usuário do arquivo e o grupo são definidos como os valores definidos pelo pacote do Tomcat: tomcat (Amazon Linux) ou tomcat6 (Ubuntu).

  • O recurso template só cria o arquivo de configuração caso o nó ['datasources'] exista e inclui um atributo context_name.

  • O recurso template define duas variáveis, resource_name e webapp_name.

    resource_name é definido como o nome do recurso associado a context_name e webapp_name é definido como o nome abreviado da aplicação.

  • O recurso do modelo reinicia o serviço Tomcat para carregar e ativar as alterações.

O modelo webapp_context.xml.erb consiste em um elemento Context que contém um elemento Resource com o próprio conjunto de atributos.

Os atributos Resource caracterizam a configuração do contexto:

  • name — O nome do JDBC recurso, que é definido com o resource_name valor definido emtomcat::context.

    Por exemplo, o nome do recurso é definido como jdbc/mydb.

  • auth e type — Essas são as configurações padrão para JDBC DataSource conexões.

  • maxActive, maxIdle, e maxWait— O número máximo de conexões ativas e ociosas e o tempo máximo de espera para que uma conexão seja retornada.

  • username e password: o nome de usuário e a senha raiz do banco de dados, obtidos junto aos atributos deploy.

  • driverClassName—O nome da classe do JDBC driver, que é definido como Meu SQL driver.

  • url — A conexãoURL.

    O prefixo depende do banco de dados. Ele deve ser definido como jdbc:mysql para MySQL, jdbc:postgresql para Postgres e jdbc:sqlserver para SQL Server. O exemplo define o URL parajdbc:mysql://host_IP_Address:3306:simplejsp, onde simplejsp é o nome curto do aplicativo.

  • factory — A DataSource fábrica, que é necessária para Meus SQL bancos de dados.

Para obter mais informações sobre esse arquivo de configuração, consulte o DataSources tópico Usando no wiki do Tomcat.