Configuração de pilha e atributos de implantaçã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á.

Configuração de pilha e atributos de implantação

Importante

O AWS OpsWorks Stacks 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 a AWS Support equipe no AWS re:POST ou por meio do Premium AWS Support.

Quando o AWS OpsWorks Stacks executa um comando em uma instância, por exemplo, um comando de implantação em resposta a um evento do ciclo de vida do Deploy, ele adiciona um conjunto de atributos ao objeto node da instância que descreve a configuração atual da pilha. Para os comandos Deploy events e Execute Recipes stack, o AWS OpsWorks Stacks instala atributos de implantação, que fornecem algumas informações adicionais de implantação. Para obter mais informações sobre o objeto de nó, consulte Sobrepor atributos. Para uma lista de configuração de pilhas e atributos de implantação mais comumente usados, incluindo nomes de nós completamente qualificados, consulte Atributos de implantação e configuração de pilha: Linux e Atributos de livros de receitas integrados.

nota

Nas pilhas do Linux, você pode obter uma lista completa desses atributos, formatados como um JSON objeto, usando o comando get_json CLI do agente.

As seções a seguir mostram os atributos associados a um evento Configurar e um evento Implantar para uma pilha simples, que contém o seguinte:

  • Uma camada de servidor de PHP aplicativos com duas instâncias

  • Uma camada HAProxy com uma instância

Os exemplos são de uma das instâncias do PHP App Server, php-app1. Por conveniência, os atributos são formatados como um JSON objeto. A estrutura do objeto é mapeada para os nomes totalmente qualificados dos atributos. Por exemplo, o node[:opsworks][:ruby_version] atributo aparece da seguinte forma em uma JSON representação.

{ "opsworks": { ... "ruby_version": "1.8.7", ... } }

Configurar Atributos

O JSON objeto a seguir mostra os atributos de um evento Configure, que ocorre em todas as instâncias na pilha quando uma instância fica online ou offline. Os atributos incluem os atributos de configuração da pilha incorporados e quaisquer JSONatributos personalizados que foram definidos para a pilha antes do evento (nenhum neste exemplo). Foi editado por questão de tamanho. Para uma descrição mais detalhada dos vários atributos, consulte Atributos de implantação e configuração de pilha: Linux e Atributos de livros de receitas integrados.

{ "opsworks": { "layers": { "php-app": { "id": "4a2a56c8-f909-4b39-81f8-556536d20648", "instances": { "php-app2": { "elastic_ip": null, "region": "us-west-2", "booted_at": "2013-02-26T20:41:10+00:00", "ip": "192.0.2.0", "aws_instance_id": "i-34037f06", "availability_zone": "us-west-2a", "instance_type": "c1.medium", "private_dns_name": "ip-10-252-0-203.us-west-2.compute.internal", "private_ip": "10.252.0.203", "created_at": "2013-02-26T20:39:39+00:00", "status": "online", "backends": 8, "public_dns_name": "ec2-192-0-2-0.us-west-2.compute.amazonaws.com" }, "php-app1": { ... } }, "name": "PHP Application Server" }, "lb": { "id": "15c86142-d836-4191-860f-f4d310440f14", "instances": { "lb1": { ... } }, "name": "Load Balancer" } }, "agent_version": "104", "applications": [ ], "stack": { "name": "MyStack" }, "ruby_version": "1.8.7", "sent_at": 1361911623, "ruby_stack": "ruby_enterprise", "instance": { "layers": [ "php-app" ], "region": "us-west-2", "ip": "192.0.2.0", "id": "45ef378d-b87c-42be-a1b9-b67c48edafd4", "aws_instance_id": "i-32037f00", "availability_zone": "us-west-2a", "private_dns_name": "ip-10-252-84-253.us-west-2.compute.internal", "instance_type": "c1.medium", "hostname": "php-app1", "private_ip": "10.252.84.253", "backends": 8, "architecture": "i386", "public_dns_name": "ec2-192-0-2-0.us-west-2.compute.amazonaws.com" }, "activity": "configure", "rails_stack": { "name": null }, "deployment": null, "valid_client_activities": [ "reboot", "stop", "setup", "configure", "update_dependencies", "install_dependencies", "update_custom_cookbooks", "execute_recipes" ] }, "opsworks_custom_cookbooks": { "recipes": [ ], "enabled": false }, "recipes": [ "opsworks_custom_cookbooks::load", "opsworks_ganglia::configure-client", "ssh_users", "agent_version", "mod_php5_apache2::php", "php::configure", "opsworks_stack_state_sync", "opsworks_custom_cookbooks::execute", "test_suite", "opsworks_cleanup" ], "opsworks_rubygems": { "version": "1.8.24" }, "ssh_users": { }, "opsworks_bundler": { "manage_package": null, "version": "1.0.10" }, "deploy": { } }

A maioria das informações está sob o atributo opsworks, que normalmente é chamado de um namespace. A lista a seguir descreve os principais atributos:

  • layers atributos: um conjunto de atributos, cada descrevendo a configuração de uma das camadas da pilha.

    As camadas são identificados pelas abreviações, php-app e lb para este exemplo. Para obter mais informações sobre abreviações para outras camadas , consulte AWS OpsWorks Referência de camadas de pilhas.

  • instances atributos: cada camada tem um elemento instances, que inclui um atributo para cada uma das instâncias on-line das camadas, com o nome do nome abreviado da instância.

    A camada do PHP App Server tem duas instâncias, php-app1 php-app2 e. A camada HAProxy tem uma instância, lb1.

    nota

    O elemento instances contém somente as instâncias que estão no estado online quando os atributos de pilha e de implantação são criados.

  • Atributos da instância — Cada atributo da instância contém um conjunto de atributos que caracterizam a instância, como o endereço IP privado e o DNS nome privado da instância. Em resumo, o exemplo mostra apenas o atributo php-app2 em detalhes, os outros contêm informações semelhantes.

  • applications: uma lista de aplicativos implantados, não usados neste exemplo.

  • stack: o nome da pilha. MyStack neste exemplo.

  • instance: a instância em que esses atributos são instalados. php-app1 neste exemplo. As receitas podem usar esse atributo para conseguir informações sobre a instância em que está sendo executada, como o endereço IP público da instância.

  • activity: a atividade geradora dos atributos. Um evento Configure, neste exemplo.

  • rails_stack: a pilha Rails para pilhas que incluem uma camada Rails App Server.

  • deployment: se esses atributos são associados a uma implantação. Ele é definido como null para este exemplo, pois eles são associados a um evento Configurar.

  • valid_client_activities: uma lista de atividades de cliente válido.

O atributo opsworks é seguido por vários outros atributos de nível superior, incluindo os seguintes:

  • opsworks_custom_cookbooks: se os livros de receitas personalizados estão habilitados. Se esse for o caso, o atributo inclui uma lista de receitas personalizadas.

  • recipes: as receitas que foram executadas por essa atividade.

  • opsworks_rubygems— A RubyGems versão da instância.

  • ssh_users— Uma lista de SSH usuários; nenhum neste exemplo.

  • opsworks_bundler: a versão do bundler e se ela está habilitada.

  • deploy: informações sobre atividades de implantação. Nenhuma neste exemplo.

Atributos de implantação

Os atributos para um evento Implantar ou comando de pilha para executar receitas consistem na configuração da pilha integrada e nos atributos de implantação, além de quaisquer outros atributos personalizados de pilha ou implantação (nenhum para este exemplo). O JSON objeto a seguir mostra os atributos de php-app1 associados a um evento Deploy que implantou o PHP aplicativo Simple nas instâncias da pilha. PHP Grande parte do objeto consiste nos atributos de configuração da pilha que são semelhantes aos atributos para o evento Configurar descrito na seção anterior, assim, o exemplo tem o foco principal nos atributos específicos da implantação. Para uma descrição mais detalhada dos vários atributos, consulte Atributos de implantação e configuração de pilha: Linux e Atributos de livros de receitas integrados.

{ ... "opsworks": { ... "activity": "deploy", "applications": [ { "slug_name": "simplephp", "name": "SimplePHP", "application_type": "php" } ], "deployment": "5e6242d7-8111-40ee-bddb-00de064ab18f", ... }, ... { "ssh_users": { }, "deploy": { "simplephpapp": { "application": "simplephpapp", "application_type": "php", "environment_variables": { "USER_ID": "168424", "USER_KEY": "somepassword" }, "auto_bundle_on_deploy": true, "deploy_to": "/srv/www/simplephpapp", "deploying_user": "arn:aws:iam::123456789012:user/guysm", "document_root": null, "domains": [ "simplephpapp" ], "migrate": false, "mounted_at": null, "rails_env": null, "restart_command": "echo 'restarting app'", "sleep_before_restart": 0, "ssl_support": false, "ssl_certificate": null, "ssl_certificate_key": null, "ssl_certificate_ca": null, "scm": { "scm_type": "git", "repository": "git://github.com/amazonwebservices/opsworks-demo-php-simple-app.git", "revision": "version1", "ssh_key": null, "user": null, "password": null }, "symlink_before_migrate": { "config/opsworks.php": "opsworks.php" }, "symlinks": { }, "database": { }, "memcached": { "host": null, "port": 11211 }, "stack": { "needs_reload": false } } }, }

O atributo opsworks é idêntico ao exemplo na seção anterior. As seções a seguir são mais relevantes para a implantação:

  • activity: o evento associado a esses atributos. Neste exemplo, um evento Deploy.

  • applications: contém um conjunto de atributos para cada aplicativo que fornecem os nomes dos aplicativos, nomes slug e tipos.

    O nome do slug é o nome curto do aplicativo, que o AWS OpsWorks Stacks gera a partir do nome do aplicativo. O nome do slug para Simple PHP é simplephp.

  • deployment: o ID de implantação, que identifica unicamente uma implantação.

O atributo deploy inclui informações sobre os aplicativos que estão sendo implantados. Por exemplo, as receitas integradas de implantação usam os dados no atributo deploy para instalar arquivos nos diretórios adequados e criar arquivos com conexão nos bancos de dados. O atributo deploy inclui um atributo para cada aplicativo implantado, com o nome abreviado do aplicativo. Cada atributo do aplicativo inclui os seguintes atributos:

  • environment_variables: contém qualquer variável ambiental definida para o aplicativo. Para obter mais informações, consulte Variáveis de ambiente.

  • domains: por padrão, o domínio é o nome abreviado do aplicativo, que é simplephpapp para este exemplo. Se você tiver atribuído domínios personalizados, eles também aparecerão aqui. Para obter mais informações, consulte Usando domínios predefinidos.

  • application: o nome abreviado do aplicativo.

  • scm: esse elemento contém as informações necessárias para fazer download dos arquivos do aplicativo do repositório. Neste exemplo, um repositório Git.

  • database: informações do banco de dados, caso a pilha inclua uma camada de banco de dados.

  • document_root: a raiz do documento, que é definida como null neste exemplo, indicando que a raiz é pública.

  • ssl_certificate_ca,ssl_support, ssl_certificate_key — Indica se o aplicativo tem SSL suporte. Se esse for o caso, os atributos ssl_certificate_key e ssl_certificate_ca são definidos para certificados correspondentes.

  • deploy_to: o diretório raiz do aplicativo.