(五)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服务器自己解析,那是否意味着多台 ...
随机推荐
- 【Java基础】Java中的反射机制
一.反射的理解 (1)正射 在理解反射这个概念之前,我们先来理解Java中的“正射”. 我们在编写代码时,当需要使用到某一个类的时候,必定先会去了解这是一个什么类,是用来做什么的,有怎么样的功能. 之 ...
- 11.JavaCC官方入门指南-例6
例6:计算器--添加括号.一元运算符和历史记录 1.calculator3.jj 我们只需要再添加一些特色,就可以得到一个可用的四则运算计算器.在这一版的修改中 ,我们将使得程序可以接收括号.负值 ...
- netperf 网络测试工具
软件介绍: netperf是惠普公司开源的一款针对网络性能的测试工具,主要基于TCP或UDP的传输.根据应用的不同,可以进行批量数据传输(bulk data transfer)模式和请求/应答(req ...
- Linux Thermal Framework分析及实施
关键词:Zone.Cooling.Governor.Step Wise.Fair Share.trip等等. Linux Thermal的目的是控制系统运行过程中采样点温度,避免温度过高造成器件损坏, ...
- CodeForces - 103B(思维+dfs找环)
题意 https://vjudge.net/problem/CodeForces-103B 很久很久以前的一天,一位美男子来到海边,海上狂风大作.美男子希望在海中找到美人鱼 ,但是很不幸他只找到了章鱼 ...
- Codeforces Round #584
传送门 A. Paint the Numbers 签到. Code #include <bits/stdc++.h> using namespace std; typedef long l ...
- poj 2431 Expedition 贪心 优先队列 题解《挑战程序设计竞赛》
地址 http://poj.org/problem?id=2431 题解 朴素想法就是dfs 经过该点的时候决定是否加油 中间加了一点剪枝 如果加油次数已经比已知最少的加油次数要大或者等于了 那么就剪 ...
- java之API初识
API概念 API(Application Programming Interface),应用程序编程接口.JavaAPI是一本程序员的字典 ,是JDK中提供给 我们使用的类的说明文档.这些类将底层的 ...
- LG4516/LOJ2546 「JSOI2018」潜入行动 树上背包
问题描述 LG4516 LOJ2546 题解 好一个毒瘤题. hkk:JSOI的签到题 设\(opt[i][j][0/1][0/1]\)代表结点\(i\)的子树,放置\(j\)个,\(i\)放不放,\ ...
- python中append的使用
没有系统地学习过python,最近在append的使用上遇到了大问题,吃到了苦头 之前一直单纯地认为通过append把数添加到list中,不需要提前开空间,非常便利,但却没有意识到这个过程并不是值传递 ...