

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Membuat Stack Node.js Pertama Anda
<a name="gettingstarted-node"></a>

**penting**  
 AWS OpsWorks Stacks Layanan ini mencapai akhir masa pakai pada 26 Mei 2024 dan telah dinonaktifkan untuk pelanggan baru dan yang sudah ada. Kami sangat menyarankan pelanggan untuk memindahkan beban kerja mereka ke solusi lain sesegera mungkin. Jika Anda memiliki pertanyaan tentang migrasi, hubungi AWS Dukungan Tim di [AWS re:Post](https://repost.aws/) atau melalui [AWS Dukungan](https://aws.amazon.com/support) Premium.

Contoh ini menjelaskan cara membuat tumpukan Linux yang mendukung server aplikasi Node.js dan cara menyebarkan aplikasi sederhana. Tumpukan terdiri dari komponen-komponen berikut:
+ [Lapisan Server Aplikasi Node.js](workinglayers-node.md) dengan dua instance
+ [Penyeimbang beban Elastic Load Balancing](layers-elb.md) untuk mendistribusikan lalu lintas ke instance server aplikasi
+ Lapisan layanan [Amazon Relational Database Service (Amazon RDS)](#gettingstarted-node-next) yang menyediakan basis data backend

**Topics**
+ [Prasyarat](#gettingstarted-node-start)
+ [Menerapkan Aplikasi](#gettingstarted-node-app)
+ [Membuat Server Database dan Load Balancer](#gettingstarted-node-create-db)
+ [Membuat Stack](#gettingstarted-node-stack)
+ [Menyebarkan Aplikasi](#gettingstarted-node-deploy)
+ [Apa Selanjutnya?](#gettingstarted-node-next)

## Prasyarat
<a name="gettingstarted-node-start"></a>

Panduan ini mengasumsikan hal berikut:
+ Anda memiliki akun AWS dan pemahaman dasar tentang cara menggunakan OpsWorks Stacks.

  Jika Anda baru mengenal OpsWorks Stacks atau AWS, pelajari dasar-dasarnya dengan menyelesaikan tutorial pengantar di. [Memulai dengan Chef 11 Linux Stacks](gettingstarted.md)
+ Anda memiliki pemahaman dasar tentang bagaimana menerapkan aplikasi Node.js.

  Jika Anda baru mengenal Node.js, pelajari dasar-dasarnya dengan menyelesaikan tutorial pengantar, seperti [Node: Up and Running](http://chimera.labs.oreilly.com/books/1234000001808/index.html).
+ Anda telah membuat setidaknya satu tumpukan di wilayah AWS yang akan Anda gunakan untuk contoh ini.

  Saat Anda membuat tumpukan pertama di suatu wilayah, OpsWorks Stacks membuat grup keamanan Amazon Elastic Compute Cloud EC2 (Amazon) untuk setiap jenis lapisan. Anda memerlukan grup keamanan ini untuk membuat instance Amazon RDS database (DB). Jika Anda baru mengenal OpsWorks Stacks, kami sarankan Anda menggunakan wilayah yang sama untuk contoh ini yang Anda lakukan ketika Anda mengikuti tutorial di[Memulai dengan Chef 11 Linux Stacks](gettingstarted.md). Jika Anda ingin menggunakan wilayah baru, buat tumpukan baru di wilayah tersebut; tumpukan tidak perlu memiliki lapisan atau instance. Segera setelah Anda membuat tumpukan, OpsWorks Stacks secara otomatis menambahkan satu set grup keamanan ke wilayah tersebut. 
+ Anda akan membuat tumpukan Anda di [VPC default](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html).

  Anda dapat menggunakan EC2 -Classic untuk panduan ini, tetapi beberapa detailnya akan sedikit berbeda. Misalnya, dengan EC2 -Classic, Anda menentukan Availability Zone (AZ) instance, bukan subnetnya.
+ Pengguna IAM Anda memiliki izin akses penuh untuk Stacks. OpsWorks 

  Untuk alasan keamanan, kami sangat menyarankan agar Anda tidak menggunakan kredensi root akun Anda untuk panduan ini. Sebagai gantinya, buat pengguna dengan izin akses penuh OpsWorks Stacks dan gunakan kredensil tersebut dengan Stacks. OpsWorks Untuk informasi selengkapnya, lihat [Membuat Pengguna Administratif](opsworks-security-users-manage-admin.md).

## Menerapkan Aplikasi
<a name="gettingstarted-node-app"></a>

Panduan ini menggunakan aplikasi [Express](http://expressjs.com/) sederhana yang terhubung ke instans Amazon RDS DB dan mencantumkan database instans. 

Untuk mengimplementasikan aplikasi, buat direktori bernama `nodedb` di lokasi yang nyaman di workstation Anda dan tambahkan tiga file berikut ke dalamnya. 

**Topics**
+ [Deskriptor Package](#w2ab1c14c71b9c11c13b8)
+ [File Tata Letak](#w2ab1c14c71b9c11c13c10)
+ [File Kode](#w2ab1c14c71b9c11c13c12)

### Deskriptor Package
<a name="w2ab1c14c71b9c11c13b8"></a>

Untuk membuat deskriptor paket aplikasi, tambahkan file bernama `package.json` dengan konten berikut ke `nodedb` direktori. `package.json`diperlukan untuk aplikasi Express dan harus ditempatkan di direktori root aplikasi. 

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

`package.json`Contoh ini cukup minim. Ini mendefinisikan diperlukan `name` dan `version` atribut dan daftar paket dependen:
+ `express`referensi paket [Express](http://expressjs.com/).
+ `ejs`referensi paket [EJS](http://www.embeddedjs.com/), yang digunakan aplikasi untuk menyisipkan teks ke dalam file tata letak HTML.
+ `mysql`referensi paket [node-mysql](https://github.com/felixge/node-mysql), yang digunakan aplikasi untuk terhubung ke instance RDS.

Untuk informasi selengkapnya tentang file deskriptor paket, lihat [package.json](https://docs.npmjs.com/cli/v9/configuring-npm/package-json). 

### File Tata Letak
<a name="w2ab1c14c71b9c11c13c10"></a>

Untuk membuat file tata letak aplikasi, tambahkan `views` direktori ke `nodedb` direktori, lalu tambahkan file yang `views` diberi nama `index.html` dengan konten berikut:

```
<!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>
```

Untuk contoh ini, file tata letak adalah dokumen HTML sederhana yang menampilkan beberapa data dari Amazon RDS. Setiap `<%= ... =>` elemen mewakili nilai variabel yang didefinisikan dalam file kode aplikasi, yang kita buat selanjutnya.

### File Kode
<a name="w2ab1c14c71b9c11c13c12"></a>

Untuk membuat file kode aplikasi, tambahkan `server.js` file ke `nodedb` direktori dengan konten berikut.

**penting**  
Dengan OpsWorks Stacks, file kode utama aplikasi Node.js harus diberi nama `server.js` dan ditempatkan di folder root aplikasi. 

```
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);
```

Contoh ini menampilkan informasi koneksi database dan juga query server database dan menampilkan database server. Anda dapat dengan mudah menggeneralisasikannya untuk berinteraksi dengan database sesuai kebutuhan. Catatan berikut mengacu pada komentar bernomor dalam kode sebelumnya.

**[1] Sertakan data koneksi database**  
`require`Pernyataan ini mencakup data koneksi database. Seperti yang dijelaskan nanti, saat Anda melampirkan instance database ke aplikasi, OpsWorks Stacks menempatkan data koneksi dalam file bernama`opsworks.js`, yang terlihat mirip dengan berikut ini:  

```
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`ada di `shared/config` direktori aplikasi,`/srv/www/app_shortname/shared/config`. Namun, OpsWorks Stacks menempatkan symlink ke `opsworks.js` dalam direktori root aplikasi, sehingga Anda dapat menyertakan objek dengan hanya menggunakan. `require 'opsworks'` 

**[2] Dapatkan data koneksi database**  
Kumpulan pernyataan ini menampilkan data koneksi dari `opsworks.js` dengan menetapkan nilai dari `db` objek ke satu set `app.locals` properti, yang masing-masing memetakan ke salah satu elemen <%=... %> dalam file. `index.html` Dokumen yang dirender menggantikan elemen <%=... %> dengan nilai properti yang sesuai.

**[3] Hubungkan ke instans Amazon RDS**  
Contoh ini digunakan `node-mysql` untuk mengakses database. Untuk terhubung ke database, contoh membuat `connection` objek dengan meneruskan data koneksi ke`createConnection`, dan kemudian memanggil `connection.connect` untuk membuat koneksi.

**[4] Kueri database**  
Setelah membuat koneksi, contoh panggilan `connection.query` untuk query database. Contoh ini hanya query untuk nama database server. `query`mengembalikan array `results` objek, satu untuk setiap database, dengan nama database ditugaskan ke `Database` properti. Contoh menggabungkan nama dan menetapkannya yang menampilkan daftar di halaman `app.locals.databases,` HTML yang dirender.  
Untuk contoh ini, ada lima database, `nodeexampledb` database yang Anda tentukan ketika Anda membuat instance RDS dan empat lainnya yang secara otomatis dibuat oleh Amazon RDS.

**[5] Dengarkan permintaan yang masuk**  
Pernyataan akhir mendengarkan permintaan masuk pada port tertentu. Anda tidak perlu menentukan nilai port eksplisit. Saat menambahkan aplikasi ke tumpukan, Anda menentukan apakah aplikasi mendukung permintaan HTTP atau HTTPS. OpsWorks Stacks kemudian menetapkan variabel `PORT` lingkungan ke 80 (HTTP) atau 443 (HTTPS), dan Anda dapat menggunakan variabel itu dalam aplikasi Anda.  
Dimungkinkan untuk mendengarkan di port lain, tetapi grup keamanan bawaan lapisan Node.js App Server, **AWS- OpsWorks -NodeJS-App-Server**, memungkinkan lalu lintas pengguna masuk hanya ke port 80, 443, dan 22 (SSH). Untuk mengizinkan lalu lintas pengguna masuk ke port lain, [buat grup keamanan](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html) dengan aturan masuk yang sesuai dan [tetapkan ke lapisan Server Aplikasi Node.js](workinglayers-basics-edit.md#workinglayers-basics-edit-security). Jangan mengubah aturan masuk dengan mengedit grup keamanan bawaan. Setiap kali Anda membuat tumpukan, OpsWorks Stacks menimpa grup keamanan bawaan dengan pengaturan standar, sehingga setiap perubahan yang Anda buat akan hilang.

**catatan**  
Anda dapat mengaitkan variabel lingkungan kustom dengan aplikasi Anda saat [membuat](workingapps-creating.md#workingapps-creating-environment) atau [memperbarui](workingapps-editing.md) aplikasi terkait. Anda juga dapat meneruskan data ke aplikasi Anda dengan menggunakan JSON khusus dan resep khusus. Untuk informasi selengkapnya, lihat [Melewati Data ke Aplikasi](apps-data.md).

## Membuat Server Database dan Load Balancer
<a name="gettingstarted-node-create-db"></a>

Contoh ini menggunakan server database Amazon RDS dan instance penyeimbang beban Elastic Load Balancing. Anda harus membuat setiap instance secara terpisah dan kemudian memasukkannya ke dalam tumpukan Anda. Bagian ini menjelaskan cara membuat database baru dan instance penyeimbang beban. Sebagai gantinya, Anda dapat menggunakan instance yang ada, tetapi kami menyarankan Anda membaca prosedur untuk memastikan bahwa instance tersebut dikonfigurasi dengan benar.

Berikut ini menjelaskan cara membuat instance RDS DB yang dikonfigurasi minimal yang cukup untuk contoh ini. Untuk informasi selengkapnya, lihat [Panduan Pengguna Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html).

**Untuk membuat instance RDS DB**

1. 

**Buka konsol .**

   Buka [konsol Amazon RDS,](https://console.aws.amazon.com/rds/) dan atur wilayahnya ke US West (Oregon). Di panel navigasi, pilih **Dasbor RDS**, lalu pilih **Luncurkan Instans DB**.

1. 

**Tentukan mesin database.**

   Pilih **MySQL Community** Edition sebagai mesin database.

1. 

**Tolak penerapan Multi-AZ.**

   Pilih **Tidak, contoh ini...** , dan kemudian pilih **Berikutnya**. Anda tidak memerlukan penerapan Multi-AZ untuk contoh ini.

1. 

**Konfigurasikan pengaturan dasar.**

   Pada halaman **Detail Instans DB**, tentukan pengaturan berikut:
   + **Kelas Instans DB**: **db.t2.micro**
   + **Penerapan Multi-AZ****: Tidak**
   + **Penyimpanan yang Dialokasikan**: GB **5**
   + **Pengidentifikasi Instans DB**: **nodeexample**
   + **Nama Pengguna Master**: **opsworksuser**
   + **Master Password**: Kata sandi pilihan Anda

   Rekam pengenal instans, nama pengguna, dan kata sandi untuk digunakan nanti, terima pengaturan default untuk opsi lain, lalu pilih **Berikutnya**.

1. 

**Konfigurasikan pengaturan lanjutan.**

   Pada halaman **Konfigurasi Pengaturan Lanjut**, tentukan pengaturan berikut:
   + **Nama Database**: **nodeexampledb**
   + **Grup Keamanan DB: AWS- OpsWorks** **-DB-Master-Server**
**catatan**  
Grup keamanan **AWS- OpsWorks -DB-Master-Server** hanya mengizinkan instans tumpukan Anda untuk mengakses database. Jika Anda ingin mengakses database secara langsung, lampirkan grup keamanan tambahan ke instans RDS DB dengan aturan masuk yang sesuai. Untuk informasi selengkapnya, lihat [Grup Keamanan Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.RDSSecurityGroups.html). Anda juga dapat mengontrol akses dengan meletakkan instance di VPC. Untuk informasi selengkapnya, lihat [Menjalankan Stack di VPC](workingstacks-vpc.md).

   Rekam nama database untuk digunakan nanti, terima nilai default untuk pengaturan lain, lalu pilih **Luncurkan Instans DB**.

Prosedur berikut menjelaskan cara membuat penyeimbang beban Elastic Load Balancing untuk contoh ini. Untuk informasi selengkapnya, silakan lihat [Panduan Pengguna Penyeimbang Beban Elastis](https://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/elastic-load-balancing.html).

**Untuk membuat penyeimbang beban**

1. 

**Buka EC2 konsol Amazon.**

   Buka [ EC2 konsol Amazon](https://console.aws.amazon.com/ec2/) dan pastikan wilayah tersebut diatur ke US West (Oregon). Di panel navigasi, pilih **Load Balancers**, lalu pilih Create Load **Balancer**.

1. 

**Tentukan penyeimbang beban.**

   Pada halaman **Define Load Balancer**, tentukan pengaturan berikut.
   + **Nama** – **Node-LB**
   + **Buat LB Di Dalam** - VPC **Default Saya**

   Terima pengaturan default untuk opsi lain, lalu pilih **Berikutnya**.

1. 

**Tetapkan grup keamanan.**

   Pada halaman **Tetapkan Grup Keamanan**, tentukan grup berikut: 
   + **grup keamanan VPC default**
   + **AWS- OpsWorks -NodeJS-App-Server**

   Pilih **Berikutnya**. Pada halaman **Konfigurasi Pengaturan Keamanan**, pilih **Berikutnya**. Anda tidak memerlukan pendengar yang aman untuk contoh ini.

1. 

**Konfigurasikan pemeriksaan kesehatan.**

   Pada halaman **Configure Health Check**, atur **Ping Path** ke **/** dan terima nilai default untuk pengaturan lainnya. Pilih **Berikutnya**. Pada halaman **Tambah EC2 Instans**, pilih **Berikutnya**. Pada halaman **Tambahkan Tag**, pilih **Tinjau dan Buat**. OpsWorks Stacks menangani tugas menambahkan EC2 instance ke penyeimbang beban, dan Anda tidak memerlukan tag untuk contoh ini.

1. 

**Buat penyeimbang beban.**

   Pada halaman **Review**, pilih **Create** to create the load balancer.

## Membuat Stack
<a name="gettingstarted-node-stack"></a>

Anda sekarang memiliki semua komponen yang diperlukan untuk membuat tumpukan.

**Untuk membuat tumpukan**

1. 

**Masuk ke konsol OpsWorks Stacks.**

   Masuk ke [konsol OpsWorks Stacks](https://console.aws.amazon.com/opsworks/), dan pilih **Add Stack**.

1. 

**Buat tumpukan.**

   Untuk membuat tumpukan baru, pilih **tumpukan Chef 11**, lalu tentukan pengaturan berikut.
   +  – **NodeStack**
   + **Wilayah** - **AS Barat (Oregon**)

     Anda dapat membuat tumpukan di wilayah AWS mana pun, tetapi kami merekomendasikan US West (Oregon) untuk tutorial.

   Pilih **Tambahkan Tumpukan**. Untuk informasi selengkapnya tentang pengaturan konfigurasi tumpukan, lihat[Buat Stack Baru](workingstacks-creating.md).

1. 

**Tambahkan layer Server Aplikasi Node.js dengan penyeimbang beban terlampir.**

   Pada **NodeStack**halaman, pilih **Tambahkan lapisan**, lalu tentukan pengaturan berikut:
   + **Jenis lapisan** - **Server Aplikasi Node.js**
   + **Elastic Load Balancer** **— Node-LB**

   Terima nilai default untuk pengaturan lainnya, lalu pilih **Tambah Lapisan**. 

1. 

**Tambahkan instance ke layer dan mulai.**

   Di panel navigasi, pilih **Instans**, lalu tambahkan dua instance ke layer Rails App Server, sebagai berikut.

   1. Di bawah **Node.js App Server**, pilih **Tambahkan instance**.

      Atur **Ukuran** ke **t2.micro**, terima nilai default untuk pengaturan lainnya, lalu pilih **Tambahkan** Instance.

   1. Pilih **\$1Instance**, dan kemudian tambahkan instance **t2.micro** kedua ke layer di subnet yang berbeda.

      Ini menempatkan instance di Availability Zone (AZ) yang berbeda.

   1. Pilih **Tambahkan contoh**.

   1. Untuk memulai kedua instance, pilih **Mulai Semua Instans**.

   Anda telah menetapkan penyeimbang beban Elastic Load Balancing ke layer ini. Ketika sebuah instance memasuki atau meninggalkan status online, OpsWorks Stacks secara otomatis mendaftarkan atau membatalkan pendaftaran instance dengan penyeimbang beban.
**catatan**  
Untuk tumpukan produksi, sebaiknya Anda mendistribusikan instance server aplikasi Anda di beberapa AZs. Jika pengguna tidak dapat terhubung ke AZ, penyeimbang beban merutekan lalu lintas masuk ke instans di zona yang tersisa, dan situs Anda akan terus berfungsi.

1. 

**Daftarkan instans RDS DB dengan tumpukan.**

   Di panel navigasi, pilih **Resources** dan daftarkan instans RDS DB dengan tumpukan, sebagai berikut.

   1. Pilih tab **RDS**, lalu pilih **Tampilkan instans DB RDS Tidak Terdaftar**.

   1. Pilih instance **nodeexampledb**, lalu tentukan pengaturan berikut:
      + **User** - Nama pengguna master yang Anda tentukan saat Anda membuat instance; untuk contoh ini. **opsworksuser**.
      + **Kata sandi** — Kata sandi utama yang Anda tentukan saat Anda membuat instance.

   1. Pilih **Daftar dengan Stack** untuk menambahkan instans RDS DB ke tumpukan sebagai lapisan [layanan Amazon RDS](workinglayers-db-rds.md).
**Awas**  
OpsWorks Tumpukan tidak memvalidasi nilai **Pengguna** atau **Kata Sandi**, itu hanya meneruskannya ke aplikasi. Jika Anda salah memasukkannya, aplikasi Anda tidak dapat terhubung ke database.

   Untuk menambahkan instans RDS DB ke tumpukan sebagai [lapisan layanan Amazon RDS](workinglayers-db-rds.md), pilih **Register with** Stack. 

## Menyebarkan Aplikasi
<a name="gettingstarted-node-deploy"></a>

Anda harus menyimpan aplikasi di repositori jarak jauh. Saat Anda menerapkannya, OpsWorks Stacks menyebarkan kode dan file terkait dari repositori ke instance server aplikasi. Untuk kenyamanan, contoh ini menggunakan arsip Publik Amazon Simple Storage Service (Amazon S3) sebagai repositori, tetapi Anda juga dapat menggunakan beberapa jenis repositori lainnya, termasuk Git dan Subversion. Untuk informasi selengkapnya, lihat [Sumber Aplikasi](workingapps-creating.md#workingapps-creating-source).

**Untuk menyebarkan aplikasi**

1. 

**Package aplikasi dalam file arsip.**

   Buat `.zip` arsip `nodedb` direktori dan subdirektori bernama nodedb.zip. Anda juga dapat menggunakan jenis file arsip lainnya, termasuk gzip, bzip2, dan tarball. Perhatikan bahwa OpsWorks Stacks tidak mendukung tarball yang tidak terkompresi. Untuk informasi selengkapnya, lihat [Sumber Aplikasi](workingapps-creating.md#workingapps-creating-source).

1. 

**Unggah file arsip ke Amazon S3.**

   Unggah `nodedb.zip` ke bucket Amazon S3, buat file publik, dan salin URL file untuk digunakan nanti. Untuk informasi selengkapnya tentang cara membuat bucket dan mengunggah file, buka [Memulai Dengan Amazon Simple Storage Service](https://docs.aws.amazon.com/AmazonS3/latest/gsg/GetStartedWithS3.html).
**catatan**  
OpsWorks Tumpukan juga dapat menyebarkan file pribadi dari bucket Amazon S3, tetapi untuk kesederhanaan, contoh ini menggunakan file publik. Untuk informasi selengkapnya, lihat [Sumber Aplikasi](workingapps-creating.md#workingapps-creating-source).

1. 

**Buat aplikasi OpsWorks Stacks.**

   Kembali ke konsol OpsWorks Stacks, di panel navigasi, pilih **Aplikasi**, lalu pilih **Tambahkan aplikasi**. Tentukan pengaturan berikut:
   + **Nama** – `NodeDB`.

     String ini adalah nama tampilan aplikasi. Untuk sebagian besar tujuan, Anda memerlukan nama pendek aplikasi, yang dihasilkan OpsWorks Stacks dari nama tampilan dengan mengubah semua karakter menjadi huruf kecil dan menghapus tanda baca. Untuk contoh ini, nama pendeknya adalah`nodedb`. Untuk memverifikasi nama pendek aplikasi, setelah membuat aplikasi, pilih aplikasi di halaman **Aplikasi** untuk menampilkan halaman detailnya.
   + **Jenis** —`Node.js`.
   + **Jenis sumber data** —`RDS`.
   + **Instans database — Pilih instans** Amazon RDS DB yang Anda daftarkan sebelumnya. 
   + **Nama database** - Tentukan nama database yang Anda buat sebelumnya, `nodeexampledb` untuk contoh ini.
   + **Jenis repositori** —. `Http Archive`

     Anda harus menggunakan jenis repositori ini untuk file Amazon S3 publik. `S3 Archive`Jenis ini hanya digunakan untuk arsip pribadi.
   + URL **Repositori - URL** Amazon S3 file arsip.

   Gunakan nilai default untuk setelan yang tersisa, lalu klik **Tambah Aplikasi** untuk membuat aplikasi.

1. 

**Terapkan aplikasi.**

   **Buka halaman **Apps**, dan di kolom **Actions** aplikasi NodeDB, pilih deploy.** Kemudian pilih **Deploy** untuk menyebarkan aplikasi ke instance server. OpsWorks Stacks menjalankan resep Deploy pada setiap instance, yang mengunduh aplikasi dari repositori dan memulai ulang server. Ketika setiap instance memiliki tanda centang hijau dan **Status** **berhasil**, penerapan selesai dan aplikasi siap untuk mulai menangani permintaan. 
**catatan**  
Jika penerapan gagal, pilih **tampilkan** di kolom **Log** untuk menampilkan log Chef penerapan. Informasi kesalahan berada di dekat bagian bawah.

1. 

**Buka aplikasi .**

   Untuk membuka aplikasi, pilih **Layers**, pilih load balancer, dan kemudian pilih nama DNS load balancer, yang mengirimkan permintaan HTTP ke load balancer. Anda harus melihat sesuatu seperti berikut ini.  
![\[AWS OpsWorks Node.js example showing RDS endpoint, user credentials, and database details.\]](http://docs.aws.amazon.com/id_id/opsworks/latest/userguide/images/node_walkthrough.png)

**catatan**  
OpsWorks Stacks secara otomatis menyebarkan aplikasi ke instance baru selama penyiapan. Penyebaran manual hanya diperlukan untuk instance online. Untuk informasi selengkapnya, lihat [Menerapkan Aplikasi](workingapps-deploying.md). Untuk diskusi umum tentang penyebaran, termasuk beberapa strategi penyebaran yang lebih canggih, lihat. [Mengelola dan Menyebarkan Aplikasi dan Buku Masak](best-deploy.md)

## Apa Selanjutnya?
<a name="gettingstarted-node-next"></a>

**penting**  
 AWS OpsWorks Stacks Layanan ini mencapai akhir masa pakai pada 26 Mei 2024 dan telah dinonaktifkan untuk pelanggan baru dan yang sudah ada. Kami sangat menyarankan pelanggan untuk memindahkan beban kerja mereka ke solusi lain sesegera mungkin. Jika Anda memiliki pertanyaan tentang migrasi, hubungi AWS Dukungan Tim di [AWS re:Post](https://repost.aws/) atau melalui [AWS Dukungan](https://aws.amazon.com/support) Premium.

Panduan ini membawa Anda melalui dasar-dasar pengaturan tumpukan server aplikasi Node.js sederhana. Berikut adalah beberapa saran untuk apa yang harus dilakukan selanjutnya.

**Periksa buku masak bawaan Node.js**  
Jika Anda ingin mengetahui bagaimana instance dikonfigurasi secara detail, lihat buku masak bawaan lapisan, [opsworks\$1nodejs](https://github.com/aws/opsworks-cookbooks/tree/release-chef-11.10/opsworks_nodejs), yang berisi resep dan file terkait yang digunakan OpsWorks Stacks untuk menginstal dan mengonfigurasi perangkat lunak, dan [buku masak penerapan bawaan, yang berisi resep yang digunakan Stacks untuk menyebarkan](https://github.com/aws/opsworks-cookbooks/tree/release-chef-11.10/deploy) aplikasi. OpsWorks 

**Sesuaikan konfigurasi server**  
Contoh tumpukan cukup mendasar. Untuk penggunaan produksi, Anda mungkin ingin menyesuaikan tumpukan. Untuk informasi selengkapnya, lihat [Menyesuaikan Tumpukan OpsWorks](customizing.md).

**Tambahkan dukungan SSL**  
Anda dapat mengaktifkan dukungan SSL untuk aplikasi Anda dan memberikan OpsWorks Stacks dengan sertifikat yang sesuai saat Anda membuat aplikasi. OpsWorks Tumpukan kemudian menginstal sertifikat di direktori yang sesuai. Untuk informasi selengkapnya, lihat [Menggunakan SSL](workingsecurity-ssl.md).

**Tambahkan cache data dalam memori**  
Situs tingkat produksi sering meningkatkan kinerja dengan menyimpan data dalam penyimpanan nilai kunci dalam memori, seperti Redis atau Memcache. Anda dapat menggunakan keduanya dengan tumpukan OpsWorks Stacks. Untuk informasi selengkapnya, lihat [ElastiCache Redis](other-services-redis.md) dan [Memcached](workinglayers-mem.md).

**Gunakan strategi penyebaran yang lebih canggih**  
Contoh ini menggunakan strategi penerapan aplikasi sederhana, yang menerapkan pembaruan ke setiap instance secara bersamaan. Pendekatan ini sederhana dan cepat, tetapi tidak ada margin untuk kesalahan. Jika penerapan gagal atau pembaruan memiliki masalah, setiap instance di tumpukan produksi Anda dapat terpengaruh, berpotensi mengganggu atau menonaktifkan situs Anda hingga Anda dapat memperbaiki masalah. Untuk informasi selengkapnya tentang strategi penerapan, lihat[Mengelola dan Menyebarkan Aplikasi dan Buku Masak](best-deploy.md).

**Memperluas lapisan Server Aplikasi Node.js**  
Anda dapat memperluas lapisan dengan berbagai cara. Misalnya, Anda dapat menerapkan resep untuk menjalankan skrip pada instance atau mengimplementasikan kait penerapan Chef untuk menyesuaikan penerapan aplikasi. Untuk informasi selengkapnya, lihat [Memperluas Layer](workingcookbook-extend.md).

**Tentukan variabel lingkungan**  
Anda dapat meneruskan data ke aplikasi Anda dengan menentukan variabel lingkungan untuk aplikasi terkait. Saat menerapkan aplikasi, OpsWorks Stacks akan mengekspor variabel tersebut sehingga Anda dapat mengaksesnya dari aplikasi. Untuk informasi selengkapnya, lihat [Menggunakan Variabel Lingkungan](apps-environment-vars.md).