前言
在現代雲端架構中,資料庫是應用程式不可或缺的核心元件。Amazon RDS(Relational Database Service)提供了一個託管式的關聯式資料庫服務,讓開發者能夠專注於應用程式開發,而無需擔心資料庫的維運工作。本文將介紹如何在 AWS 上建立 RDS MySQL 執行個體,並完成相關的連線設定。
RDS 簡介
Amazon RDS 是 AWS 提供的託管式關聯式資料庫服務,支援多種資料庫引擎,包括:
- MySQL
- PostgreSQL
- MariaDB
- Oracle
- Microsoft SQL Server
- Amazon Aurora
RDS 的主要優勢
- 自動化管理:RDS 會自動處理資料庫的硬體配置、資料庫設定、修補程式更新等工作
- 高可用性:支援 Multi-AZ 部署,提供自動故障轉移功能
- 可擴展性:可輕鬆調整運算和儲存資源
- 安全性:整合 VPC、安全群組和 IAM,提供多層次的安全防護
- 備份與還原:自動備份和手動快照功能,確保資料安全
建立 RDS 執行個體步驟
步驟一:登入 AWS 控制台
- 前往 AWS Management Console
- 在服務搜尋欄中輸入「RDS」並選擇該服務
步驟二:建立資料庫
- 點擊「建立資料庫」按鈕
- 選擇資料庫建立方式:
- 標準建立:完整的設定選項
- 輕鬆建立:使用建議的最佳實務設定
步驟三:選擇引擎選項
- 選擇「MySQL」作為資料庫引擎
- 選擇 MySQL 版本(建議使用最新的穩定版本,如 8.0.x)
步驟四:選擇範本
根據您的需求選擇適合的範本:
- 生產:適用於正式環境,預設啟用 Multi-AZ 部署
- 開發/測試:適用於開發環境,成本較低
- 免費方案:適用於學習和測試,12 個月內免費
步驟五:設定執行個體規格
| |
步驟六:連線設定
- VPC:選擇要部署的 VPC
- 子網路群組:選擇或建立子網路群組
- 公開存取:
- 選擇「是」:可從 VPC 外部連線(需搭配安全群組設定)
- 選擇「否」:僅限 VPC 內部連線
- VPC 安全群組:建立或選擇現有的安全群組
步驟七:其他設定
- 資料庫驗證:選擇密碼驗證或 IAM 資料庫驗證
- 初始資料庫名稱:設定預設建立的資料庫名稱
- 備份保留期間:設定自動備份的保留天數(0-35 天)
- 維護時段:設定維護作業的執行時間
安全群組設定
安全群組是 RDS 執行個體的虛擬防火牆,控制進出流量的規則。
建立安全群組
- 前往 EC2 控制台 → 安全群組
- 點擊「建立安全群組」
- 設定基本資訊:
- 安全群組名稱:
rds-mysql-sg - 描述:Security group for RDS MySQL
- VPC:選擇與 RDS 相同的 VPC
- 安全群組名稱:
設定傳入規則
| |
安全性最佳實務
- 最小權限原則:僅開放必要的來源 IP 或安全群組
- 避免使用 0.0.0.0/0:不建議對所有 IP 開放
- 使用安全群組參照:透過安全群組 ID 來管理存取權限
- 定期審查規則:定期檢視並移除不再需要的規則
連線方式
取得連線資訊
- 在 RDS 控制台選擇您的資料庫執行個體
- 在「連線與安全性」標籤中找到:
- 端點:資料庫的 DNS 名稱
- 連接埠:預設為 3306
使用 MySQL 用戶端連線
| |
範例:
| |
使用程式語言連線
Python 範例
| |
Node.js 範例
| |
透過 SSH 通道連線(Bastion Host)
如果 RDS 未開放公開存取,可透過跳板機(Bastion Host)建立 SSH 通道:
| |
備份與快照
自動備份
RDS 提供自動備份功能,會在指定的備份時段內自動建立資料庫的備份。
設定自動備份:
- 在 RDS 控制台選擇資料庫執行個體
- 點擊「修改」
- 在「備份」區段設定:
- 備份保留期間:1-35 天
- 備份時段:選擇低流量時段
自動備份特點:
- 包含交易日誌,支援時間點還原
- 備份保留期間到期後自動刪除
- 可還原到保留期間內的任意時間點
手動快照
手動快照(Snapshot)是使用者主動建立的資料庫備份。
建立快照:
- 在 RDS 控制台選擇資料庫執行個體
- 點擊「動作」→「建立快照」
- 輸入快照識別碼並確認
使用 AWS CLI 建立快照:
| |
從快照還原
還原步驟:
- 在 RDS 控制台選擇「快照」
- 選擇要還原的快照
- 點擊「動作」→「還原快照」
- 設定新執行個體的名稱和規格
- 點擊「還原資料庫執行個體」
注意事項:
- 還原會建立新的資料庫執行個體
- 需要重新設定安全群組和參數群組
- 建議在正式還原前先進行測試
跨區域複製快照
為了災難復原,可將快照複製到其他區域:
| |
總結
本文介紹了 AWS RDS MySQL 資料庫的建立與設定流程,包括:
- RDS 服務的基本概念與優勢
- 建立 RDS MySQL 執行個體的詳細步驟
- 安全群組的設定與最佳實務
- 多種連線方式的說明與範例
- 備份與快照的管理策略
透過 RDS 託管服務,我們可以大幅降低資料庫維運的負擔,專注於應用程式的開發。建議在實際部署前,先在開發環境中熟悉各項設定,並根據實際需求調整執行個體規格和備份策略。