首頁 > 資料庫 > mysql教程 > 移轉到 Amazon RDS

移轉到 Amazon RDS

DDD
發布: 2024-09-18 20:06:37
原創
517 人瀏覽過

Migrating to Amazon RDS

遷移到 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。
    您現在將看到有關資料庫的詳細資訊。

  • 查看監控指標
    按一下“監控”標籤。
    此標籤顯示關鍵指標,包括:

  1. CPU 使用率
  2. 資料庫連線
  3. 免費儲存空間
  4. 可用記憶體
  5. 寫入IOPS
  6. 讀取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中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板