遷移到 Amazon RDS 的實驗通常涉及將現有的本地或雲端託管資料庫傳輸到 Amazon 的關聯式資料庫服務 (RDS)。目標是透過利用 AWS 的託管服務進行自動備份、修補、監控和擴展來減輕管理資料庫的營運負擔。
目標:
- 使用 AWS CLI 建立 Amazon RDS MariaDB 執行個體。
- 將資料從 EC2 執行個體上的 MariaDB 資料庫移轉到 Amazon RDS MariaDB 執行個體。
- 使用 Amazon CloudWatch 指標監控 Amazon RDS 執行個體。
摘要:
- 使用 AWS CLI 建立 Amazon RDS 執行個體
- 將應用程式資料移轉到 Amazon RDS 執行個體
- 設定網站以使用 Amazon RDS 執行個體
- 監控 Amazon RDS 資料庫
應用程式資料庫與應用程式程式碼一起在 Amazon Elastic Compute Cloud (Amazon EC2) Linux、Apache、MySQL 和 PHP (LAMP) 執行個體中執行。此實例具有 T3 小型實例類型,並在公有子網路中運行,以便 Internet 用戶端可以存取網站。 CLI 主機執行個體駐留在相同子網路中,以便於使用 AWS 命令列介面 (AWS CLI) 進行執行個體管理。
使用 AWS CLI 建立 Amazon RDS 執行個體:
- 配置 AWS CLI。
- 建立建置 Amazon RDS 執行個體所需的下列必備元件:
- Amazon RDS 執行個體的安全群組防火牆
- 兩個私有子網路和一個資料庫子網路群組
- 建立 Amazon RDS MariaDB 實例。
- 在 AWS 管理主控台的搜尋列中,輸入並選擇 EC2 以開啟 EC2 管理主控台。
- 在導覽窗格中,選擇實例。
- 從實例清單中,選擇 CLI 主機實例。
- 選擇連線。
- 在 EC2 執行個體連線標籤上,選擇連線。
- 要使用憑證設定 AWS CLI 設定文件,請在 EC2 Instance Connect 終端機中執行下列命令: ‘aws 配置’
- 輸入使用者的存取金鑰和秘密存取金鑰。
- 建立安全性群組:設定CafeDatabaseSG來保護RDS實例。
- 新增入站規則:僅允許來自 CafeSecurityGroup 中實例的 MySQL 請求(TCP 協議,連接埠 3306)。
- 建立私有子網路:建立兩個私有子網路(CafeDB私有子網路1和CafeDB私有子網路2)。
- 建立資料庫子網路群組:為 RDS 定義 CafeDB 子網路群組,並將其與私有子網路關聯。
- 建立 CafeDatabaseSG 安全群組: 運行指令: aws ec2 建立安全群組 --group-name CafeDatabaseSG --description “Cafe 資料庫的安全群組” --vpc-id
輸出:記下 GroupId 以供將來使用。
為 CafeDatabaseSG 建立入站規則:
執行指令:
aws ec2 授權安全群組入口
--group-id
--協定 tcp --連接埠 3306
--源組驗證入站規則:
執行指令:
aws ec2 描述安全群組
--query "SecurityGroups[*].[GroupName,GroupId,IpPermissions]"
--filters "Name=group-name,Values='CafeDatabaseSG'"建立 CafeDB 私有子網路 1
執行指令:
aws ec2 建立子網路
--vpc-id
--cidr-block 10.200.2.0/23
--可用區域
輸出:記下 SubnetId 以供將來使用。
建立 CafeDB 私有子網路 2
執行指令:
aws ec2 建立子網路
--vpc-id
--cidr-block 10.200.10.0/23
--可用區域
輸出:記下 SubnetId 以供將來使用。建立資料庫子網路群組
執行指令:
aws rds create-db-subnet-group
--db-subnet-group-name "CafeDB 子網路群組"
--db-subnet-group-description "咖啡館的資料庫子網組"
--子網路-ids
--tags "Key=Name,Value=CafeDatabaseSubnetGroup"建立 CafeDBInstance
執行以下命令來建立具有指定配置的 MariaDB 實例:
執行指令:
aws rds create-db-instance
--db-instance-identifier CafeDBInstance
--engine mariadb
--engine-版本 10.5.13
--db-instance-class db.t3.micro
--分配儲存 20
--可用區域
--db-subnet-group-name "CafeDB 子網路群組"
--vpc-安全群組-ids
--不可公開訪問
--master-username root --master-user-password 'Re:Start!9'
關鍵設定:
- 資料庫執行個體識別碼:CafeDBInstance
- 引擎:MariaDB(版本 10.5.13)
- 實例類別:db.t3.micro
- 分配的儲存空間:20 GB
- 安全群組:CafeDatabaseSG
- 使用者名稱:root
密碼:Re:Start!9
資料庫執行個體的建立可能最多需要 10 分鐘。監控資料庫執行個體的狀態
執行建立指令後,透過執行以下指令監控資料庫的狀態:
執行指令:
aws rds 描述資料庫實例
--db-instance-identifier CafeDBInstance
--query "DBInstances[*].[Endpoint.Address,AvailabilityZone,PreferredBackupWindow,BackupRetentionPeriod,DBInstanceStatus]"
觀察內容:此指令將傳回端點位址、可用區、備份視窗、保留期和實例狀態等資訊。
最初狀態會顯示為正在創建,然後經過修改、備份,最後變成可用。
- 繼續每隔幾分鐘執行一次狀態命令,直到資料庫的狀態顯示為可用。 運行指令: AWS rds 描述資料庫實例 --db-instance-identifier CafeDBInstance --query "DBInstances[*].[DBInstanceStatus]"
將應用程式資料移轉到 Amazon RDS 執行個體:
- 連線到 EC2 執行個體 (CafeInstance)
在終端機中,執行下列指令來建立本機 Cafe_db 資料庫的備份:
執行指令:
mysqldump --user=root --password='Re:Start!9'
--資料庫 Cafe_db --add-drop-database > Cafedb-backup.sql查看備份檔
您可以使用 less 指令查看備份的內容:
執行指令:
少 Cafedb-backup.sql
使用箭頭鍵或 Page Up/Down 進行導航,使用 q 退出。
將備份還原到 Amazon RDS 資料庫
執行以下命令將備份還原到RDS實例。替換為您實際的 RDS 執行個體端點:
運行指令
mysql --user=root --password='Re:Start!9'
--主機=
驗證資料遷移
開啟與 RDS 實例的互動式 MySQL 會話:
執行指令:
mysql --user=root --password='Re:Start!9'
--主機=
咖啡廳_db
進入 MySQL 會話後,透過執行以下 SQL 查詢來驗證產品表中的資料:
sql
執行指令:
從產品中選擇*;
確保傳回的資料與原始資料庫相符。
- 退出 MySQL 會話 驗證資料後,輸入以下命令退出 MySQL 會話: 運行指令 退出
注意:保持 SSH 視窗開啟以供未來的任務使用。
設定網站以使用 Amazon RDS 執行個體
開啟 AWS Systems Manager
在 AWS 管理主控台中,在搜尋欄中搜尋 Systems Manager。
導航至系統管理員。存取參數儲存
在左側導覽窗格中,選擇參數儲存。編輯 /cafe/dbUrl 參數
從我的參數清單中,選擇 /cafe/dbUrl。
選擇“編輯”來修改參數值。更新資料庫 URL
在參數詳細資料頁面中,將現有值替換為 RDS 執行個體資料庫端點位址。
格式應類似:
執行指令:
cafedbinstance.xxxxxxx.us-west-2.rds.amazonaws.com
按一下儲存變更以更新參數。
- 測試網站
開啟新的瀏覽器視窗並貼上您先前儲存的 CafeInstanceURL(例如,http://ec2-xx-xx-xx-xx.compute-1.amazonaws.com)。
咖啡館網站的主頁應該加載。
- 驗證資料庫連接 前往網站上的「訂單歷史記錄」標籤。 檢查顯示的訂單數量。它應該與遷移前本地資料庫中的編號相符。
監控 Amazon RDS 資料庫
開啟 Amazon RDS 控制台
在 AWS 管理主控台中,搜尋 RDS。
進入 RDS 管理控制台。選擇資料庫
在左側導覽窗格中,選擇資料庫。
從清單中選擇 Cafedbinstance。
您現在將看到有關資料庫的詳細資訊。查看監控指標
按一下“監控”標籤。
此標籤顯示關鍵指標,包括:
- CPU 使用率
- 資料庫連線
- 免費儲存空間
- 可用記憶體
- 寫入IOPS
- 讀取IOPS
監控資料庫連線指標
尋找 DatabaseConnections 圖。如果需要,請前往指標圖表的第 2 或第 3 頁。
該圖追蹤活動資料庫連接的數量。連接到 RDS 資料庫
在 CafeInstance 終端機視窗中,執行下列命令開啟 MySQL 會話:
運行指令
mysql --user=root --password='Re:Start!9'
--主機=
咖啡廳_db
替換為您的 RDS 實例端點。
- 執行 SQL 查詢 在 MySQL 會話中,執行下列 SQL 查詢以從產品表中擷取資料: sql 運行指令: 從產品中選擇*;
查詢應傳回產品表中的資料。
檢查資料庫連接圖
在 RDS 控制台中,按一下 DatabaseConnections 圖表。
現在您應該看到來自互動式 SQL 會話的 1 個活動連線。
如果圖表沒有更新,請等待 1 分鐘,然後按一下「刷新」。關閉 MySQL 會話
在 CafeInstance 終端機視窗中,退出 MySQL 會話:
執行指令
退出
斷開連線後監控連線
等待 1 分鐘,然後刷新 RDS 控制台中的 DatabaseConnections 圖表。
連接數現在應顯示為 0。探索其他指標
您可以透過在「監控」標籤上查看圖表來探索其他指標,例如 CPUUtilization、FreeStorageSpace、WriteIOPS 和 ReadIOPS。
以上是移轉到 Amazon RDS的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文討論了使用MySQL的Alter Table語句修改表,包括添加/刪除列,重命名表/列以及更改列數據類型。

文章討論了為MySQL配置SSL/TLS加密,包括證書生成和驗證。主要問題是使用自簽名證書的安全含義。[角色計數:159]

文章討論了流行的MySQL GUI工具,例如MySQL Workbench和PhpMyAdmin,比較了它們對初學者和高級用戶的功能和適合性。[159個字符]

本文討論了使用Drop Table語句在MySQL中放下表,並強調了預防措施和風險。它強調,沒有備份,該動作是不可逆轉的,詳細介紹了恢復方法和潛在的生產環境危害。

本文討論了在PostgreSQL,MySQL和MongoDB等各個數據庫中的JSON列上創建索引,以增強查詢性能。它解釋了索引特定的JSON路徑的語法和好處,並列出了支持的數據庫系統。

文章討論了使用準備好的語句,輸入驗證和強密碼策略確保針對SQL注入和蠻力攻擊的MySQL。(159個字符)


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

禪工作室 13.0.1
強大的PHP整合開發環境

Atom編輯器mac版下載
最受歡迎的的開源編輯器

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Dreamweaver Mac版
視覺化網頁開發工具