(五)Amazon Lightsail 部署LAMP應用程序之遷移到Amazon RDS實例

遷移到您的Amazon RDS實例

在某些時候,您的應用程序需求可能須要在 Amazon Lightsail中找不到的功能。幸運的是,將應用程序的一個或全部部分移動到其餘AWS服務中很是簡單
您將數據庫組件從 Amazon Lightsail遷移到 Amazon RDS
要遷移數據庫,您須要:php

①將Amazon Lightsail VPC的IP地址範圍(無類別域間路由或CIDR,範圍)添加到Amazon RDS安全組
②在Amazon Lightsail中啓用VPC
③將您的數據從 Amazon Lightsail數據庫遷移到 Amazon RDSA數據庫
此過程將爲前端在 Amazon Lightsail 實例上運行的體系結構,但該數據如今由 Amazon RDS管理前端

在這裏插入圖片描述

1、修改您的Amazon RDS安全組

一、修改您的Amazon RDS安全組:
將數據庫組件遷移到 Amazon RDSE的第一步是確保容許來自 Amazon Lightsail VPC 的流量到達Amazon RDS。經過將 Amazon Lightsail VPC的IP地址範圍(172.26.0.0/16)現有 Amazon RDS安全組來完成此步驟。mysql

二、進入Amazon RDS數據庫界面:
https://console.aws.amazon.com/rds/home#databases:web

請確保您在以前部署實驗室資源的同一區域中操做

三、從數據庫列表中,單擊 「task-db」,請確保其狀態爲 「可用(Available)」,不然如下操做均無效
在這裏插入圖片描述
四、在「鏈接和安全」的選項卡上,單擊您的 「VPC安全組」
在這裏插入圖片描述
五、單擊「入站選項卡」:
六、單擊「編輯」
在這裏插入圖片描述
七、單擊「添加規則」,而後進行配置
示例:
①鍵入:MYSQL/Aurora
②來源:定製:172.26.0.0/16
在這裏插入圖片描述
八、單擊 「保存」sql

2、啓用VPC對等

下一步是確保 Lightsail VPC能夠與您的默認 AWS VPC進行通訊。默認狀況下,AWS中的服務沒法訪問在 Amazon Lightsail中運行的服務(反之亦然)。可是,能夠經過使用稱爲VPC對等的功能來解決這種情況。VPC對等使某些AWS服務能夠與 Amazon lightsail資源進行通訊(在這種狀況下, Amazon RDS數據庫將與在Amazon Lightsail實例上運行的Web前端進行通訊)。數據庫

一、進入Amazon Lightsail帳戶設置界面:
https://lightsail.aws.amazon.com/ls/webapp/account/profileapache

二、從水平菜單中,單擊「Advanced(高級)」
向下滾動到 「VPC對等」部分
在部署Lightsail資源的區域旁邊,選擇 「啓用VPC對等」
在這裏插入圖片描述瀏覽器

3、從新配置數據庫鏈接:

在此任務中,您將再次更新應用程序配置文件(config.php)以指向Amazon RDS數據庫
因爲您當前的 Lightsail實例都在負載均衡器下運行,所以僅將其中一些實例從新配置爲指向 Amazon RDS數據庫是不明智的。這樣作可能會致使負載均衡器顯示鏈接lightsail數據庫的一些前端以及鏈接到 Amazon RDS數據庫的其餘前端.
要避免這種狀況,您將基於現有的快照部署新的PHP前端實例,而後修改實例:安全

一、進入Amazon Lightsail快照界面:
https://lightsail.aws.amazon.com/ls/webapp/home/snapshots
二、PHP-fe-1旁邊:
①點擊 > 實例快照
②點擊在這裏插入圖片描述
③單擊「建立新實例」app

三、命令實例:PHP-fe-rds
四、滾動到屏幕底部,單擊」在這裏插入圖片描述

請注意,實例建立成功後,您就可用使用新勢力,可用將配置文件從新配置爲指向Amazon RDS數據庫

五、一旦您的PHP-fe-rds實例可用,請使用SSH對其進行鏈接
六、進入Amazon RDS數據庫界面

請確保以前部署的資源在同一區域中

七、從數據庫列表中,單擊您以前按建立的Amazon RDS數據庫名稱(此數據庫的名字爲以前建立的 「task-db」)以訪問數據庫詳細信息界面

八、從「鏈接和安全」選項卡中,將 「endpoint(端點)」複製

該端點相似於:tasks-db.cdihowyzznav.us-west-2.rds.amazonas.com

九、返回php-fe-rds實例的SSH會話界面
十、建立環境變量(RDS_ENDPOINT)以保存RDS數據庫端點的值:
①粘貼」 RDS_ENDPOINT='RDSENDPOINT' 「
②用以前的數據庫端點替換RDSENDPOINT
在這裏插入圖片描述

十一、設置默認用戶名(dbmasteruser)的環境變量和您以前建立的密碼(taskstasks)
RDS_username=dbmasteruser && RDS_PASSWORD=taskstasks

十二、驗證環境變量是否設置正確,(如下命令的輸出應與您爲RDS端點設置的值,RDS用戶名和RDS密碼匹配):
echo "Endpoint = "$RDS_ENDPOINT && echo "username = "$RDS_username && echo "Password = "$RDS_PASSWORD

1三、建立一個指向Amazon RDS數據庫的新配置文件:
**

cat /opt/bitnami/apache2/configs/config.php.bak | \
    sed "s/<endpoint>/$RDS_ENDPOINT/; \
    s/<username>/$RDS_username/; \
    s/<password>/$RDS_PASSWORD/;" \
    > /opt/bitnami/apache2/configs/config.php.rds_db

**

1四、經過將現有的config.php替換爲指向Amazon RDS數據庫的新建立的版原本激活配置:
cp /opt/bitnami/apache2/configs/config.php.rds_db /opt/bitnami/apache2/configs/config.php

1五、驗證是否已修改活動配置文件,如下命令的值應與Amazon RDS端點,用戶名和密碼的值相匹配:
cat /opt/bitnami/apache2/configs/config.php

1六、在新的瀏覽器選項卡中:
①輸入:
http://php-fe-rds/install.php
②將php-fe-rds替換爲新的實例的公有IP地址
在這裏插入圖片描述
把Amazon Lightsail數據庫中的數據遷移到Amazon RDS數據庫中,這是經過使用幾乎徹底相同的過程完成的,該過程用於將本地MySQL數據庫遷移到Amazon Lightsail數據庫

1七、在SSH窗口中建立一個(LS_ENDPOINT)的環境變量,已經過如下方式保存數據庫端點的值:
①粘貼:LS_ENDPOINT='MYENDPOINT'
②將MYENDPOINT 替換爲Lightsail數據庫的端點

1八、設置默認用戶名(dbmasteruser)的環境變量和以前建立的密碼(taskstasks)
LS_username=dbmasteruser && LS_PASSWORD=taskstasks

1九、檢查以確保正確設置環境變量(如下命令的輸出應與您爲LS端點設置的值,用戶名和密碼匹配)
echo "Endpoint = "$LS_ENDPOINT && echo "username = "$LS_username && echo "Password = "$RDS_PASSWORD

20、鍵入如下命令將數據庫導出到文件(tasks.sql)
**

mysqldump -u $LS_username \
--host $LS_ENDPOINT \
--databases tasks \
--single-transaction \
--compress \
--order-by-primary  \
--set-gtid-purged=OFF \
-p$LS_PASSWORD  > tasks.sql

**

2一、經過MySQL命令行工具訪問您的Amazon RDS實例
**

mysql -u $RDS_username \
--port=3306 \
--host=$RDS_ENDPOINT \
-p$RDS_PASSWORD

**

2二、將以前建立的數據庫轉儲文件導入MySQL
source tasks.sql;

2三、在瀏覽器選項卡中
①http://php-fe-rds
②將php-fe-rds替換爲新的實例的公有IP地址

您應該可用看到您最初建立的任務如今存在於由Amazon RDS管理的數據庫中

從這一點開始,您可用重複此步驟並從php-fe-rds實例建立新快照,從該新快照部署2個實例,並用您的三個新勢力替換負載均衡其中的現有實例使用Amazon RDS

此過程將爲您提供在Amazon Lightsail中運行的冗餘Web前端,數據庫在Amazon RDS中運行。

相關文章
相關標籤/搜索