連接至 Amazon Aurora 資料庫叢集 - Amazon Aurora

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

連接至 Amazon Aurora 資料庫叢集

您可以使用與用來連接至 MySQL 或 PostgreSQL 資料庫的同一工具,來連接至 Aurora 資料庫叢集。您使用連接至 MySQL 或 PostgreSQL 資料庫執行個體的任何指令碼、公用程式或應用程式,來指定連接字串。您會使用相同的公有金鑰進行 Secure Sockets Layer (SSL) 連線。

在連接字串中,您通常會透過與資料庫叢集關聯的特殊端點來使用主機和連接埠資料。不論叢集中有多少資料庫執行個體,您都可以透過這些端點來使用相同的連接參數。對於疑難排解之類的專業任務,您也可以透過 Aurora 資料庫叢集中的特定資料庫執行個體來使用主機和連接埠資訊。

注意

對於 Aurora Serverless 資料庫叢集,您可以連線到資料庫端點,而非資料庫執行個體。您可以在 Aurora Serverless 的 Connectivity & security (連線與安全) 索引標籤上找到 AWS Management Console資料庫叢集的資料庫端點。如需詳細資訊,請參閱使用 Amazon Aurora Serverless v1

無論您用於與資料庫叢集或執行個體搭配使用的 Aurora 資料庫引擎和特定工具為何,端點都必須可存取。Aurora 資料庫叢集只能在以 Amazon VPC 服務為基礎的虛擬私有雲端 (VPC) 中建立。這表示您可以使用下列其中一種方法,從 VPC 內部或 VPC 外部存取端點。

  • 在 VPC 內存取 Aurora 資料庫叢集 – 啟用透過 VPC 存取 Aurora 資料庫叢集。您可以在 VPC 的安全群組上編輯 Inbound (入站) 規則,以允許存取特定 Aurora 資料庫叢集。如需進一步了解,包括如何針對不同的 Aurora 資料庫叢集案例設定 VPC,請參閱 Amazon Virtual Private Cloud (VPC) 和 Amazon Aurora

  • 在 VPC 外部存取 Aurora 資料庫叢集 – 若要從 VPC 外部存取 Aurora 資料庫叢集,請使用資料庫叢集的公有端點地址。

如需詳細資訊,請參閱對 Aurora 連線失敗進行故障診斷

使用 AWS 驅動程式連線至 Aurora 資料庫叢集

驅動程式 AWS 套件旨在支援更快的切換和容錯移轉時間,以及使用 AWS Secrets Manager AWS Identity and Access Management (IAM) 和聯合身分進行身分驗證。 AWS 驅動程式依賴監控資料庫叢集狀態,並注意叢集拓撲以判斷新的寫入器。相較於開放原始碼驅動程式的數十秒,此方法可將切換和容錯移轉時間縮短為單位數秒。

下表列出每個驅動程式支援的功能。隨著推出新的服務功能,驅動程式 AWS 套件的目標是內建支援這些服務功能。

功能 AWS JDBC 驅動程式 AWS Python 驅動程式 AWS 適用於 MySQL 的 ODBC 驅動程式 AWS 進階 NodeJS 包裝函式
容錯移轉支援
增強型容錯移轉監控
讀取/寫入分割
Aurora 連線追蹤器
驅動程式中繼資料連線 N/A N/A N/A
遙測
Secrets Manager
IAM 身分驗證
聯合身分 (AD FS)
聯合身分 (Okta)
Aurora PostgreSQL 無限資料庫 (僅限 Aurora PostgreSQL) (僅限 Aurora PostgreSQL)

如需 AWS 驅動程式的詳細資訊,請參閱 Aurora MySQLAurora PostgreSQL 資料庫叢集的對應語言驅動程式。

連接至 Amazon Aurora MySQL 資料庫叢集

若要向 Aurora MySQL 資料庫叢集進行身分驗證,您可以使用 MySQL 使用者名稱和密碼身分驗證或 AWS Identity and Access Management (IAM) 資料庫身分驗證。如需使用 MySQL 使用者名稱和密碼身分驗證的詳細資訊,請參閱 MySQL 文件中的存取控制和帳戶管理。如需使用 IAM 資料庫身分驗證的詳細資訊,請參閱 IAM 資料庫身分驗證

當您連線至與 MySQL 8.0 相容的 Amazon Aurora 資料庫叢集時,您可以執行任何與 MySQL 8.0 版相容的 SQL 命令。最低相容版本是 MySQL 8.0.23。如需 MySQL 8.0 SQL 語法的詳細資訊,請參閱 MySQL 8.0 參考手冊。如需有關 Aurora MySQL 第 3 版的限制資訊,請參閱 比較 Aurora MySQL 第 3 版和 MySQL 8.0 Community Edition

當您連線至與 MySQL 5.7 相容的 Amazon Aurora 資料庫叢集時,您可以執行任何與 MySQL 5.7 版相容的 SQL 命令。如需 MySQL 5.7 SQL 語法的詳細資訊,請參閱 MySQL 5.7 參考手冊。如需有關 Aurora MySQL 5.7 的限制資訊,請參閱 Aurora MySQL 第 2 版與 MySQL 5.7 相容

注意

如需實用且詳細的指南,以了解如何連線至 Amazon Aurora MySQL 資料庫叢集,請參閱 Aurora 連線管理手冊。

在資料庫叢集的詳細資訊檢視中,您可以尋找能用於 MySQL 連線字串的叢集端點。端點是由資料庫叢集的網域名稱和連接埠組成。例如,如果端點值為 mycluster.cluster-123456789012.us-east-1.rds.amazonaws.com:3306,則您可以在 MySQL 連線字串中指定下列值:

  • 對於主機或主機名稱,指定 mycluster.cluster-123456789012.us-east-1.rds.amazonaws.com

  • 對於連接埠,指定 3306 或您在建立資料庫叢集時所使用的連接埠值

叢集端點會將您連接至資料庫叢集的主要執行個體。您可以使用叢集端點來同時執行讀取和寫入操作。您的資料庫叢集也可以具有最多 15 個 Aurora 複本,這些複本支援資料庫叢集中資料的唯讀存取。主要執行個體和每一個 Aurora 複本都有一個獨立於叢集端點的唯一端點,並可讓您直接連接至叢集中的特定資料庫執行個體。叢集端點一律指向主要執行個體。如果主要執行個體失敗且被取代,則叢集端點會指向新的主要執行個體。

若要檢視叢集端點 (寫入者端點),請在 Amazon RDS 主控台上選擇 Databases (資料庫),並選擇資料庫叢集的名稱以顯示資料庫叢集詳細資訊。

Aurora MySQL 寫入器端點詳細資訊面板,顯示資料庫連線的連線地址。

Aurora MySQL 的連線公用程式

一些您可以使用的連線公用程式如下:

使用 MySQL 公用程式連線至 Aurora MySQL

使用下列程序。它假設您在 VPC 的私有子網路中設定資料庫叢集。您可以根據教學:建立 Web 伺服器和 Amazon Aurora 資料庫叢集中的教學課程,使用 Amazon EC2 執行個體進行連線。

注意

此程序不需要安裝教學課程中的 Web 伺服器,但確實需要安裝 MariaDB 10.5。

使用 MySQL 公用程式連接至資料庫叢集
  1. 登入至您用於連線至資料庫叢集的 EC2 執行個體。

    您應該會看到類似下列的輸出。

    Last login: Thu Jun 23 13:32:52 2022 from xxx.xxx.xxx.xxx __| __|_ ) _| ( / Amazon Linux 2 AMI ___|\___|___| https://aws.amazon.com/amazon-linux-2/ [ec2-user@ip-10-0-xxx.xxx ~]$
  2. 在命令提示字元中輸入下列命令,以連線至資料庫叢集的主要資料庫執行個體。

    若為 -h 參數,請將端點 DNS 名稱替換成您的主要執行個體。若為-u 參數,請替換資料庫使用者帳戶的使用者 ID。

    mysql -h primary-instance-endpoint.AWS_account.AWS_Region.rds.amazonaws.com -P 3306 -u database_user -p

    例如:

    mysql -h my-aurora-cluster-instance.c1xy5example.123456789012.eu-central-1.rds.amazonaws.com -P 3306 -u admin -p
  3. 輸入資料庫使用者的密碼。

    您應該會看到類似下列的輸出。

    Welcome to the MariaDB monitor. Commands end with ; or \g. Your MySQL connection id is 1770 Server version: 8.0.23 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)]>
  4. 輸入 SQL 命令。

使用 Amazon Web Services (AWS) JDBC 驅動程式連線至 Aurora MySQL

Amazon Web Services (AWS) JDBC 驅動程式設計為進階 JDBC 包裝函式。此包裝函式與現有的 JDBC 驅動程式互補並擴展其功能,以協助應用程式利用叢集資料庫的功能,例如 Aurora MySQL。驅動程式與社群 MySQL Connector/J 驅動程式和社群 MariaDB Connector/J 驅動程式相容。

若要安裝 AWS JDBC 驅動程式,請附加 AWS JDBC 驅動程式 .jar 檔案 (位於應用程式 CLASSPATH),並保留對個別社群驅動程式的參考。更新個別的連線 URL 字首,如下所示:

  • jdbc:mysql://jdbc:aws-wrapper:mysql://

  • jdbc:mariadb://jdbc:aws-wrapper:mariadb://

如需 AWS JDBC 驅動程式的詳細資訊和完整的使用說明,請參閱 Amazon Web Services (AWS) JDBC 驅動程式 GitHub 儲存庫

注意

MariaDB Connector/J 公用程式的 3.0.3 版放棄對 Aurora 資料庫叢集的支援,因此我們強烈建議移至 AWS JDBC 驅動程式。

使用 Amazon Web Services (AWS) Python 驅動程式連線至 Aurora MySQL

Amazon Web Services (AWS) Python 驅動程式設計為進階 Python 包裝函式。此包裝函式與開放原始碼 Psycopg 驅動程式的功能互補並擴展其功能。 AWS Python 驅動程式支援 Python 3.8 版和更新版本。您可以使用 pip命令以及psycopg開放原始碼aws-advanced-python-wrapper套件來安裝套件。

如需 AWS Python 驅動程式的詳細資訊和完整的使用說明,請參閱 Amazon Web Services (AWS) Python Driver GitHub 儲存庫

使用適用於 MySQL 的 Amazon Web Services (AWS) ODBC 驅動程式連線至 Aurora MySQL

AWS ODBC Driver for MySQL 是用戶端驅動程式,專為 Aurora MySQL 的高可用性而設計。驅動程式可以與 MySQL Connector/ODBC 驅動程式一起存在,並與相同的工作流程相容。

如需適用於 MySQL 的 AWS ODBC 驅動程式以及安裝和使用它的完整指示的詳細資訊,請參閱適用於 MySQL GitHub 儲存庫的 Amazon Web Services (AWS) ODBC 驅動程式。 GitHub

使用 Amazon Web Services (AWS) 進階 NodeJS 包裝函式連線至 Aurora MySQL

AWS 進階 NodeJS 包裝函式是現有 NodeJS 驅動程式的補充和延伸功能。它有助於應用程式利用叢集資料庫的功能,例如 Aurora MySQL。

如需 AWS 進階 NodeJS 包裝函式的詳細資訊以及完整的使用說明,請參閱 Amazon Web Services (AWS) 進階 NodeJS 包裝函式 GitHub 儲存庫

使用 SSL 連線至 Aurora MySQL

您可以在 Aurora MySQL 資料庫執行個體的連線上使用 SSL 加密。如需相關資訊,請參閱Aurora MySQL 資料庫叢集的 TLS 連線

若要使用 SSL 進行連線,請依下列程序所述使用 MySQL 公用程式。如果您是使用 IAM 資料庫身分驗證,則必須使用 SSL 連線。如需相關資訊,請參閱「 IAM 資料庫身分驗證」。

注意

要使用 SSL 連接至叢集端點,您的用戶端連線公用程式必須支援主體別名 (SAN)。如果您的用戶端連線公用程式不支援 SAN,則您可以直接連接至 Aurora 資料庫叢集中的執行個體。如需 Aurora 端點的詳細資訊,請參閱 Amazon Aurora 端點連線

使用 MySQL 公用程式搭配 SSL 連接至資料庫叢集

  1. 下載公開金鑰以供 Amazon RDS 簽署憑證。

    如需有關下載憑證的詳細資訊,請參閱使用 SSL/TLS 加密與資料庫叢集的連線

  2. 在命令提示字元中輸入下列命令,以使用 MySQL 公用程式搭配 SSL 來連接至資料庫叢集的主要執行個體。若為 -h 參數,請將端點 DNS 名稱替換成您的主要執行個體。若為-u 參數,請替換資料庫使用者帳戶的使用者 ID。在 --ssl-ca 參數中,換成適當的 SSL 憑證檔名稱。出現提示時,請輸入主要使用者密碼。

    mysql -h mycluster-primary.123456789012.us-east-1.rds.amazonaws.com -u admin_user -p --ssl-ca=[full path]global-bundle.pem --ssl-verify-server-cert

您應該會看到類似下列的輸出。

Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 350 Server version: 8.0.26-log MySQL Community Server (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>

如需有關建構 RDS for MySQL 連線字串以及尋找 SSL 連線公有金鑰的一般說明,請參閱連線至執行 MySQL 資料庫引擎的資料庫執行個體

連接至 Amazon Aurora PostgreSQL 資料庫叢集

您可以使用與用來連接至 PostgreSQL 資料庫的同一工具,來連接至 Amazon Aurora PostgreSQL 資料庫叢集中的資料庫執行個體。在此過程中,您會使用相同的公有金鑰進行 Secure Sockets Layer (SSL) 連線。在連線至 PostgreSQL 資料庫執行個體之任何指令碼、公用程式或應用程式的連線字串中,您可以使用來自 Aurora PostgreSQL 資料庫叢集中主要執行個體或 Aurora 複本的端點和連接埠資訊。在連線字串中,指定來自主要執行個體或 Aurora 複本端點的 DNS 位址做為主機參數。指定來自端點的連接埠號碼做為連接埠參數。

當您連接至 Amazon Aurora PostgreSQL 資料庫叢集中的資料庫執行個體時,您可以執行任何與 PostgreSQL 相容的 SQL 命令。

在 Aurora PostgreSQL 資料庫叢集的詳細資訊檢視中,您可以找到叢集端點名稱、狀態、類型及連接埠號碼。您在 PostgreSQL 連線字串中使用此端點和連接埠號碼。例如,如果端點值為 mycluster.cluster-123456789012.us-east-1.rds.amazonaws.com,則您可以在 PostgreSQL 連線字串中指定下列值:

  • 對於主機或主機名稱,指定 mycluster.cluster-123456789012.us-east-1.rds.amazonaws.com

  • 對於連接埠,指定 5432 或您在建立資料庫叢集時所使用的連接埠值

叢集端點會將您連接至資料庫叢集的主要執行個體。您可以使用叢集端點來同時執行讀取和寫入操作。您的資料庫叢集也可以具有最多 15 個 Aurora 複本,這些複本支援資料庫叢集中資料的唯讀存取。Aurora 叢集中的每個資料庫執行個體 (即主要執行個體和每一個 Aurora 複本) 都有一個獨立於叢集端點的唯一端點。此唯一端點可讓您直接連接至叢集中的特定資料庫執行個體。叢集端點一律指向主要執行個體。如果主要執行個體失敗且遭取代,則叢集端點會指向新的主要執行個體。

若要檢視叢集端點 (寫入者端點),請在 Amazon RDS 主控台上選擇 Databases (資料庫),並選擇資料庫叢集的名稱以顯示資料庫叢集詳細資訊。

Aurora PostgreSQL 寫入器端點。

Aurora PostgreSQL 的連線公用程式

一些您可以使用的連線公用程式如下:

使用 Amazon Web Services (AWS) JDBC 驅動程式連線至 Aurora PostgreSQL

Amazon Web Services (AWS) JDBC 驅動程式設計為進階 JDBC 包裝函式。此包裝函式與現有的 JDBC 驅動程式互補並擴展其功能,以協助應用程式利用叢集資料庫的功能,例如 Aurora PostgreSQL。驅動程式與社群 pgJDBC 驅動程式的下拉式選單相容。

若要安裝 AWS JDBC 驅動程式,請附加 AWS JDBC 驅動程式 .jar 檔案 (位於應用程式 CLASSPATH),並保留對 pgJDBC 社群驅動程式的參考。將連線 URL 字首從 更新jdbc:postgresql://jdbc:aws-wrapper:postgresql://

如需 AWS JDBC 驅動程式的詳細資訊和完整的使用說明,請參閱 Amazon Web Services (AWS) JDBC 驅動程式 GitHub 儲存庫

使用 Amazon Web Services (AWS) Python 驅動程式連線至 Aurora PostgreSQL

Amazon Web Services (AWS) Python 驅動程式設計為進階 Python 包裝函式。此包裝函式與開放原始碼 Psycopg 驅動程式的功能互補並擴展其功能。 AWS Python 驅動程式支援 Python 3.8 版和更新版本。您可以使用 pip命令以及psycopg開放原始碼aws-advanced-python-wrapper套件來安裝套件。

如需 AWS Python 驅動程式的詳細資訊和完整的使用說明,請參閱 Amazon Web Services (AWS) Python Driver GitHub 儲存庫

使用 Amazon Web Services (AWS) 進階 NodeJS 包裝函式連線至 Aurora PostgreSQL

AWS 進階 NodeJS 包裝函式是現有 NodeJS 驅動程式的補充和延伸功能。它有助於應用程式利用叢集資料庫的功能,例如 Aurora PostgreSQL。

如需 AWS 進階 NodeJS 包裝函式的詳細資訊以及完整的使用說明,請參閱 Amazon Web Services (AWS) 進階 NodeJS 包裝函式 GitHub 儲存庫

對 Aurora 連線失敗進行故障診斷

無法連接至新 Aurora 資料庫叢集的常見原因如下:

  • VPC 中的安全群組不允許存取 – 您的 VPC 需要透過 VPC 中安全群組的正確設定來允許您的裝置或 Amazon EC2 執行個體的連線。若要解決問題,請修改 VPC 的安全群組 Inbound (入站) 規則以允許連線。如需範例,請參閱 教學課程:建立要與資料庫叢集搭配使用的 VPC (僅限 IPv4)

  • 防火牆規則封鎖的連接埠 – 檢查為您的 Aurora 資料庫叢集設定的連接埠值。如果防火牆規則封鎖該連接埠,您可以使用不同的連接埠重新建立執行個體。

  • IAM 組態不完整或不正確 – 如果您建立 Aurora 資料庫執行個體以使用 IAM – 型身分驗證,請確定已正確設定。如需更多詳細資訊,請參閱 IAM 資料庫身分驗證

如需 Aurora 資料庫連線疑難排解問題的詳細資訊,請參閱無法連線至 Amazon RDS 資料庫執行個體