

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

# 將 Lightsail LAMP 執行個體連線至 Aurora 資料庫
<a name="amazon-lightsail-connect-lamp-instance-to-aurora-database"></a>

文章、網頁和使用者等應用程式資料存放在 MariaDB 資料庫，而該資料庫在 Amazon Lightsail 中您的 LAMP 執行個體上執行。如果執行個體發生故障，這些資料可能會無法復原。為避免這種情況，您應該將應用程式資料轉移至 MySQL 受管資料庫。

Amazon Aurora 是針對雲端建置的 MySQL 和 PostgreSQL 相容關聯式資料庫。它將傳統企業資料庫的效能和可用性與開源資料庫的簡易性和有效性相結合。Aurora 是作為 Amazon Relational Database Service (Amazon RDS) 的一部分而提供。Amazon RDS 是一項受管資料庫服務，可以讓雲端中關聯式資料庫的設定、操作和擴展更加簡單。如需詳細資訊，請參閱《[Amazon 關聯式資料庫服務使用者指南》](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/)和《[Amazon Aurora 使用者指南》](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/)。

在本教學課程中，我們會為您展示如何將應用程式資料庫從 Lightsail 中的 LAMP 執行個體連接至 Amazon RDS 中的 Aurora 受管資料庫。

**內容**
+ [步驟 1：完成先決條件](#connect-lamp-to-aurora-prerequisites)
+ [步驟 2：設定 Aurora 資料庫的安全群組](#configure-security-group)
+ [步驟 3：從 Lightsail 執行個體連接至 Aurora 資料庫](#connect-to-aurora-database-from-lamp-instance)
+ [步驟 4：將 MariaDB 資料庫從 LAMP 執行個體轉移至 Aurora 資料庫](#transfer-database-from-lamp-to-aurora)
+ [步驟 5：設定應用程式以連接至 Aurora 受管資料庫](#connect-application-to-database)

## 步驟 1：完成先決條件
<a name="connect-lamp-to-aurora-prerequisites"></a>

開始之前，請先完成以下先決條件：

1. 在 Lightsail 中建立一個 LAMP 執行個體，然後在其上設定您的應用程式。在繼續之前，執行個體應處於執行中狀態。如需詳細資訊，請參閱[教學課程：在 Lightsail 中啟動和設定 LAMP 執行個體](amazon-lightsail-tutorial-launching-and-configuring-lamp.md)。

1. 打開 Lightsail 帳戶中的 VPC 對等互連。如需詳細資訊，請參閱[設定 Amazon VPC 對等互連以使用 外部 AWS 的資源Lightsail](lightsail-how-to-set-up-vpc-peering-with-aws-resources.md)。

1. 在 Amazon RDS 中建立 Aurora 受管資料庫。資料庫應位於與您的 LAMP 執行個體相同的 AWS 區域 中。在繼續之前，其亦應處於執行中狀態。如需詳細資訊，請參閱《Amazon Aurora 使用者指南》**中的 [Amazon Aurora 入門](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_GettingStartedAurora.html)。

## 步驟 2：設定 Aurora 資料庫的安全群組
<a name="configure-security-group"></a>

 AWS 安全群組可做為 AWS 資源的虛擬防火牆。它控制可以連接到 Amazon RDS 中 Aurora 資料庫的傳入和傳出流量。如需有關安全群組的詳細資訊，請參閱《Amazon Virtual Private Cloud 使用者指南》中的[使用安全群組控制資源流量](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html)。

完成以下步驟來設定安全群組，以便 LAMP 執行個體可建立 Aurora 資料庫的連線。

1. 登入 [Amazon RDS 主控台](https://console.aws.amazon.com/rds/)。

1. 在導覽窗格中，選擇 **Databases** (資料庫)。

1. 選擇 LAMP 執行個體要連接之 Aurora 資料庫的 **Writer 執行個體**。

1. 選擇 **Connectivity & security (連線和安全)** 索引標籤。

1. 在 **Endpoint & port** (端點與連接埠) 區段中，記下 **Writer instance** (寫入器執行個體) 的 **Endpoint name** (端點名稱) 和 **Port** (連接埠)。稍後在設定 Lightsail 執行個體以連接至資料庫時會需要這些。

1. 在 **Security** (安全) 區段中，選擇作用中的 VPC 安全群組連結。您會被重定引導至您資料庫的安全群組。  
![Amazon RDS 主控台的連線能力與安全性索引標籤螢幕截圖。](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/lamp-aurora-db-select-writer-instance.png)

1. 確認已選取 Aurora 資料庫的安全群組。

1. 選擇 **Inbound Rules** (傳入規則) 索引標籤。

1. 選擇 **Edit inbound Rules** (編輯傳入規則)。  
![Amazon RDS 主控台的傳入規則索引標籤螢幕截圖。](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/lamp-aurora-select-security-group.png)

1. 在 **Edit inbound rules** (編輯傳入規則) 頁面中，選擇 **Add rule** (新增規則)。

1. 完成下列其中一個步驟：
   + 如果您是使用預設的 MySQL 連接埠 3306，則在 **Type** (類型) 下拉式選單中選擇 **MySQL/Aurora**。
   + 如果資料庫是使用自訂連接埠，則在 **Type** (類型) 下拉式選單中選擇 **Custom TCP** (自訂 TCP)，並在 **Port Range** (連接埠範圍) 文字方塊中輸入連接埠編號。

1. 在 **Source** (來源) 文字方塊中，新增您 LAMP 執行個體的私有 IP 地址。您必須以 CIDR 表示法輸入 IP 地址，這意味著您必須附加 `/32`。例如，若要允許 `192.0.2.0`，請輸入 `192.0.2.0/32`。

1. 選擇**儲存規則**。  
![Amazon RDS 主控台的傳入規則詳細資訊索引標籤螢幕截圖。](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/lamp-aurora-add-security-group-rule.png)

## 步驟 3：從 Lightsail 執行個體連接至 Aurora 資料庫
<a name="connect-to-aurora-database-from-lamp-instance"></a>

完成以下程序，以確認您能從 Lightsail 執行個體連接至 Aurora 資料庫。

1. 登入 [Lightsail 主控台](https://lightsail.aws.amazon.com/)。

1. 在左側導覽窗格中，選擇**執行個體**。

1. 選擇瀏覽器型 SSH 用戶端圖示，讓 LAMP 執行個體使用 SSH 連接至用戶端。  
![瀏覽器型SSH 用戶端圖示。](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/amazon-lamp-tutorial-05.png)

1. 在連接至執行個體後，輸入以下令命令以連接至 Aurora 資料庫。在命令中，將 {{DatabaseEndpoint}} 換成 Aurora 資料庫的端點地址，並將 {{Port}} 換成資料庫的連接埠。將 {{MyUserName}} 換成您建立資料庫時輸入的使用者名稱。

   ```
   mysql -h {{DatabaseEndpoint}} -P {{Port}} -u {{MyUserName}} -p
   ```

   您應該會看到類似以下範例的回應，其會確認您的執行個體可以存取並連接至 Aurora 資料庫。  
![MySQL 連接線成功的回應。](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/lamp-aurora-mysql-connect-message.png)

   如果您沒有看到此回應，或者收到錯誤訊息，則可能需要將資料庫的安全群組設定為允許 Lightsail 執行個體的私有 IP 地址連接至該資料庫。如需詳細資訊，請參閱本指南的[設定 Aurora 資料庫的安全群組](#configure-security-group)章節。

## 步驟 4：將 MariaDB 資料庫從 LAMP 執行個體轉移至 Aurora 資料庫
<a name="transfer-database-from-lamp-to-aurora"></a>

現在您已確認能從執行個體連接至資料庫，接著應該將資料從 LAMP 執行個體遷移到 Aurora 資料庫。如需詳細資訊，請參閱《Amazon Aurora 使用者指南》**中的[將資料遷移至 Amazon Aurora MySQL 資料庫叢集](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.html)。

## 步驟 5：設定應用程式以連接至 Aurora 受管資料庫
<a name="connect-application-to-database"></a>

將應用程式資料轉移到 Aurora 資料庫之後，應將在 LAMP 執行個體上執行的應用程式設定為連接至 Aurora 資料庫。使用 SSH 連接至您的 LAMP 執行個體，並存取應用程式的資料庫組態檔案。在組態檔案中，定義 Aurora 資料庫的端點地址、資料庫使用者名稱和密碼。以下是組態檔案範例。

![應用程式組態檔案。](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/lamp-aurora-application-config-file.png)
