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
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
Em pilhas no Linux, a lista completa desses atributos, formatada como um objeto JSON, pode ser acessada usando o agente comando get_json da CLI.
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 PHP App Server com duas instâncias
-
Uma camada HAProxy com uma instância
Os exemplos são de uma das instâncias PHP App Server, php-app1. Por conveniência, os atributos são formatados como um objeto JSON. A estrutura do objeto é mapeada para os nomes totalmente qualificados dos atributos. Por exemplo, o atributo node[:opsworks][:ruby_version]
aparece como se segue em uma representação JSON.
{ "opsworks": { ... "ruby_version": "1.8.7", ... } }
Configurar Atributos
O objeto JSON a seguir mostra os atributos para um evento Configurar, que ocorre em cada instância na pilha quando uma instância fica online ou off-line. Os atributos incluem os atributos de configuração da stack integrada e qualquer atributo personalizado de JSON que foram definidos para a pilha anterior ao evento (nenhuma 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
elb
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 elementoinstances
, 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 PHP App Server tem duas instâncias,
php-app1
ephp-app2
. 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 da instância e nome de DNS privado. 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 comonull
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 usuários SSH. 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 objeto JSON a seguir mostra os atributos de php-app1 que estão associados a um evento Implantar que implantou o aplicativo SimplePHP às instâncias PHP da pilha. 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 slug para SimplePHP é 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 ter 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 ter 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 comonull
neste exemplo, indicando que a raiz é pública. -
ssl_certificate_ca
,ssl_support
,ssl_certificate_key
: indica se o aplicativo tem suporte para SSL. Se esse for o caso, os atributosssl_certificate_key
essl_certificate_ca
são definidos para certificados correspondentes. -
deploy_to
: o diretório raiz do aplicativo.