選項 3:透過建立安全群組,以手動方式將執行個體連線至 RDS 資料庫 - Amazon Elastic Compute Cloud

選項 3:透過建立安全群組,以手動方式將執行個體連線至 RDS 資料庫

選項 3 的目標是了解如何透過手動複製自動連線功能的組態來手動設定 EC2 執行個體和 RDS 資料庫之間的連線。

開始之前

完成此教學課程需要以下項目:

  • 與 RDS 資料庫處於相同 VPC 的 EC2 執行個體。您可以使用現有的 EC2 執行個體或遵循任務 1 中的步驟來建立新執行個體。

  • 與 EC2 執行個體處於相同 VPC 的 RDS 資料庫。您可以使用現有的 RDS 資料庫或遵循任務 2 中的步驟來建立新資料庫。

  • 呼叫以下操作的許可:

    • ec2:AssociateRouteTable

    • ec2:AuthorizeSecurityGroupEgress

    • ec2:CreateRouteTable

    • ec2:CreateSecurityGroup

    • ec2:CreateSubnet

    • ec2:DescribeInstances

    • ec2:DescribeNetworkInterfaces

    • ec2:DescribeRouteTables

    • ec2:DescribeSecurityGroups

    • ec2:DescribeSubnets

    • ec2:ModifyNetworkInterfaceAttribute

    • ec2:RevokeSecurityGroupEgress

任務 1 (選用):啟動 EC2 執行個體

注意

啟動執行個體並不是本教學課程的重點。如果您已有 Amazon EC2 執行個體,並且您想在本教學課程中使用該執行個體,則可跳過此任務。

此任務的目標是啟動 EC2 執行個體,以便您可以完成任務 3,您可以在其中設定 EC2 執行個體和 Amazon RDS 資料庫之間的連線。此任務中的步驟會設定 EC2 執行個體,如下所示:

  • 執行個體名稱:tutorial-instance

  • AMI:Amazon Linux 2

  • 執行個體類型:t2.micro

  • 自動指派公有 IP:已啟用

  • 具有以下三個規則的安全群組:

    • 允許來自您 IP 地址的 SSH

    • 允許來自任何地方的 HTTPS 流量

    • 允許來自任何地方的 HTTP 流量

重要

在生產環境中,您應設定執行個體以滿足您的特定需求。

啟動 EC2 執行個體
  1. 請登入 AWS Management Console,並在 https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. EC2 Dashboard (EC2 儀表板) 中,選擇 Launch Instance (啟動執行個體)。

  3. Name and tags (名稱和標籤) 下,針對 Name (名稱),輸入用於識別執行個體的名稱。針對本教學課程,將執行個體命名為 tutorial-instance-manual-1。雖然執行個體名稱不是強制性的,但名稱可協助您輕鬆識別其。

  4. Application and OS Images (應用程式和作業系統映像) 中,選擇符合您 Web 伺服器需求的 AMI。本教學課程使用 Amazon Linux

  5. Instance type (執行個體類型) 中,針對 Instance type (執行個體類型),選取符合您 Web 伺服器需求的執行個體類型。本教學課程使用的是 t2.micro

    注意

    若您的 AWS 帳戶少於 12 個月,並且您選擇 t2.micro 執行個體類型,或選擇無法使用 t2.micro 之區域中的 t3.micro,則您可以在免費方案中使用 Amazon EC2。請注意,當您啟動 t3.micro 執行個體時,其會預設為無限制模式,且依據 CPU 用量而定,這可能會產生額外費用。

  6. key pair (login) (金鑰對 (登入)) 中,針對 Key pair name (金鑰對名稱) 選擇您的金鑰對。

  7. Network settings (網路設定) 中,執行下列操作:

    1. 對於 Network (網路) 和 Subnet (子網路),如果您尚未變更預設 VPC 或子網路,則可以保留預設設定。

      如果您已變更預設 VPC 或子網路,則請檢查下列項目:

      1. 執行個體必須與 RDS 資料庫處於相同的 VPC 中。依預設,您只有一個 VPC。

      2. 您要在其中啟動執行個體的 VPC 必須連接網際網路閘道,以便您可以從網際網路存取 Web 伺服器。您的預設 VPC 會與網際網路閘道一起自動設定。

      3. 若要確保您的執行個體接收公有 IP 地址,針對 Auto-assign public IP (自動指派公有 IP),檢查是否已選取 Enable (啟用)。如果選取 Disable (停用),則請選取 Edit (編輯) (位於 Network Settings (網路設定) 右側),然後針對 Auto-assign public IP (自動指派公有 IP) 選取 Enable (啟用)。

    2. 若要使用 SSH 連線至執行個體,您需要一個安全群組規則來授權來自您電腦公有 IPv4 地址的 SSH (Linux) 或 RDP (Windows) 流量。根據預設,當您啟動執行個體時,會建立新的安全群組,其中包含允許從任何地方傳入 SSH 流量的規則。

      若要確保只有您的 IP 位址可以連線到您的執行個體,請在防火牆 (安全群組) 下,從允許 SSH 流量來源核取方塊旁的下拉式清單中,選擇我的 IP

    3. 若要允許流量從網際網路傳輸到您的執行個體,請選取下列核取方塊:

      • Allow HTTPs traffic from the internet (允許來自網際網路的 HTTPS 流量)

      • Allow HTTP traffic from the internet (允許來自網際網路的 HTTP 流量)

  8. Summary (摘要) 面板中,檢閱您的執行個體組態,然後選擇 Launch instance (啟動執行個體)。

  9. 選擇 View all instances (檢視所有執行個體),以關閉確認頁面並返回主控台。您的執行個體首先會處於 pending 狀態,然後進入 running 狀態。

    如果執行個體無法啟動或狀態立即進入 terminated 而非 running,請參閱對 Amazon EC2 執行個體啟動問題進行疑難排解

如需有關啟動執行個體的詳細資訊,請參閱 使用主控台中的啟動執行個體精靈,啟動 EC2 執行個體

此動畫示範如何啟動 EC2 執行個體。如需此動畫的文字版本,請參閱前面程序中的步驟。

任務 2 (選用):建立 RDS 資料庫

注意

建立 RDS 資料庫並不是教學課程中本部分的重點。如果您已有 RDS 資料庫,並且您想在本教學課程中使用該資料庫,則可跳過此任務。

此任務的目標是建立 RDS 資料庫。將此執行個體連線至 EC2 執行個體時,您會在任務 3 中使用此執行個體。此任務中的步驟會設定 RDS 資料庫,如下所示:

  • 引擎類型:MySQL

  • 範本:免費方案

  • 資料庫執行個體識別符:tutorial-database-manual

  • 資料庫執行個體類別:db.t3.micro

重要

在生產環境中,您應設定執行個體以滿足您的特定需求。

建立 MySQL 資料庫執行個體
  1. 前往 https://console.aws.amazon.com/rds/,開啟 Amazon RDS 主控台。

  2. 從區域選取器 (位於右上角) 中,選取您要在其中建立 EC2 執行個體的 AWS 區域。EC2 執行個體與資料庫執行個體必須處於相同區域。

  3. 在儀表板中,選擇 Create database (建立資料庫)。

  4. Choose a database creation method (選擇資料庫建立方法) 中,選擇 Easy create (輕鬆建立)。當您選擇此選項時,無法使用自動設定連線的自動連線功能。

  5. Engine options (引擎選項) 中,針對 Engine type (引擎類型) 選擇 MySQL

  6. DB instance size (資料庫執行個體大小) 中,選擇 Free tier (免費方案)。

  7. DB instance identifier (資料庫執行個體識別符) 中,輸入 RDS 資料庫的名稱。針對本教學,輸入 tutorial-database-manual

  8. 對於 Master username (主要使用者名稱),請保留預設名稱,即 admin

  9. 對於 Master password (主要密碼),請輸入您在本教學課程中可以記住的密碼,然後在 Confirm password (確認密碼) 中再次輸入密碼。

  10. 選擇建立資料庫

    Databases (資料庫) 畫面中,新資料庫執行個體的 Status (狀態) 為 Creating (正在建立),直到資料庫執行個體準備就緒可供使用為止。狀態變更為 Available (可用) 時,您便能連線至資料庫執行個體。視資料庫執行個體類別和儲存體數量而定,可能需要最多 20 分鐘的時間,新執行個體才會可用。

此動畫示範如何建立資料庫執行個體。如需此動畫的文字版本,請參閱前面程序中的步驟。

任務 3:透過建立安全群組並將其指派給執行個體,手動將 EC2 執行個體連線至 RDS 資料庫

此任務的目標是透過手動執行下列動作來複製自動連線功能的連線組態:您建立兩個新的安全群組,然後將每個安全群組新增至 EC2 執行個體和 RDS 資料庫。

建立兩個新的安全群組,並分別指派給 EC2 執行個體和 RDS 資料庫
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 首先建立要新增至 EC2 執行個體的安全群組,如下所示:

    1. 在導覽窗格中,選擇 Security Groups (安全群組)。

    2. 選擇 Create Security Group (建立安全群組)。

    3. 對於 Security group name (安全群組名稱),輸入安全群組的描述性名稱。針對本教學,輸入 ec2-rds-manual-configuration

    4. 對於 Description (描述),輸入簡短描述。針對本教學,輸入 EC2 instance security group to allow EC2 instance to securely connect to RDS database

    5. 選擇建立安全群組。建立 RDS 資料庫安全群組之後,您將回到此安全群組以新增傳出規則。

  3. 現在,建立要新增至 RDS 資料庫的安全群組,如下所示:

    1. 在導覽窗格中,選擇 Security Groups (安全群組)。

    2. 選擇 Create Security Group (建立安全群組)。

    3. 對於 Security group name (安全群組名稱),輸入安全群組的描述性名稱。針對本教學,輸入 rds-ec2-manual-configuration

    4. 對於 Description (描述),輸入簡短描述。針對本教學,輸入 RDS database security group to allow EC2 instance to securely connect to RDS database

    5. Inbound rules (傳入規則) 中,選擇 Add rule (新增規則),然後執行下列動作:

      1. 對於 Type (類型),選擇 MYSQL/Aurora

      2. 對於 Source (來源),選擇您在此程序的步驟 2 中建立的 EC2 執行個體安全群組 ec2-rds-manual-configuration

    6. 選擇建立安全群組

  4. 編輯 EC2 執行個體安全群組以新增傳出規則,如下所示:

    1. 在導覽窗格中,選擇 Security Groups (安全群組)。

    2. 選取 EC2 執行個體安全群組 (已命名為 ec2-rds-manual-configuration),然後選取 Outbound rules (傳出規則) 索引標籤。

    3. 選擇 Edit outbound rules (編輯傳出規則)。

    4. 選擇 Add rule (新增規則) 並執行下列動作:

      1. 對於 Type (類型),選擇 MYSQL/Aurora

      2. 對於 Source (來源),選擇您在此程序的步驟 3 中建立的 RDS 資料庫安全群組 rds-ec2-manual-configuration

      3. 選擇儲存規則

  5. 將 EC2 執行個體安全群組新增至 EC2 執行個體,如下所示:

    1. 在導覽窗格中,選擇 Instances (執行個體)。

    2. 選取 EC2 執行個體,然後選取 Actions (動作)、Security (安全性)、Change security groups (變更安全群組)。

    3. Associated security groups (關聯的安全群組) 中,選取 Select security groups (選取安全群組) 欄位,選取您先前建立的 ec2-rds-manual-configuration,然後選取 Add security group (新增安全群組)。

    4. 選擇 Save (儲存)。

  6. 將 RDS 資料庫安全群組新增至 RDS 資料庫,如下所示:

    1. 前往 https://console.aws.amazon.com/rds/,開啟 Amazon RDS 主控台。

    2. 在導覽窗格中,選取 Databases (資料庫),然後選取您的資料庫。

    3. 選擇 Modify (修改)。

    4. Connectivity (連線) 中,針對 Security group (安全群組) 選擇您先前建立的 rds-ec2-manual-configuration,然後選擇 Continue (繼續)。

    5. Scheduling of modifications (修改排程) 中,選擇 Apply immediately (立即套用)。

    6. 選擇 Modify DB instance (修改資料庫執行個體)

    您現在已完成手動步驟,這些步驟會模擬當使用自動連線功能時所發生的自動步驟。

您已完成本教學課程的選項 3。如果您已完成選項 1、2 和 3,且不再需要本教學課程中建立的資源,您應該將其刪除,以避免產生不必要的費用。如需詳細資訊,請參閱任務 4 (選用):清除

任務 4 (選用):清除

現在您已經完成教學課程,最好清理 (刪除) 您不再想要使用的任何資源。清理 AWS 資源可防止您的帳戶產生任何進一步的費用。

如果您針對本教學課程專門啟動 EC2 執行個體,則可以將其終止以停止產生與其相關的任何費用。

欲使用主控台來終止執行個體
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Instances (執行個體)。

  3. 選取您為此教學課程建立的執行個體,然後選取 Instance state (執行個體狀態)、Terminate instance (終止執行個體)。

  4. 出現確認提示時,請選擇 Terminate (終止)

如果您針對本教學課程專門建立了 RDS 資料庫,則可以將其刪除以停止產生與其相關的任何費用。

若要使用主控台刪除 RDS 資料庫
  1. 前往 https://console.aws.amazon.com/rds/,開啟 Amazon RDS 主控台。

  2. 在導覽窗格中,選擇 Databases (資料庫)。

  3. 選取您為此教學課程建立的 RDS 資料庫,然後選取 Actions (動作)、Delete (刪除)。

  4. 在方塊中輸入 delete me,然後選擇 Delete (刪除)。