建立並連線至 MySQL 資料庫執行個體 - Amazon Relational Database Service

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

建立並連線至 MySQL 資料庫執行個體

本教學課程會建立 EC2 執行個體和 RDS for MySQL 資料庫執行個體。本教學課程說明如何使用標準 MySQL 用戶端,從 EC2 執行個體存取資料庫執行個體。本教學課程為最佳實務,會在虛擬私有雲端 (VPC) 中建立私有資料庫執行個體。在多數情況下,相同 VPC 中的其他資源 (例如 EC2 執行個體) 可以存取該資料庫執行個體,但 VPC 以外的資源便無法存取該執行個體。

完成教學課程後,在您的 VPC 中,每個可用區域都有一個公有子網路和私有子網路。在可用區域中,EC2 執行個體位於公有子網路中,而資料庫執行個體則可於私有子網路中。

重要

創建 AWS 帳戶無需支付任何費用。但是,完成此教學課程後,您可能會對使用的 AWS 資源產生費用。如果不再需要這些資源,您可以在完成教學課程後刪除這些資源。

下圖顯示此教學課程完成時的組態。

EC2 執行個體和 MySQL 資料庫執行個體。

本教學課程可讓您使用下列其中一種方法來建立資源:

  1. 使用 AWS Management Console ‐步驟 2:建立 MySQL 資料庫執行個體步驟 1:建立 EC2 執行個體

  2. 用 AWS CloudFormation 於建立資料庫執行個體和 EC2 執行個體‐(選擇性) 使用建立 VPC、EC2 執行個體和 MySQL 執行個體 AWS CloudFormation

第一種方法使用輕鬆創建來創建一個私有 MySQL 數據庫實例 AWS Management Console。在這裡,您只指定資料庫引擎類型、資料庫執行個體大小和資料庫執行個體識別碼。Easy Create (輕鬆建立) 會使用其他組態選項的預設設定。

改為使用標準建立時,您可以在建立資料庫執行個體時指定更多組態選項。這些選項包括可用性、安全性、備份和維護的設定。若要建立公有資料庫執行個體,您必須使用標準建立。如需相關資訊,請參閱建立 Amazon RDS 資料庫執行個體

必要條件

在開始之前,請先完成下節所含步驟:

步驟 1:建立 EC2 執行個體

建立您會用來連線至資料庫的 Amazon EC2 執行個體。

建立 EC2 執行個體
  1. 登入 AWS Management Console 並開啟 Amazon EC2 主控台,網址為 https://console.aws.amazon.com/ec2/

  2. 在的右上角 AWS Management Console,選擇您要 AWS 區域 在其中建立 EC2 執行個體的。

  3. 選擇 EC2 儀表板,然後選擇啟動執行個體,如下圖所示。

    EC2 儀表板。

    啟動執行個體頁面即開啟。

  4. 啟動執行個體頁面中選擇下列設定。

    1. Name and tags (名稱與標籤) 下,對於 Name (名稱),輸入 ec2-database-connect

    2. 應用程式和作業系統映像 (Amazon Machine Image) 中,選擇 Amazon Linux,然後選擇 Amazon Linux 2023 AMI。保留其他選項的預設選擇。

      選擇 Amazon Machine Image。
    3. Instance type (執行個體類型) 下,選擇 t2.micro

    4. Key pair (login) (金鑰對 (登入)) 下,選擇 Key pair name (金鑰對名稱),以使用現有金鑰對。若要為 Amazon EC2 執行個體建立新的金鑰對,請選擇 Create new key pair (建立新的金鑰對),然後使用 Create key pair (建立金鑰對) 視窗來建立金鑰對。

      如需有關建立新 key pair 的詳細資訊,請參閱 Amazon EC2 使用者指南中的建立 key pair

    5. 對於網路設定中的允許 SSH 流量,選擇 EC2 執行個體的 SSH 連線來源。

      如果顯示的 IP 地址對 SSH 連線而言是正確的,您可以選擇 My IP (我的 IP)。否則,您可以決定用於使用 Secure Shell (SSH) 連線至 VPC 中 EC2 執行個體的 IP 地址。若要判斷公有 IP 地址,您可以在不同的瀏覽器視窗或索引標籤中使用 https://checkip.amazonaws.com 中的服務。IP 地址的範例為 192.0.2.1/32。

      在許多情況下,您可能透過網際網路服務供應商 (ISP) 或是從沒有靜態 IP 地址的防火牆進行連線。若是如此,請務必確定用戶端電腦所使用的 IP 地址範圍。

      警告

      如果您使用 0.0.0.0/0 進行 SSH 存取,則可讓所有 IP 地址使用 SSH 存取您的公有 EC2 執行個體。通常在測試環境中短暫使用此方法是沒有問題的,但在生產環境則不安全。在生產環境中,您應只授權特定 IP 地址或特定範圍的地址可使用 SSH 存取您的 EC2 執行個體。

      下圖顯示網路設定區段的範例。

      EC2 執行個體的網路設定。
    6. 讓剩餘區段保留預設值。

    7. 檢閱摘要面板中 EC2 執行個體組態的摘要,並在準備就緒時選擇啟動執行個體

  5. 啟動狀態頁面上,記下新的 EC2 執行個體的識別碼,例如:i-1234567890abcdef0

    啟動狀態頁面上的 EC2 執行個體識別符。
  6. 選擇 EC2 執行個體識別符,以開啟 EC2 執行個體清單,然後選取您的 EC2 執行個體。

  7. 詳細資訊索引標籤中,請記下以下值,當您使用 SSH 進行連線時需要這些值:

    1. 執行個體摘要中,記下公用 IPv4 DNS 的值。

      執行個體頁面的詳細資訊索引標籤上的 EC2 公用 DNS 名稱。
    2. 執行個體詳細資訊中,記下金鑰對名稱的值。

      執行個體頁面的詳細資訊索引標籤上的 EC2 金鑰對名稱。
  8. 請等待 EC2 執行個體的執行個體狀態執行中,然後再繼續動作。

步驟 2:建立 MySQL 資料庫執行個體

Amazon RDS 的基本建置組塊為資料庫執行個體。這是您執行 MySQL 資料庫的環境。

於此範例中,您使用輕鬆建立來建立執行 MySQL 資料庫引擎、資料庫執行個體類別為 db.t3.micro 的資料庫執行個體。

如要以 Easy create (輕鬆建立) 來建立 MySQL 資料庫執行個體
  1. 登入 AWS Management Console 並開啟 Amazon RDS 主控台,網址為 https://console.aws.amazon.com/rds/

  2. 在 Amazon RDS 主控台的右上角,選擇 AWS 區域 您先前用於 EC2 執行個體的執行個體。

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

  4. 選擇 Create database (建立資料庫),並確定選擇 Easy Create (輕鬆建立)

    輕鬆建立選項。
  5. Configuration (組態),選擇 MySQL (MySQL)

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

  7. 對於 DB instance identifier (資料庫執行個體識別碼),請輸入 database-test1

  8. 主要使用者名稱,輸入主要使用者的名稱,或保留預設名稱。

    Create database (建立資料庫) 頁面看起來應該會如下圖所示。

    建立資料庫頁面。
  9. 如要將自動產生的主要密碼用在資料庫執行個體,請選取自動產生密碼

    如要輸入您的主要密碼,請確認清除自動產生密碼方塊,然後在主要密碼確認密碼中輸入相同的密碼。

  10. 若要設定與先前建立之 EC2 執行個體的連線,請開啟設定 EC2 連線 - 選用

    選取連線至 EC2 運算資源。選擇先前建立的 EC2 執行個體。

    設定 EC2 連線選項。
  11. (選用) 開啟 View default settings for Easy create (檢視輕鬆建立的預設設定)。

    輕鬆建立預設設定。

    您可以檢查與 Easy Create (輕鬆建立) 一起使用的預設設定。資料庫建立後可編輯欄顯示您可以在資料庫建立後變更的選項。

    • 若該欄的設定為,而您想要其他設定,可以使用標準建立來建立資料庫執行個體。

    • 若該欄的設定為,而您想要其他設定,可以使用標準建立來建立資料庫執行個體,或在建立後修改該資料庫執行個體的設定。

  12. 選擇建立資料庫

    若要檢視資料庫執行個體的主要使用者名稱和密碼,請選擇 View credential details (檢視登入資料詳細資訊)

    您可以使用出現的使用者名稱和密碼,來以主要使用者的身分連線至資料庫執行個體。

    重要

    您無法再次檢視主要使用者密碼。如果您沒有記錄下來,您可能需要進行變更。

    如果您需要在資料庫執行個體可供使用後變更主要使用者密碼,您可以將資料庫執行個體修改為這麼做。如需修改 資料庫執行個體的詳細資訊,請參閱修改 Amazon RDS 資料庫執行個體

  13. 資料庫清單中,選擇新 MySQL 資料庫執行個體的名稱,以顯示其詳細資訊。

    在其可供使用之前,資料庫執行個體會處於建立中狀態。

    資料庫執行個體詳細資訊。

    狀態變更為 Available (可用) 時,您便能連線至資料庫執行個體。視資料庫執行個體類別和儲存體數量而定,可能需要最多 20 分鐘的時間,新執行個體才會可用。

(選擇性) 使用建立 VPC、EC2 執行個體和 MySQL 執行個體 AWS CloudFormation

您可以將基礎設施視為程式碼來佈建 AWS 資源,而不是使用 AWS CloudFormation 主控台建立 VPC、EC2 執行個體和 MySQL 執行個體。為了幫助您將 AWS 資源組織成更小且更易於管理的單元,您可以使用 AWS CloudFormation 嵌套堆棧功能。如需詳細資訊,請參閱在 AWS CloudFormation 主控台上建立堆疊和使用巢狀堆疊

重要

AWS CloudFormation 是免費的,但 CloudFormation 創建的資源是活的。您必須支付這些資源的標準使用費,直到您終止這些資源為止。總計費用會很少。如需如何將任何費用降至最低的相關資訊,請前往AWS 免費方案

若要使用 AWS CloudFormation 主控台建立資源,請完成以下步驟:

  • 步驟 1:下載 CloudFormation 範本

  • 步驟 2:使用 CloudFormation

下載 CloudFormation 範本

CloudFormation 範本是 JSON 或 YAML 文字檔案,其中包含您要在堆疊中建立之資源的相關設定資訊。此範本也會為您建立 VPC 和防禦主機,以及 RDS 執行個體。

要下載模板文件,請打開以下鏈接,MySQL CloudFormation 模板

在 Github 頁面中,單擊下載原始文件按鈕以保存模板 YAML 文件。

使用 CloudFormation

注意

在開始此程序之前,請確定您的 AWS 帳戶. 如需詳細資訊,請參閱 Amazon EC2 金鑰對與 Linux 執行個體

使用 AWS CloudFormation 範本時,您必須選取正確的參數,以確保資源已正確建立。請遵循下列步驟:

  1. 請登入 AWS Management Console 並開啟 AWS CloudFormation 主控台,網址為 https://console.aws.amazon.com/cloudformation

  2. 選擇 Create Stack (建立堆疊)。

  3. 在 [指定範本] 區段中,選取 [從電腦上傳範本檔案],然後選擇 [下一步]。

  4. 在「指定堆疊詳細資訊」頁面中,設定下列參數:

    1. 堆棧名稱設置為 MySQL TestStack

    2. 參數下,選取三個可用區域來設定可用區域。

    3. Linux 防禦主機組態下,對於金鑰名稱,選取要登入 EC2 執行個體的 key pair。

    4. Linux 防禦主機組態設定中,將允許的 IP 範圍設定為您的 IP 位址。若要使用安全殼層 (SSH) 連線至 VPC 中的 EC2 執行個體,請使用 https://checkip.amazonaws.com 的服務判斷您的公有 IP 位址。IP 地址的範例為 192.0.2.1/32。

      警告

      如果您使用 0.0.0.0/0 進行 SSH 存取,則可讓所有 IP 地址使用 SSH 存取您的公有 EC2 執行個體。通常在測試環境中短暫使用此方法是沒有問題的,但在生產環境則不安全。在生產環境中,您應只授權特定 IP 地址或特定範圍的地址可使用 SSH 存取您的 EC2 執行個體。

    5. 在「資料庫一般組態」下,將「資料庫」執行個體類別設定為 db. t3.micro。

    6. 資料庫名稱設定為database-test1

    7. 在資料庫主要使用者名稱中,輸入主要使用者的名稱。

    8. 將使用密碼管理 Secrets Manager 管理資料庫主要使用者密碼設定false為此教學課程。

    9. 對於資料庫密碼,請設定您選擇的密碼。請記住此密碼,以取得教學課程的進一步步驟。

    10. 在 [資料庫儲存設定] 下,將 [資料庫儲存類型] 設定為 gp 2。

    11. 在 [資料庫監視組態] 下,將 [啟用 RDS Performance Insights] 設定為 false。

    12. 保留所有其他設定為預設值。按一下「下一步」繼續。

  5. [設定堆疊選項] 頁面中,保留所有預設選項。按一下「下一步」繼續。

  6. 在「複查堆疊」頁面中,選取檢查資料庫和 Linux 防禦主機選項後送出

堆疊建立程序完成後,檢視包含名稱BastionStackRDSNS 的堆疊,以記下連線至資料庫所需的資訊。如需詳細資訊,請參閱 AWS CloudFormation 在 AWS Management Console.

步驟 3:連線至 MySQL 資料庫執行個體

您可以使用任何標準 SQL 用戶端應用程式來連線至資料庫執行個體。在此範例中,您會使用 mysql 命令列用戶端來連線至 MySQL 資料庫執行個體。

連線至 MySQL 資料庫執行個體
  1. 尋找資料庫執行個體的端點 (DNS 名稱) 和連接埠號碼。

    1. 登入 AWS Management Console 並開啟 Amazon RDS 主控台,網址為 https://console.aws.amazon.com/rds/

    2. 在 Amazon RDS 主控台的右上角,選擇 AWS 區域 適用於資料庫執行個體的。

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

    4. 選擇 MySQL 資料庫執行個體名稱以顯示其詳細資訊。

    5. Connectivity & security (連線能力和安全性) 索引標籤上,複製該端點。另外,請記下連接埠號碼。您需要同時有端點和連接埠號碼,才能連線至資料庫執行個體。

      連線至 MySQL 資料庫執行個體。
  2. 按照 Amazon EC2 使用者指南中的連線到 Linux 執行個體中的步驟,Connect 到先前建立的 EC2行個體。

    建議您使用 SSH 連線至 EC2 執行個體。如果 SSH 用戶端公用程式已安裝在 Windows、Linux 或 Mac 上,您可以使用下列命令格式連線至執行個體:

    ssh -i location_of_pem_file ec2-user@ec2-instance-public-dns-name

    例如,假設 ec2-database-connect-key-pair.pem 存放在 Linux 上 的 /dir1 中,而 EC2 執行個體的公用 IPv4 DNS 為 ec2-12-345-678-90.compute-1.amazonaws.com。您的 SSH 命令看起來如下所示:

    ssh -i /dir1/ec2-database-connect-key-pair.pem ec2-user@ec2-12-345-678-90.compute-1.amazonaws.com
  3. 更新 EC2 執行個體上的軟體,以取得最新的錯誤修正和安全性更新。若要執行此操作,請使用以下命令。

    注意

    -y 選項不要求確認就會安裝更新。若要先檢查更新再安裝,請省略此選項。

    sudo dnf update -y
  4. 若要在 Amazon Linux 2023 上安裝 MariaDB 的 mysql 命令列用戶端,請執行下列命令:

    sudo dnf install mariadb105
  5. 連線到 MySQL 資料庫執行個體。例如,輸入下列命令。此動作可讓您使用 MySQL 用戶端,連線至 MySQL 資料庫執行個體。

    取代您用於 endpoint 的資料庫執行個體端點 (DNS 名稱),以及取代您用於 admin 的主要使用者名稱。提示您輸入密碼時,請提供您使用的主要密碼。

    mysql -h endpoint -P 3306 -u admin -p

    輸入使用者的密碼之後,您應該會看到類似如下的輸出。

    Welcome to the MariaDB monitor. Commands end with ; or \g. Your MySQL connection id is 3082 Server version: 8.0.28 Source distribution Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MySQL [(none)]>

    如需連線至 MySQL 資料庫執行個體的詳細資訊,請參閱連接至執行 MySQL 資料庫引擎的資料庫執行個體。如果您無法連線至資料庫執行個體,請參閱無法連線至 Amazon RDS 資料庫執行個體

    基於安全考量,最佳做法是使用加密連線。僅當用戶端和伺服器位於同一 VPC 且網路受信任時,才使用未加密的 MySQL 連線。如需使用加密連線的詳細資訊,請參閱 使用 SSL/TLS (加密) 從 MySQL 命令列用戶端連線

  6. 執行 SQL 命令。

    例如,下列 SQL 命令會顯示目前的日期和時間:

    SELECT CURRENT_TIMESTAMP;

步驟 4:刪除 EC2 執行個體和資料庫執行個體

在連線至您已建立的範例 EC2 執行個體與資料庫執行個體,並探索這些執行個體之後,請將其刪除,才不會再對您收費。

如果您曾經 AWS CloudFormation 建立資源,請略過此步驟並前往下一個步驟。

刪除 EC2 執行個體
  1. 登入 AWS Management Console 並開啟 Amazon EC2 主控台,網址為 https://console.aws.amazon.com/ec2/

  2. 在導覽窗格中,選擇執行個體

  3. 選取 EC2 執行個體,並選取執行個體狀態、終止執行個體

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

如需刪除 EC2 執行個體的詳細資訊,請參閱 Amazon EC2 使用者指南中的終止執行個體。

刪除不含最終資料庫快照的資料庫執行個體
  1. 登入 AWS Management Console 並開啟 Amazon RDS 主控台,網址為 https://console.aws.amazon.com/rds/

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

  3. 選擇想要刪除的資料庫執行個體。

  4. 對於 Actions (動作),請選擇 Delete (刪除)。

  5. 清除是否建立最後的快照?保留自動備份

  6. 完成確認,然後選擇刪除

(選擇性) 刪除使用建立的 EC2 執行個體和資料庫執行個體 CloudFormation

如果您曾 AWS CloudFormation 經建立資源,請在連接並探索範例 EC2 執行個體和資料庫執行個體後刪除 CloudFormation 堆疊,這樣您就不再需要支付費用。

若要刪除資 CloudFormation 源
  1. 開啟主 AWS CloudFormation 控台。

  2. 在的 [堆] 頁面上 CloudFormationconsole,選取根堆疊 (沒有名稱為 vPCStack 的堆疊 BastionStack 或 RDSNS)。

  3. 選擇刪除

  4. 出現確認提示時,選取「刪除堆疊」。

如需有關在中刪除堆疊的詳細資訊 CloudFormation,請參閱《使用指南》中的〈刪除 AWS CloudFormation 主控台上的堆疊AWS CloudFormation

(選用) 將資料庫執行個體連線至 Lambda 函數

您也可以將 RDS for MySQL 資料庫執行個體連線至 Lambda 無伺服器運算資源。Lambda 函數允許您在沒有佈建或管理基礎設施的情況下執行程式碼。Lambda 函數還允許您自動回應任何規模的程式碼執行請求,從每天十幾個事件到每秒數百個事件。如需更多詳細資訊,請參閱 自動連線 Lambda 函數和資料庫執行個體