

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á.

# Criação da sua primeira stack do Node.js
<a name="gettingstarted-node"></a>

**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](https://repost.aws/) ou por meio do Premium [AWS Support](https://aws.amazon.com/support).

Este exemplo descreve como criar uma stack do Linux que fornece suporte a um servidor de aplicativos do Node.js, e como implantar um aplicativo simples. A stack consiste nos seguintes componentes:
+ Uma [camada Node.js App Server](workinglayers-node.md) com duas instâncias
+ Um [balanceador de carga do Elastic Load Balancing](layers-elb.md) para distribuir o tráfego nas instâncias do servidor de aplicativos
+ Uma[ camada de serviço do Amazon Relational Database Service (Amazon RDS)](#gettingstarted-node-next) que fornece um banco de dados de back-end

**Topics**
+ [Pré-requisitos](#gettingstarted-node-start)
+ [Implementação do aplicativo](#gettingstarted-node-app)
+ [Criação do servidor de banco de dados e load balancer](#gettingstarted-node-create-db)
+ [Criação da stack](#gettingstarted-node-stack)
+ [Implantação do aplicativo](#gettingstarted-node-deploy)
+ [O que fazer em seguida?](#gettingstarted-node-next)

## Pré-requisitos
<a name="gettingstarted-node-start"></a>

Esta orientação detalhada assume o seguinte:
+ Você tem uma conta da AWS e uma compreensão básica de como usar o OpsWorks Stacks.

  Se você é novato no OpsWorks Stacks ou na AWS, aprenda o básico concluindo o tutorial introdutório em. [Conceitos básicos das pilhas Linux do Chef 11](gettingstarted.md)
+ Você tem um conhecimento básico de como implementar um aplicativo Node.js.

  Se você é um iniciante no uso do Node.js, aprenda os conceitos básicos com um tutorial introdutório como, por exemplo, o [Node: Up and Running](http://chimera.labs.oreilly.com/books/1234000001808/index.html).
+ Você já criou pelo menos uma stack na região da AWS que planeja usar para este exemplo.

  Quando você cria a primeira pilha em uma região, o OpsWorks Stacks cria um grupo de segurança do Amazon Elastic Compute Cloud (Amazon EC2) para cada tipo de camada. Você precisa desses grupos de segurança para criar a instância de banco de dados (DB – database) do Amazon RDS. Se você é iniciante no OpsWorks Stacks, recomendamos que use neste exemplo a mesma região que usou ao seguir o tutorial em[Conceitos básicos das pilhas Linux do Chef 11](gettingstarted.md). Se quiser usar uma região nova, crie uma stack nova na região; a stack não precisa ter layers ou instâncias. Assim que você cria a pilha, o OpsWorks Stacks adiciona automaticamente um conjunto de grupos de segurança à região. 
+ Você criará sua pilha em uma [VPC padrão](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html).

  Você pode usar EC2 -Classic para este passo a passo, mas alguns detalhes serão um pouco diferentes. Por exemplo, com EC2 -Classic, você especifica a zona de disponibilidade (AZ) de uma instância em vez de sua sub-rede.
+ Seu usuário do IAM tem permissões de acesso total ao OpsWorks Stacks.

  Por motivos de segurança, recomendamos que você não use as credenciais raiz da sua conta para esta orientação detalhada. Em vez disso, crie um usuário com permissões de acesso total ao OpsWorks Stacks e use essas credenciais com o Stacks. OpsWorks Para obter mais informações, consulte [Como criar um usuário administrativo do ](opsworks-security-users-manage-admin.md).

## Implementação do aplicativo
<a name="gettingstarted-node-app"></a>

Esta orientação detalhada usa um aplicativo simples do [Express](http://expressjs.com/) que se conecta à instância de banco de dados do Amazon RDS e lista os bancos de dados da instância. 

Para implementar o aplicativo, crie um diretório chamado `nodedb` em um local conveniente na sua estação de trabalho e adicione os três arquivos a seguir nesse diretório. 

**Topics**
+ [O descritor de pacote](#w2ab1c14c71b9c11c13b8)
+ [O arquivo de layout](#w2ab1c14c71b9c11c13c10)
+ [O arquivo de código](#w2ab1c14c71b9c11c13c12)

### O descritor de pacote
<a name="w2ab1c14c71b9c11c13b8"></a>

Para criar o descritor do pacote do aplicativo, adicione um arquivo chamado `package.json`no diretório `nodedb`, com o conteúdo descrito a seguir. O `package.json` é obrigatório para aplicativos do Express e deve estar localizado no diretório raiz do aplicativo. 

```
{
  "name": "Nodejs-DB",
  "description": "Node.js example application",
  "version": "0.0.1",
  "dependencies": {
    "express": "*",
    "ejs": "*",
    "mysql": "*"
  }
}
```

Este exemplo do `package.json` é bastante limitado. Ele define os atributos `name` e `version` necessários e lista os pacotes dependentes:
+ `express` faz referência ao pacote [Express](http://expressjs.com/).
+ `ejs` faz referência ao pacote [EJS](http://www.embeddedjs.com/), que o aplicativo usa para inserir texto em um arquivo de layout em HTML.
+ `mysql` faz referência ao pacote [node-mysql](https://github.com/felixge/node-mysql), que o aplicativo usa para se conectar à instância do RDS.

Para obter mais informações sobre arquivos de descritores de pacotes, consulte [package.json](https://docs.npmjs.com/cli/v9/configuring-npm/package-json). 

### O arquivo de layout
<a name="w2ab1c14c71b9c11c13c10"></a>

Para criar o arquivo de layout do aplicativo, adicione um diretório `views` ao diretório `nodedb` e, em seguida, adicione um arquivo ao `views` chamado `index.html` com o seguinte conteúdo:

```
<!DOCTYPE html>
<html>
<head>
  <title>AWS Opsworks Node.js Example</title>
</head>
<body>
  <h1>AWS OpsWorks Node.js Example</h1>
    <p>Amazon RDS Endpoint: <i><%= hostname %></i></p>
    <p>User: <i><%= username %></i></p>
    <p>Password: <i><%= password %></i></p>
    <p>Port: <i><%= port %></i></p>
    <p>Database: <i><%= database %></i></p>

    <p>Connection: <%= connectionerror %></p>
    <p>Databases: <%= databases %></p>
</body>
</html>
```

Neste exemplo, o arquivo de layout é um documento HTML simples que exibe alguns dados do Amazon RDS. Cada elemento `<%= ... =>` representa o valor de uma variável que é definida no arquivo de código do aplicativo, que criamos a seguir.

### O arquivo de código
<a name="w2ab1c14c71b9c11c13c12"></a>

Para criar o arquivo de código do aplicativo, adicione um arquivo `server.js` ao diretório `nodedb` com o seguinte conteúdo.

**Importante**  
Com o OpsWorks Stacks, o arquivo de código principal de um aplicativo Node.js deve ser nomeado `server.js` e estar localizado na pasta raiz do aplicativo. 

```
var express = require('express');
var mysql = require('mysql');
var dbconfig = require('opsworks'); //[1] Include database connection data
var app = express();
var outputString = "";

app.engine('html', require('ejs').renderFile);

//[2] Get database connection data
app.locals.hostname = dbconfig.db['host'];
app.locals.username = dbconfig.db['username'];
app.locals.password = dbconfig.db['password'];
app.locals.port = dbconfig.db['port'];
app.locals.database = dbconfig.db['database'];
app.locals.connectionerror = 'successful';
app.locals.databases = '';

//[3] Connect to the Amazon RDS instance
var connection = mysql.createConnection({
    host: dbconfig.db['host'],
    user: dbconfig.db['username'],
    password: dbconfig.db['password'],
    port: dbconfig.db['port'],
    database: dbconfig.db['database']
});

connection.connect(function(err)
{
    if (err) {
        app.locals.connectionerror = err.stack;
        return;
    }
});

// [4] Query the database
connection.query('SHOW DATABASES', function (err, results) {
    if (err) {
        app.locals.databases = err.stack;
    }
    
    if (results) {
        for (var i in results) {
            outputString = outputString + results[i].Database + ', ';
        }
        app.locals.databases = outputString.slice(0, outputString.length-2);
    }
});

connection.end();

app.get('/', function(req, res) {
    res.render('./index.html');
});

app.use(express.static('public'));

//[5] Listen for incoming requests
app.listen(process.env.PORT);
```

Esse exemplo exibe as informações de conexão do banco de dados, executa consultas no servidor de banco de dados e exibe os bancos de dados do servidor. Você pode facilmente generalizá-lo para obter a interação com o banco de dados, conforme necessário. As observações a seguir se referem aos comentários numerados no código anterior.

**[1] Incluir dados da conexão de banco de dados**  
Essa instrução `require` inclui os dados de conexão do banco de dados. Conforme descrito posteriormente, quando você anexa uma instância de banco de dados a um aplicativo, o OpsWorks Stacks coloca os dados da conexão em um arquivo chamado`opsworks.js`, que é semelhante ao seguinte:  

```
exports.db = {
  "host":"nodeexample.cdlqlk5uwd0k.us-west-2.rds.amazonaws.com",
  "database":"nodeexampledb",
  "port":3306,
  "username":"opsworksuser",
  "password":"your_pwd",
  "reconnect":true,
  "data_source_provider":"rds",
  "type":"mysql"}
```
`opsworks.js` está no diretório `shared/config` do aplicativo, `/srv/www/app_shortname/shared/config`. No entanto, o OpsWorks Stacks coloca um link simbólico `opsworks.js` no diretório raiz do aplicativo, para que você possa incluir o objeto usando apenas. `require 'opsworks'` 

**[2] Obter os dados da conexão de banco de dados**  
Esse conjunto de instruções exibe os dados da conexão do `opsworks.js`atribuindo os valores do objeto `db` a um conjunto de propriedades `app.locals`, sendo que cada uma delas é mapeada para um dos elementos <%= ... %> no arquivo `index.html`. O documento renderizado substitui os elementos <%= ... %> pelos valores da propriedade correspondente.

**[3] Conectar-se à instância do Amazon RDS**  
Este exemplo usa o `node-mysql` para acessar o banco de dados. Para se conectar ao banco de dados, o exemplo cria um objeto `connection` passando os dados da conexão ao `createConnection` e, em seguida, chamando o `connection.connect` para estabelecer a conexão.

**[4] Consultar o banco de dados**  
Após estabelecer uma conexão, o exemplo chama o `connection.query` para consultar o banco de dados. Esse exemplo executa uma consulta simples para obter os nomes dos bancos de dados do servidor. A `query` retorna uma matriz de objetos `results`, um para cada banco de dados, com o nome do banco de dados atribuído à propriedade `Database`. O exemplo concatena os nomes e os atribui ao `app.locals.databases,` que exibe a lista na página HTML renderizada.  
Nesse exemplo há cinco bancos de dados, o banco de dados `nodeexampledb`, que você especificou quando criou a instância do RDS e quatro outros que são criados automaticamente pelo Amazon RDS.

**[5] Escutar solicitações de entrada**  
A última instrução escuta as solicitações de entrada em uma porta especificada. Você não precisa especificar um valor explícito para a porta. Ao adicionar o aplicativo à sua pilha, você especifica se o aplicativo é compatível com solicitações HTTP ou HTTPS. OpsWorks Em seguida, as pilhas definem a variável de `PORT` ambiente como 80 (HTTP) ou 443 (HTTPS), e você pode usar essa variável em seu aplicativo.  
É possível escutar em outras portas, mas o grupo de segurança integrado da camada Node.js App Server, **AWS- OpsWorks -NodeJS-App-Server**, permite tráfego de entrada de usuários somente para as portas 80, 443 e 22 (SSH). Para permitir o tráfego de entrada de usuário em outras portas, [crie um grupo de segurança](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html) com regras de entrada apropriadas e [atribua-o à camada do Node.js App Server](workinglayers-basics-edit.md#workinglayers-basics-edit-security). Não modifique as regras de entrada editando o grupo de segurança integrado. Cada vez que você cria uma pilha, o OpsWorks Stacks substitui os grupos de segurança integrados pelas configurações padrão, portanto, todas as alterações feitas serão perdidas.

**nota**  
Você pode associar variáveis de ambiente personalizadas ao seu aplicativo quando [cria](workingapps-creating.md#workingapps-creating-environment) ou [atualiza](workingapps-editing.md) o aplicativo associado. Você também pode passar os dados para o seu aplicativo usando um JSON personalizado e uma receita personalizada. Para obter mais informações, consulte [Transmissão de dados para aplicativos](apps-data.md).

## Criação do servidor de banco de dados e load balancer
<a name="gettingstarted-node-create-db"></a>

Este exemplo usa o servidor de banco de dados do Amazon RDS e as instâncias de balanceador de carga do Elastic Load Balancing. Você deve criar cada instância separadamente e, em seguida, incorporá-la a sua stack. Esta seção descreve como criar novas instâncias de banco de dados e de load balancer. Você pode usar instâncias existentes, mas recomendamos que leia o procedimento até o fim para ter certeza que essas instâncias estão configuradas corretamente.

A seguir descrevemos como criar uma instância de banco de dados do RDS com o mínimo de configurações suficientes para este exemplo. Para obter mais informações, consulte o [Guia do usuário do Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html).

**Para criar a instância de banco de dados do RDS**

1. 

**Abra o console do .**

   Abra o [console do Amazon RDS](https://console.aws.amazon.com/rds/) e defina a região como Oeste dos EUA (Oregon). No painel de navegação, escolha **RDS Dashboard** e, em seguida, **Launch DB Instance**.

1. 

**Especifique o mecanismo de banco de dados.**

   Escolha **MySQL Community Edition** como o mecanismo de banco de dados.

1. 

**Recuse a implantação multi-AZ.**

   Escolha **No, this instance...** e, em seguida, **Next**. Você não precisa de implantação multi-AZ para este exemplo.

1. 

**Defina as configurações básicas.**

   Na página **DB Instance Details**, especifique as seguintes configurações:
   + **DB Instance Class**: **db.t2.micro**
   + **Multi-AZ Deployment**: **No**
   + **Allocated Storage (Armazenamento alocado)**: **5** GB
   + **DB Instance Identifier**: **nodeexample**
   + **Master Username (Nome do usuário mestre)**: **opsworksuser**
   + **Master Password**: uma senha de sua escolha

   Anote o identificador da instância, o nome de usuário e a senha para usar mais adiante, aceite as configurações padrão para as outras opções e, em seguida, escolha **Next**.

1. 

**Defina as configurações avançadas.**

   Na página **Configure Advanced Settings**, especifique as seguintes configurações:
   + **Nome do banco de dados**: **nodeexampledb**
   + **Grupo (s) de segurança de banco** de dados: **AWS- OpsWorks -DB-Master-Server**
**nota**  
O grupo de segurança **AWS- OpsWorks -DB-Master-Server** permite que somente as instâncias da sua pilha acessem o banco de dados. Se você deseja acessar o banco de dados diretamente, anexe um grupo de segurança adicional à instância de banco de dados do RDS com as regras de entrada apropriadas. Para obter mais informações, consulte [Grupos de segurança do Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.RDSSecurityGroups.html). Você também pode controlar o acesso colocando a instância em uma VPC. Para obter mais informações, consulte [Execução de uma Stack em uma VPC](workingstacks-vpc.md).

   Anote o nome do banco de dados para usar mais adiante, aceite os valores padrão para as outras configurações e, em seguida, escolha **Launch DB Instance**.

O procedimento a seguir descreve como criar um balanceador de carga do Elastic Load Balancing para este exemplo. Para obter mais informações, consulte o [Manual do usuário do Elastic Load Balancing](https://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/elastic-load-balancing.html).

**Para criar o load balancer**

1. 

**Abra o EC2 console da Amazon.**

   Abra o [ EC2 console da Amazon](https://console.aws.amazon.com/ec2/) e verifique se a região está definida como Oeste dos EUA (Oregon). No painel de navegação, escolha **Load Balancers**, **Create Load Balancer**.

1. 

**Defina o load balancer.**

   Na página **Define Load Balancer**, especifique as seguintes configurações:
   + **Nome**: **Node-LB**
   + **Criar LB dentro de**: **Minha VPC padrão**

   Aceite as configurações padrão para as outras opções e, em seguida, escolha **Next**.

1. 

**Atribua os grupos de segurança.**

   Na página **Assign Security Groups**, especifique os seguintes grupos: 
   + **default VPC security group**
   + **AWS- OpsWorks -NodeJS-App-Server**

   Escolha **Próximo**. Na página **Configure Security Settings**, selecione **Next**. Você não precisa de um ouvinte protegido para este exemplo.

1. 

**Configure a verificação de integridade.**

   Na página **Configure Health Check (Configurar verificação de integridade)**, defina **Ping Path (Caminho de ping)** como **/** e aceite os valores padrão para as outras configurações. Escolha **Próximo**. Na página **Adicionar EC2 instâncias**, escolha **Avançar**. Na página **Adicionar tags**, escolha **Revisar e criar**. OpsWorks O Stacks lida com a tarefa de adicionar EC2 instâncias ao balanceador de carga, e você não precisará de tags neste exemplo.

1. 

**Crie o load balancer.**

   Na página **Review**, escolha **Create** para criar o load balancer.

## Criação da stack
<a name="gettingstarted-node-stack"></a>

Você agora tem todos os componentes necessários para criar a stack.

**Para criar a pilha**

1. 

**Faça login no console OpsWorks Stacks.**

   Faça login no [console do OpsWorks Stacks](https://console.aws.amazon.com/opsworks/) e selecione **Add Stack (Adicionar pilha)**.

1. 

**Crie a pilha.**

   Para criar uma pilha nova, escolha **Chef 11 pilha** e, em seguida, especifique as seguintes configurações.
   +  – **NodeStack**
   + **Região**: **Oeste dos EUA (Oregon)**

     Você pode criar uma pilha em qualquer região da AWS, mas recomendamos o Oeste dos EUA (Oregon) para os tutoriais.

   Escolha **Add Stack**. Para obter mais informações sobre as definições de configuração de uma stack, consulte [Criar uma nova pilha](workingstacks-creating.md).

1. 

**Adicione uma camada do &node; com um balanceador de carga anexado.**

   Na **NodeStack**página, escolha **Adicionar uma camada** e, em seguida, especifique as seguintes configurações:
   + **Tipo de camada**: **Node.js App Server**
   + **Balanceador de carga elástico**: **Nó-LB**

   Aceite os valores padrão para as outras configurações e, em seguida, escolha **Add Layer**. 

1. 

**Adicione as instâncias à layer e as inicie.**

   No painel de navegação, escolha **Instances** e, em seguida, adicione duas instâncias à layer do Rails App Server, da seguinte forma.

   1. Em **Node.js App Server**, escolha **Adicionar instância**.

      Defina **Size** como **t2.micro**, aceite os valores padrão para as outras configurações e, em seguida, escolha **Add Instance**.

   1. Escolha **\$1Instance** e, em seguida, adicione uma segunda instância **t2.micro** à layer em uma sub-rede diferente.

      Isso coloca a instância em uma zona de disponibilidade (AZ) diferente.

   1. Escolha **Add instance**.

   1. Para iniciar ambas as instâncias, escolha **Start All Instances**.

   Você atribuiu um balanceador de carga do Elastic Load Balancing a essa camada. Quando uma instância entra ou sai do estado on-line, o OpsWorks Stacks registra ou cancela automaticamente o registro da instância com o balanceador de carga.
**nota**  
Para uma pilha de produção, recomendamos que você distribua suas instâncias do servidor de aplicativos em várias AZs. Se os usuários não conseguem se conectar a uma zona de disponibilidade, o load balancer direciona o tráfego de entrada para instâncias nas zonas restantes, e seu site continua a funcionar.

1. 

**Registre a instância de banco de dados do RDS na stack.**

   No painel de navegação, escolha **Resources** e registre a instância de banco de dados do RDS na pilha, da seguinte forma.

   1. Escolha a guia **RDS** e, em seguida, as instâncias de **Show Unregistered RDS DB**.

   1. Escolha a instância **nodeexampledb** e, em seguida, especifique as seguintes configurações:
      + **Usuário**: o nome de usuário mestre que você especificou quando criou a instância; para este exemplo. **opsworksuser**.
      + **Senha**: a senha mestre que você especificou quando criou a instância.

   1. Escolha **Registrar-se com Stack** para adicionar a instância de banco de dados do RDS à pilha como uma [camada de serviço do Amazon RDS](workinglayers-db-rds.md).
**Atenção**  
OpsWorks O Stacks não valida os valores do **usuário** ou da **senha**, ele simplesmente os passa para o aplicativo. Se você informá-los incorretamente, o aplicativo não conseguirá se conectar ao banco de dados.

   Para adicionar a instância de banco de dados do RDS à pilha como uma [camada de serviço do Amazon RDS](workinglayers-db-rds.md), escolha **Registrar-se com Stack**. 

## Implantação do aplicativo
<a name="gettingstarted-node-deploy"></a>

Você deve armazenar o aplicativo em um repositório remoto. Quando você o implanta, o OpsWorks Stacks implanta o código e os arquivos relacionados do repositório para as instâncias do servidor de aplicativos. Para sua conveniência, este exemplo usa um arquivamento público do Amazon Simple Storage Service (Amazon S3) como repositório, mas você também pode usar vários outros tipos de repositórios, incluindo o Git e o Subversion. Para obter mais informações, consulte [Origem do aplicativo](workingapps-creating.md#workingapps-creating-source).

**Como implantar o aplicativo**

1. 

**Empacote o aplicativo em um arquivo compactado.**

   Crie um arquivo compactado `.zip` chamado nodedb.zip contendo o diretório `nodedb` e seus subdiretórios. Você também pode usar outros tipos de arquivos compactados, incluindo gzip, bzip2 ou tarball. Observe que o OpsWorks Stacks não suporta arquivos tar não compactados. Para obter mais informações, consulte [Origem do aplicativo](workingapps-creating.md#workingapps-creating-source).

1. 

**Faça o upload do arquivo compactado para o Amazon S3.**

   Faça upload do `nodedb.zip` para um bucket do Amazon S3, defina o arquivo como público e copie o URL do arquivo para usar mais diante. Para obter mais informações sobre como criar buckets e fazer upload de arquivos, consulte [Comece a usar o Amazon Simple Storage Service](https://docs.aws.amazon.com/AmazonS3/latest/gsg/GetStartedWithS3.html).
**nota**  
OpsWorks As pilhas também podem implantar arquivos privados de um bucket do Amazon S3, mas, para simplificar, este exemplo usa um arquivo público. Para obter mais informações, consulte [Origem do aplicativo](workingapps-creating.md#workingapps-creating-source).

1. 

**Crie um aplicativo OpsWorks Stacks.**

   Volte ao console do OpsWorks Stacks, no painel de navegação, escolha **Aplicativos** e, em seguida, escolha **Adicionar um** aplicativo. Especifique as seguintes configurações:
   + **Name**: `NodeDB`.

     Essa string é o nome de exibição do aplicativo. Para a maioria dos propósitos, você precisa do nome curto do aplicativo, que o OpsWorks Stacks gera a partir do nome de exibição, transformando todos os caracteres em minúsculas e removendo a pontuação. Neste exemplo, o nome abreviado é `nodedb`. Para verificar o nome abreviado de um aplicativo, depois de criar o aplicativo, escolha o aplicativo na página **Apps** para exibir sua página de detalhes.
   + **Digite** – `Node.js`.
   + **Tipo de fonte de dados** – `RDS`.
   + **Database instance**: escolha a instância de banco de dados do Amazon RDS que você registrou anteriormente. 
   + **Database name** – Especifique o nome do banco de dados que você criou anteriormente, `nodeexampledb` neste exemplo.
   + **Tipo de repositório** – `Http Archive`.

     Você deve usar esse tipo de repositório para arquivos públicos do Amazon S3. O tipo `S3 Archive` é usado apenas para arquivos privados.
   + **URL do repositório**: o URL do Amazon S3 do arquivo compactado. 

   Use os valores padrão para as configurações restantes e clique em **Add App** para criar o aplicativo.

1. 

**Implante o aplicativo.**

   Acesse a página **Apps** e, na coluna **Actions** do aplicativo do NodeDB, escolha **deploy**. Em seguida, escolha **Implantar** para implantar o aplicativo nas instâncias do servidor. OpsWorks O Stacks executa as receitas do Deploy em cada instância, que baixa o aplicativo do repositório e reinicia o servidor. Quando cada instância tiver uma marca de verificação verde e o **Status** for **successful**, a implantação estará concluída e o aplicativo estará pronto para começar a lidar com as solicitações. 
**nota**  
Se a implantação falhar, escolha **show** na coluna **Log** para exibir o log do Chef para a implantação. As informações de erro ficam perto da parte inferior.

1. 

**Abra o aplicativo .**

   Para abrir o aplicativo, escolha **Layers**, escolha o load balancer e, em seguida, escolha o nome DNS do load balancer, que envia uma solicitação HTTP para o load balancer. Você deve ver algo parecido com o exemplo a seguir.  
![\[AWS OpsWorks Node.js example showing RDS endpoint, user credentials, and database details.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/node_walkthrough.png)

**nota**  
OpsWorks O Stacks implanta aplicativos automaticamente em novas instâncias durante a configuração. A implantação manual é necessária apenas para instâncias online. Para obter mais informações, consulte [Implementação de aplicativos](workingapps-deploying.md). Para ver uma discussão geral sobre a implantação, incluindo algumas estratégias mais sofisticadas de implantação, consulte [Gerenciamento e implementação de aplicativos e guias de procedimentos](best-deploy.md).

## O que fazer em seguida?
<a name="gettingstarted-node-next"></a>

**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](https://repost.aws/) ou por meio do Premium [AWS Support](https://aws.amazon.com/support).

Esta orientação detalhada apresentou as noções básicas da configuração de uma stack simples de servidor de aplicativos do Node.js. Aqui estão algumas sugestões sobre o que fazer a seguir.

**Examine os livros de receitas integrados do Node.js**  
Se você quiser saber como as instâncias são configuradas em detalhes, consulte o livro de receitas integrado da camada, [opsworks\$1nodejs](https://github.com/aws/opsworks-cookbooks/tree/release-chef-11.10/opsworks_nodejs), que contém as receitas e os arquivos relacionados que o OpsWorks Stacks usa para instalar e configurar o software, e o [livro de receitas integrado de implantação, que contém as receitas que o Stacks usa para implantar](https://github.com/aws/opsworks-cookbooks/tree/release-chef-11.10/deploy) os aplicativos. OpsWorks 

**Personalize a configuração do servidor**  
A stack do exemplo é bastante básica. Para usar na produção, você provavelmente vai precisar personalizar a stack. Para obter mais informações, consulte [Personalizando pilhas OpsWorks](customizing.md).

**Adicione o suporte a SSL**  
Você pode ativar o suporte SSL para seu aplicativo e fornecer aos OpsWorks Stacks os certificados apropriados ao criar o aplicativo. OpsWorks Em seguida, o Stacks instala os certificados no diretório apropriado. Para obter mais informações, consulte [Uso de SSL](workingsecurity-ssl.md).

**Adicione dados ao cache de memória**  
Os sites usados na produção muitas vezes melhoram seu desempenho armazenando dados em cache em um armazenamento de chave-valor na memória, como o Redis ou o Memcache. Você pode usar qualquer um com uma OpsWorks pilha de pilhas. Para obter mais informações, consulte [ElastiCache Redis](other-services-redis.md) e [Memcached](workinglayers-mem.md).

**Use uma estratégia de implantação mais sofisticada**  
O exemplo usou uma estratégia simples de implantação de aplicativos, que implanta a atualização em cada instância simultaneamente. Essa abordagem é simples e rápida, mas não há margem para erro. Se a implantação falhar ou a atualização tiver algum problema, cada instância em sua stack de produção pode ser afetada, interrompendo ou desativando potencialmente seu site até que você possa corrigir o problema. Para obter mais informações sobre as estratégias de implantação, consulte [Gerenciamento e implementação de aplicativos e guias de procedimentos](best-deploy.md).

**Estenda a camada do Node.js App Server**  
Você pode estender a layer de várias maneiras. Por exemplo, você pode implementar receitas para executar scripts em instâncias ou implementar hooks de implantação do Chef para personalizar a implantação de aplicativos. Para obter mais informações, consulte [Extensão de uma camada](workingcookbook-extend.md).

**Defina variáveis de ambiente**  
Você pode passar dados para o seu aplicativo definindo variáveis de ambiente para o aplicativo associado. Quando você implanta o aplicativo, o OpsWorks Stacks exporta essas variáveis para que você possa acessá-las do seu aplicativo. Para obter mais informações, consulte [Usar variáveis de ambiente do](apps-environment-vars.md).