(五)Amazon Lightsail 部署LAMP应用程序之迁移到Amazon RDS实例
迁移到您的Amazon RDS实例
在某些时候,您的应用程序需求可能需要在 Amazon Lightsail中找不到的功能。幸运的是,将应用程序的一个或所有部分移动到其他AWS服务中非常简单
您将数据库组件从 Amazon Lightsail迁移到 Amazon RDS
要迁移数据库,您需要:
①将Amazon Lightsail VPC的IP地址范围(无类別域间路由或CIDR,范围)添加到Amazon RDS安全组
②在Amazon Lightsail中启用VPC
③将您的数据从 Amazon Lightsail数据库迁移到 Amazon RDSA数据库
此过程将为前端在 Amazon Lightsail 实例上运行的体系结构,但该数据现在由 Amazon RDS管理

一、修改您的Amazon RDS安全组
1、修改您的Amazon RDS安全组:
将数据库组件迁移到 Amazon RDSE的第一步是确保允许来自 Amazon Lightsail VPC 的流量到达Amazon RDS。通过将 Amazon Lightsail VPC的IP地址范围(172.26.0.0/16)现有 Amazon RDS安全组来完成此步骤。
2、进入Amazon RDS数据库界面:
https://console.aws.amazon.com/rds/home#databases:
请确保您在之前部署实验室资源的同一区域中操作
3、从数据库列表中,单击 “task-db”,请确保其状态为 “可用(Available)”,否则以下操作均无效

4、在“连接和安全”的选项卡上,单击您的 “VPC安全组”

5、单击“入站选项卡”:
6、单击“编辑”

7、单击“添加规则”,然后进行配置
示例:
①键入:MYSQL/Aurora
②来源:定制:172.26.0.0/16

8、单击 “保存”
二、启用VPC对等
下一步是确保 Lightsail VPC可以与您的默认 AWS VPC进行通信。默认情况下,AWS中的服务无法访问在 Amazon Lightsail中运行的服务(反之亦然)。但是,可以通过使用称为VPC对等的功能来解決这种情況。VPC对等使某些AWS服务可以与 Amazon lightsail资源进行通信(在这种情况下, Amazon RDS数据库将与在Amazon Lightsail实例上运行的Web前端进行通信)。
1、进入Amazon Lightsail账户设置界面:
https://lightsail.aws.amazon.com/ls/webapp/account/profile
2、从水平菜单中,单击“Advanced(高级)”
向下滚动到 “VPC对等”部分
在部署Lightsail资源的区域旁边,选择 “启用VPC对等”

三、重新配置数据库连接:
在此任务中,您将再次更新应用程序配置文件(config.php)以指向Amazon RDS数据库
由于您当前的 Lightsail实例都在负载均衡器下运行,因此仅将其中一些实例重新配置为指向 Amazon RDS数据库是不明智的。这样做可能会导致负载均衡器显示连接lightsail数据库的一些前端以及连接到 Amazon RDS数据库的其他前端.
要避免这种情况,您将基于现有的快照部署新的PHP前端实例,然后修改实例:
1、进入Amazon Lightsail快照界面:
https://lightsail.aws.amazon.com/ls/webapp/home/snapshots
2、PHP-fe-1旁边:
①点击 > 实例快照
②点击
③单击“创建新实例”
3、命令实例:PHP-fe-rds
4、滚动到屏幕底部,单击”
”
请注意,实例创建成功后,您就可用使用新势力,可用将配置文件重新配置为指向Amazon RDS数据库
5、一旦您的PHP-fe-rds实例可用,请使用SSH对其进行连接
6、进入Amazon RDS数据库界面
请确保之前部署的资源在同一区域中
7、从数据库列表中,单击您之前按创建的Amazon RDS数据库名称(此数据库的名字为之前创建的 “task-db”)以访问数据库详细信息界面
8、从“连接和安全”选项卡中,将 “endpoint(端点)”复制
该端点类似于:tasks-db.cdihowyzznav.us-west-2.rds.amazonas.com
9、返回php-fe-rds实例的SSH会话界面
10、创建环境变量(RDS_ENDPOINT)以保存RDS数据库端点的值:
①粘贴” RDS_ENDPOINT='RDSENDPOINT' “
②用之前的数据库端点替换RDSENDPOINT

11、设置默认用户名(dbmasteruser)的环境变量和您之前创建的密码(taskstasks)
RDS_username=dbmasteruser && RDS_PASSWORD=taskstasks
12、验证环境变量是否设置正确,(以下命令的输出应与您为RDS端点设置的值,RDS用户名和RDS密码匹配):
echo "Endpoint = "$RDS_ENDPOINT && echo "username = "$RDS_username && echo "Password = "$RDS_PASSWORD
13、创建一个指向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
**
14、通过将现有的config.php替换为指向Amazon RDS数据库的新创建的版本来激活配置:
cp /opt/bitnami/apache2/configs/config.php.rds_db /opt/bitnami/apache2/configs/config.php
15、验证是否已修改活动配置文件,以下命令的值应与Amazon RDS端点,用户名和密码的值相匹配:
cat /opt/bitnami/apache2/configs/config.php
16、在新的浏览器选项卡中:
①输入:
http://php-fe-rds/install.php
②将php-fe-rds替换为新的实例的公有IP地址

把Amazon Lightsail数据库中的数据迁移到Amazon RDS数据库中,这是通过使用几乎完全相同的过程完成的,该过程用于将本地MySQL数据库迁移到Amazon Lightsail数据库
17、在SSH窗口中创建一个(LS_ENDPOINT)的环境变量,已通过以下方式保存数据库端点的值:
①粘贴:LS_ENDPOINT='MYENDPOINT'
②将MYENDPOINT 替换为Lightsail数据库的端点
18、设置默认用户名(dbmasteruser)的环境变量和之前创建的密码(taskstasks)
LS_username=dbmasteruser && LS_PASSWORD=taskstasks
19、检查以确保正确设置环境变量(以下命令的输出应与您为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
**
21、通过MySQL命令行工具访问您的Amazon RDS实例
**
mysql -u $RDS_username \
--port=3306 \
--host=$RDS_ENDPOINT \
-p$RDS_PASSWORD
**
22、将之前创建的数据库转储文件导入MySQL
source tasks.sql;
23、在浏览器选项卡中
①http://php-fe-rds
②将php-fe-rds替换为新的实例的公有IP地址
您应该可用看到您最初创建的任务现在存在于由Amazon RDS管理的数据库中
从这一点开始,您可用重复此步骤并从php-fe-rds实例创建新快照,从该新快照部署2个实例,并用您的三个新势力替换负载均衡其中的现有实例使用Amazon RDS
此过程将为您提供在Amazon Lightsail中运行的冗余Web前端,数据库在Amazon RDS中运行。
(五)Amazon Lightsail 部署LAMP应用程序之迁移到Amazon RDS实例的更多相关文章
- (六)Amazon Lightsail 部署LAMP应用程序之升级到Amazon EC2
升级到Amazon EC2 将Amazon Lightsail实例升级为Amazon EC2 您将进行以下操作: ①创建使用 Amazon RDS的Web前端实例的快照 ②将该快照导出到 Amazon ...
- Amazon Lightsail部署LAMP应用程序之部署实验室基础架构
一.在Lightsail中创建LAMP堆栈实例 1.在AWS管理控制台的"服务"下拉选项中单击"Lightsail". 2.在语言方面选择 "英语&q ...
- (导航页)Amazon Lightsail 部署LAMP应用程序(HA)
Amazon Lightsail 简介: Amazon Lightsail是一个具有易于使用的界面,具有成本效益,快速和可靠的云平台.它是更简单的工作负载,快速部署以及Amazon Web Servi ...
- (三)Amazon Lightsail 部署LAMP应用程序之连接到Lightsail数据库
连接到Lightsail数据库 简介:应用程序的Web前端的第一次迭代不建议固有的可伸缩性,因为数据库和前端位于同一台机器,只需要额外的前端容量,添加额外的数据库实例就会出现问题,若想解决此问题,需要 ...
- (二)Amazon Lightsail 部署LAMP应用程序之部署单片LAMP应用程序
部署单片LAMP应用程序 简介:通过复制应用程序代码并提供链接PHP前端和本地MySQL数据库的参数,将LAMP对战应用程序部署到先前启动的Lightsail实例中.完成后,Apache/PHP前端和 ...
- (四)Amazon Lightsail 部署LAMP应用程序之扩展PHP前端
扩展PHP前端 既然PHP前端和数据库是分开的,您将为Web层添加可伸缩性和容错性: 在以下步骤,您将获取Web前端实例的快照,并从该快照部署另外2个Web层实例.最终,您将在三个Web实例前面添加一 ...
- (七)Amazon Lightsail 部署LAMP应用程序之清除已安装服务
1.删除Lightsail实例 2.删除MySQL数据库 3.删除Amazon RDS数据库 4.删除负载均衡器 5.删除EC2实例 6.删除EC2安全组 7.删除快照
- 实验十五 GUI编程练习与应用程序部署
实验十五 GUI编程练习与应用程序部署 实验时间 2018-12-6 一:理论部分 1.Java 程序的打包:编译完成后,程序员将.class 文件压缩打包为 .jar 文件后,GUI 界面序就可以 ...
- 部署LAMP+NFS实现双Web服务器负载均衡
一.需求分析 1.前端需支持更大的访问量,单台Web服务器已无法满足需求了,则需扩容Web服务器: 2.虽然动态内容可交由后端的PHP服务器执行,但静态页面还需要Web服务器自己解析,那是否意味着多台 ...
随机推荐
- docker-compose 使用自定义网络并绑定 IP
0x00 事件 原先使用了 docker network create mynetwork 的方式创建了自定义网络,在使用 docker-compose 工具运行服务的时候,需要容器使用 mynetw ...
- 渗透测试学习 二十九、kali安装,信息搜集,服务器扫描
kali安装,信息搜集,服务器扫描 kali介绍 Kali Linux是基于Debian的Linux发行版, 设计用于数字取证操作系统.由Offensive Security Ltd维护和资助.最先由 ...
- (入门SpringBoot)SpringBoot加接口操作日志好方法(九)
用Spring的切面去做,慕课网上的大神的小妙招,被我拷贝下来了.import org.aspectj.lang.JoinPoint; import org.aspectj.lang.annotati ...
- win7 Adobe flash player 无法在线更新
1.win7 Adobe flash player 无法在线更新,提示应用程序初始化错误 解决方法: 1.https://www.flash.cn/看一下支持的版本,网上找对应版本离线包下载安装即可 ...
- webdriver-键盘操作 for java
2017年01月17日 17:08:25 阅读数:2044 import java.awt.AWTException;import java.awt.Robot;import java.awt.eve ...
- for(var i in items) 和 for(var i;i<items.length;i++) 区别
前者循环的是属性,后者循环的才是数组. 若项目中对数组属性进行了扩展,那切记不能使用前者,否则在循环数组时扩展的函数体也会被当做数据返回. var data = { p1:1, p2:"b& ...
- C# Stack 集合学习
Stack 集合学习 学习自:博客园相关文章 Stack<T>集合 这个集合的特点为:后进先出,简单来说就是新元素都放到第一位,而且顺序移除元素也是从第一位开始的. 方法一:Push(T ...
- 解决上一篇bean.xml中<bean>标签报错“ Error while downloading 'http://www.springframework.org/schema/beans/spring-beans.xsd........”
在xml文件中,头部报错如题 一开始查询,说是头部少了“<?xml version="1.0" encoding="UTF-8"?>”,但是我并没有 ...
- MySQL-8.0.18 引入了破坏性变更
MySQL-8.0.18 引入了破坏性变更 变更日志里面有这样一项 When the server is run with --initialize, there is no reason to lo ...
- [算法]LeetCode 120:三角形最小路径和
题目描述: 给定一个三角形,找出自顶向下的最小路径和.每一步只能移动到下一行中相邻的结点上. 例如,给定三角形: [ [2], [3,4], [6,5,7], [4,1,8,3]]自顶向下的最小路径和 ...