(五)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服务器自己解析,那是否意味着多台 ...
随机推荐
- EXPDP导数报ORA-00942案例
使用数据泵(expdp)导数时遇到了ORA-31626 & ORA-00942 错误,数据库版本为Oracle Database 10g Release 10.2.0.5.0,具体错误如下所示 ...
- Linux:nginx服务器的搭建
搭建nginx网站服务器 安装nginx yum install nginx 启动服务 安装完成后启动服务 systemctl start nginx 通过浏览器测试 地址栏输入localhost 不 ...
- Linux第一章-目录初识
一.Linux基本介绍: Linux 是一种自由和开放源码的类 UNIX 操作系统,使用 Linux 内核.目前存在着许多不同的 Linux 发行版,可安装在各种各样的电脑硬件设备,从手机.平板电脑. ...
- 《Web Development with Go》两个Middleware执行顺序
也加了如果有认证时的执行流程: 一个错误, 一个正确. package main import ( "fmt" "log" "net/http&quo ...
- 有static的方法和没有static的调用
package com.yh.test02; public class Test { public static void main(String[] args) { Test.method1(); ...
- rowKey原则
rowKey设计原则 1.长度原则 最大值为64KB, 长度在10 ~ 100byte ; 最好是 8 的倍数,太长会影响性能: 2.唯一原则 具有唯一性: 3.散列原则 1).盐值散列:不能使用时间 ...
- LVS负载均衡实现双向热备
一.LVS1服务器配置 安装ipvsadm,keepalived [root@localhost ~]# yum -y install ipvsadm keepalived 配置keepalivedd ...
- spider-通过scrapyd网页管理工具执行scrapy框架
1.首先写一个scrapy框架爬虫的项目 scrapy startproject 项目名称 # 创建项目 cd 项目名称 scrapy genspider 爬虫名称 爬虫网址(www.xxxx) #生 ...
- 简单的Python GUI界面框架
Python开发GUI界面, 可以使用pyQT或者wxpython. 不过不论pyQT还是wxpython都需要比较多的学习成本.Python工程往往是用于快速开发的,有些时候引入pyQT,wxpyt ...
- Python - ^在正则表达式中的作用
^在正则表达式中有两个作用,一是表达以什么开头,二是表达对什么取反.有时候经常傻傻的分不清楚,接下来给大家详细介绍该怎么用这个^准备一个python文件test.py,借用re.search函数举例说 ...