遷移到 Amazon RDS 的實驗通常涉及將現有的本地或雲端託管資料庫傳輸到 Amazon 的關聯式資料庫服務 (RDS)。目標是透過利用 AWS 的託管服務進行自動備份、修補、監控和擴展來減輕管理資料庫的營運負擔。
目標:
摘要:
應用程式資料庫與應用程式程式碼一起在 Amazon Elastic Compute Cloud (Amazon EC2) Linux、Apache、MySQL 和 PHP (LAMP) 執行個體中執行。此實例具有 T3 小型實例類型,並在公有子網路中運行,以便 Internet 用戶端可以存取網站。 CLI 主機執行個體駐留在相同子網路中,以便於使用 AWS 命令列介面 (AWS CLI) 進行執行個體管理。
使用 AWS CLI 建立 Amazon RDS 執行個體:
輸出:記下 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'
關鍵設定:
密碼:Re:Start!9
資料庫執行個體的建立可能最多需要 10 分鐘。
監控資料庫執行個體的狀態
執行建立指令後,透過執行以下指令監控資料庫的狀態:
執行指令:
aws rds 描述資料庫實例
--db-instance-identifier CafeDBInstance
--query "DBInstances[*].[Endpoint.Address,AvailabilityZone,PreferredBackupWindow,BackupRetentionPeriod,DBInstanceStatus]"
觀察內容:此指令將傳回端點位址、可用區、備份視窗、保留期和實例狀態等資訊。
最初狀態會顯示為正在創建,然後經過修改、備份,最後變成可用。
將應用程式資料移轉到 Amazon RDS 執行個體:
在終端機中,執行下列指令來建立本機 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
執行指令:
從產品中選擇*;
確保傳回的資料與原始資料庫相符。
注意:保持 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。
您現在將看到有關資料庫的詳細資訊。
查看監控指標
按一下“監控”標籤。
此標籤顯示關鍵指標,包括:
監控資料庫連線指標
尋找 DatabaseConnections 圖。如果需要,請前往指標圖表的第 2 或第 3 頁。
該圖追蹤活動資料庫連接的數量。
連接到 RDS 資料庫
在 CafeInstance 終端機視窗中,執行下列命令開啟 MySQL 會話:
運行指令
mysql --user=root --password='Re:Start!9'
--主機=
咖啡廳_db
替換為您的 RDS 實例端點。
查詢應傳回產品表中的資料。
檢查資料庫連接圖
在 RDS 控制台中,按一下 DatabaseConnections 圖表。
現在您應該看到來自互動式 SQL 會話的 1 個活動連線。
如果圖表沒有更新,請等待 1 分鐘,然後按一下「刷新」。
關閉 MySQL 會話
在 CafeInstance 終端機視窗中,退出 MySQL 會話:
執行指令
退出
斷開連線後監控連線
等待 1 分鐘,然後刷新 RDS 控制台中的 DatabaseConnections 圖表。
連接數現在應顯示為 0。
探索其他指標
您可以透過在「監控」標籤上查看圖表來探索其他指標,例如 CPUUtilization、FreeStorageSpace、WriteIOPS 和 ReadIOPS。
以上是移轉到 Amazon RDS的詳細內容。更多資訊請關注PHP中文網其他相關文章!