將 Amazon RDS 資料庫執行個體新增到您的 Node.js 應用程式環境 - AWS Elastic Beanstalk

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

將 Amazon RDS 資料庫執行個體新增到您的 Node.js 應用程式環境

您可以使用 Amazon Relational Database Service (Amazon RDS) 資料庫執行個體存放由應用程式收集與修改的資料。資料庫可與環境耦合並由 Elastic Beanstalk 管理,或者由另一項服務在外部分開建立與管理。本主題提供了使用 Elastic Beanstalk 主控台建立 Amazon RDS 的說明。資料庫將與環境耦合並由 Elastic Beanstalk 管理。如需將 Amazon RDS 與 Elastic Beanstalk 整合的相關詳細資訊,請參閱 將資料庫新增至您的 Elastic Beanstalk 環境

將資料庫執行個體新增到您的環境

欲將資料庫執行個體新增到您的環境
  1. 開啟 Elastic Beanstalk 主控台,然後在 Regions (區域) 清單中選取您的 AWS 區域。

  2. 在導覽窗格中,選擇 Environments (環境),然後在清單中選擇您環境的名稱。

    注意

    如果您有許多環境,請使用搜尋列來篩選環境清單。

  3. 在導覽窗格中,選擇 Configuration (組態)

  4. Database (資料庫) 組態類別中,選擇 Edit (編輯)

  5. 選擇資料庫引擎,並輸入使用者名稱和密碼。

  6. 若要儲存變更,請選擇頁面底部的儲存變更

新增資料庫執行個體約需要 10 分鐘。環境更新完成時,資料庫執行個體的主機名稱和其他連線資訊會透過下列環境屬性提供給您的應用程式:

屬性名稱 描述 屬性值

RDS_HOSTNAME

資料庫執行個體的主機名稱。

在 Amazon RDS 主控台:端點連線能力和安全性索引標籤上。

RDS_PORT

資料庫執行個體接受連線的連接埠。預設值在不同資料庫引擎中有所差異。

在 Amazon RDS 主控台:連接埠連線能力和安全性索引標籤上。

RDS_DB_NAME

資料庫名稱,ebdb

在 Amazon RDS 主控台:資料庫名稱組態索引標籤上。

RDS_USERNAME

您為資料庫設定的使用者名稱。

在 Amazon RDS 主控台:主要使用者名稱組態索引標籤上。

RDS_PASSWORD

您為資料庫設定的密碼。

無法在 Amazon RDS 主控台中提供參考。

如需設定與 Elastic Beanstalk 環境耦合之資料庫執行個體的相關詳細資訊,請參閱 將資料庫新增至您的 Elastic Beanstalk 環境

下載驅動程式

將資料庫驅動程式新增到您專案的 package.json 檔案dependencies 中。

範例 package.json – Express 搭配 MySQL
{ "name": "my-app", "version": "0.0.1", "private": true, "dependencies": { "ejs": "latest", "aws-sdk": "latest", "express": "latest", "body-parser": "latest", "mysql": "latest" }, "scripts": { "start": "node app.js" } }
適用於 Node.js 的常見驅動程式套件

連線至資料庫

Elastic Beanstalk 會在環境屬性中提供已連接的資料庫執行個體連線資訊。使用 process.env.VARIABLE 來讀取屬性和設定資料庫的連線。

範例 app.js – MySQL 資料庫連線
var mysql = require('mysql'); var connection = mysql.createConnection({ host : process.env.RDS_HOSTNAME, user : process.env.RDS_USERNAME, password : process.env.RDS_PASSWORD, port : process.env.RDS_PORT }); connection.connect(function(err) { if (err) { console.error('Database connection failed: ' + err.stack); return; } console.log('Connected to database.'); }); connection.end();

關於使用 node-mysql 來建構連線字串,詳細資訊請參閱 npmjs.org/package/mysql