

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

# 教學課程：將 Amazon EC2 執行個體連線至 Amazon RDS 資料庫
<a name="tutorial-connect-ec2-instance-to-rds-database"></a>

## 教學課程目標
<a name="tutorial-connect-ec2-rds-objective"></a>

本教學課程的目的是了解如何使用 AWS 管理主控台來設定 Amazon EC2 執行個體和 Amazon RDS 資料庫之間的連線。

設定連線有不同的選項。在本教學課程中，我們將探討以下三個選項：
+ [選項 1：使用 EC2 主控台自動將執行個體連線至 RDS 資料庫](tutorial-ec2-rds-option1.md)

  使用 EC2 主控台中的自動連線功能，自動設定 EC2 執行個體和 RDS 資料庫之間的連線，以允許 EC2 執行個體和 RDS 資料庫之間的流量。
+ [選項 2：使用 RDS 主控台自動將執行個體連線至 RDS 資料庫](tutorial-ec2-rds-option2.md)

  使用 RDS 主控台中的自動連線功能，自動設定 EC2 執行個體和 RDS 資料庫之間的連線，以允許 EC2 執行個體和 RDS 資料庫之間的流量。
+ [選項 3：透過建立安全群組，以手動方式將執行個體連線至 RDS 資料庫](tutorial-ec2-rds-option3.md)

  透過手動設定和指派安全群組來複製選項 1 和選項 2 中自動連線功能自動建立的組態，以設定 EC2 執行個體與 RDS 資料庫之間的連線。

## Context
<a name="tutorial-connect-ec2-rds-context"></a>

至於為什麼要在 EC2 執行個體和 RDS 資料庫之間設定連線，讓我們一起思考下面這種情況：您的網站向使用者提供表單以供填寫。您需要在資料庫中擷取表單資料。您可以在已被設定為 Web 伺服器的 EC2 執行個體上託管您的網站，並且可以在 RDS 資料庫中擷取表單資料。EC2 執行個體和 RDS 資料庫必須彼此相連，以便表單資料可以從 EC2 執行個體傳送到 RDS 資料庫。本教學課程會說明如何設定該連線。請注意，這只是連線 EC2 執行個體和 RDS 資料庫的其中一個使用案例範例。

## Architecture
<a name="tutorial-connect-ec2-rds-architecture"></a>

下圖展示了所建立的資源，以及完成本教學課程中的所有步驟後產生的架構組態。

![\[所建立的資源，以及完成本教學課程中的所有步驟後產生的架構組態。\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/ec2-rds-tutorial-architecture.png)


此圖展示了您將建立的下列資源：
+ 您將在相同的 AWS 區域 VPC 和可用區域中建立 EC2 執行個體和 RDS 資料庫。
+ 您將在公有子網路中建立 EC2 執行個體。
+ 您將在私有子網路中建立 RDS 資料庫。

  當您使用 RDS 主控台建立 RDS 資料庫並自動連線 EC2 執行個體時，會自動選取資料庫的 VPC、資料庫子網路群組和公開存取設定。在與 EC2 執行個體相同之 VPC 內的私有子網路中自動建立 RDS 資料庫。
+ 網際網路使用者可以透過網際網路閘道使用 SSH 或 HTTP/HTTPS 連線至 EC2 執行個體。
+ 網際網路使用者無法直接連線至 RDS 資料庫；只有 EC2 執行個體可連線至 RDS 資料庫。
+ 當您使用自動連線功能允許 EC2 執行個體和 RDS 資料庫之間的流量時，會自動建立並新增下列安全群組：
  + 建立安全群組 **ec2-rds-*x*** 並新增至 EC2 執行個體。它有一個傳出規則，該規則引用 **rds-ec2-*x*** 安全群組作為其目的地。這允許來自 EC2 執行個體的流量透過 **rds-ec2-*x*** 安全群組到達 RDS 資料庫。
  + 建立安全群組 **rds-ec2-*x*** 並新增至 RDS 資料庫。它有一個傳入規則，該規則引用 **ec2-rds-*x*** 安全群組作為其來源。這允許來自 EC2 執行個體的流量透過 **ec2-rds-*x*** 安全群組到達 RDS 資料庫。

  透過使用單獨的安全群組 (一個用於 EC2 執行個體，一個用於 RDS 資料庫)，您可以更好地控制執行個體和資料庫的安全性。如果您要在執行個體和資料庫上使用相同的安全群組，然後修改安全群組以適應資料庫，則修改會同時影響執行個體和資料庫。換句話說，如果您使用一個安全群組，您可能會無意中修改資源 (執行個體或資料庫) 的安全性，因為您忘記了安全群組已連接至該資源。

  自動建立的安全群組也會遵守最低權限，因為其只允許透過建立特定於工作負載的安全群組對，在資料庫連接埠上進行此工作負載的相互連線。

## 考量事項
<a name="tutorial-connect-ec2-rds-considerations"></a>

完成本教學課程中的任務後，請考量以下內容：
+ **兩個主控台** - 在本教學課程中，您將使用下列兩個主控台：
  + Amazon EC2 主控台 – 您將使用 EC2 主控台啟動執行個體、自動將 EC2 執行個體連線到 RDS 資料庫，以及使用手動選項，透過建立安全群組來設定連線。
  + Amazon RDS 主控台 – 您將使用 RDS 主控台建立 RDS 資料庫，並自動將 EC2 執行個體連線到 RDS 資料庫。
+ **一個 VPC** - 若要使用自動連線功能，EC2 執行個體和 RDS 資料庫必須位於相同的 VPC 中。

  如果您要手動設定 EC2 執行個體和 RDS 資料庫之間的連線，則可以在一個 VPC 中啟動 EC2 執行個體，並在另一個 VPC 中啟動 RDS 資料庫；不過，您需要設定其他路由和 VPC 組態。這是本教學課程中涵蓋的情況。
+ **一 AWS 區域**：EC2 執行個體和 RDS 資料庫必須位於相同的 區域。
+ **兩個安全群組** - EC2 執行個體與 RDS 資料庫之間的連線由兩個安全群組設定 - 針對 EC2 執行個體的安全群組，以及針對 RDS 資料庫的安全群組。

  當您使用 EC2 主控台或 RDS 主控台中的自動連線功能來設定連線 (本教學課程的選項 1 和選項 2) 時，會自動建立安全群組並指派給 EC2 執行個體和 RDS 資料庫。

  如果您不使用自動連線功能，則需要手動建立並指派安全群組。您可以在本教學課程的選項 3 中執行此操作。

## 教學課程所需時間
<a name="tutorial-connect-ec2-rds-time"></a>

30 分鐘

您可以一次性完成整個教學課程，也可以一次完成一個任務。

## 成本
<a name="tutorial-connect-ec2-rds-costs"></a>

完成本教學課程後，您建立 AWS 的資源可能會產生費用。

您可以在[免費方案](https://aws.amazon.com/free/)下使用 Amazon EC2，前提是 AWS 您的帳戶符合免費方案的資格，而且您可以根據免費方案要求設定資源。如需詳細資訊，[2025 年 7 月 15 日之前和之後的免費方案優惠](ec2-free-tier-usage.md#ec2-free-tier-comparison)。

如果您的 EC2 執行個體和 RDS 資料庫位於不同的可用區域，則需支付資料傳輸費用。若要避免產生這些費用，EC2 執行個體和 RDS 資料庫必須位於相同的可用區域。如需有關資料傳輸費用的資訊，請參閱「Amazon EC2 隨需定價」頁面中的[資料傳輸](https://aws.amazon.com/ec2/pricing/on-demand/#Data_Transfer)。

若要避免在完成教學課程後產生費用，請務必刪除不再需要的資源。如需刪除資源的步驟，請參閱 [任務 4 (*選用*)：清除](tutorial-ec2-rds-option3.md#tutorial-ec2-rds-clean-up)。