搜尋
首頁資料庫mysql教程移轉到 Amazon RDS
移轉到 Amazon RDSSep 18, 2024 pm 08:06 PM

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中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
如何使用Alter Table語句在MySQL中更改表?如何使用Alter Table語句在MySQL中更改表?Mar 19, 2025 pm 03:51 PM

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

如何為MySQL連接配置SSL/TLS加密?如何為MySQL連接配置SSL/TLS加密?Mar 18, 2025 pm 12:01 PM

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

您如何處理MySQL中的大型數據集?您如何處理MySQL中的大型數據集?Mar 21, 2025 pm 12:15 PM

文章討論了處理MySQL中大型數據集的策略,包括分區,碎片,索引和查詢優化。

哪些流行的MySQL GUI工具(例如MySQL Workbench,PhpMyAdmin)是什麼?哪些流行的MySQL GUI工具(例如MySQL Workbench,PhpMyAdmin)是什麼?Mar 21, 2025 pm 06:28 PM

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

如何使用Drop Table語句將表放入MySQL中?如何使用Drop Table語句將表放入MySQL中?Mar 19, 2025 pm 03:52 PM

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

如何在JSON列上創建索引?如何在JSON列上創建索引?Mar 21, 2025 pm 12:13 PM

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

您如何用外國鑰匙代表關係?您如何用外國鑰匙代表關係?Mar 19, 2025 pm 03:48 PM

文章討論了使用外國密鑰來代表數據庫中的關係,重點是最佳實踐,數據完整性和避免的常見陷阱。

如何保護MySQL免受常見漏洞(SQL注入,蠻力攻擊)?如何保護MySQL免受常見漏洞(SQL注入,蠻力攻擊)?Mar 18, 2025 pm 12:00 PM

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

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3 英文版

SublimeText3 英文版

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

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

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

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具