迁移到您的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实例的更多相关文章

  1. (六)Amazon Lightsail 部署LAMP应用程序之升级到Amazon EC2

    升级到Amazon EC2 将Amazon Lightsail实例升级为Amazon EC2 您将进行以下操作: ①创建使用 Amazon RDS的Web前端实例的快照 ②将该快照导出到 Amazon ...

  2. Amazon Lightsail部署LAMP应用程序之部署实验室基础架构

    一.在Lightsail中创建LAMP堆栈实例 1.在AWS管理控制台的"服务"下拉选项中单击"Lightsail". 2.在语言方面选择 "英语&q ...

  3. (导航页)Amazon Lightsail 部署LAMP应用程序(HA)

    Amazon Lightsail 简介: Amazon Lightsail是一个具有易于使用的界面,具有成本效益,快速和可靠的云平台.它是更简单的工作负载,快速部署以及Amazon Web Servi ...

  4. (三)Amazon Lightsail 部署LAMP应用程序之连接到Lightsail数据库

    连接到Lightsail数据库 简介:应用程序的Web前端的第一次迭代不建议固有的可伸缩性,因为数据库和前端位于同一台机器,只需要额外的前端容量,添加额外的数据库实例就会出现问题,若想解决此问题,需要 ...

  5. (二)Amazon Lightsail 部署LAMP应用程序之部署单片LAMP应用程序

    部署单片LAMP应用程序 简介:通过复制应用程序代码并提供链接PHP前端和本地MySQL数据库的参数,将LAMP对战应用程序部署到先前启动的Lightsail实例中.完成后,Apache/PHP前端和 ...

  6. (四)Amazon Lightsail 部署LAMP应用程序之扩展PHP前端

    扩展PHP前端 既然PHP前端和数据库是分开的,您将为Web层添加可伸缩性和容错性: 在以下步骤,您将获取Web前端实例的快照,并从该快照部署另外2个Web层实例.最终,您将在三个Web实例前面添加一 ...

  7. (七)Amazon Lightsail 部署LAMP应用程序之清除已安装服务

    1.删除Lightsail实例 2.删除MySQL数据库 3.删除Amazon RDS数据库 4.删除负载均衡器 5.删除EC2实例 6.删除EC2安全组 7.删除快照

  8. 实验十五 GUI编程练习与应用程序部署

    实验十五  GUI编程练习与应用程序部署 实验时间 2018-12-6 一:理论部分 1.Java 程序的打包:编译完成后,程序员将.class 文件压缩打包为 .jar 文件后,GUI 界面序就可以 ...

  9. 部署LAMP+NFS实现双Web服务器负载均衡

    一.需求分析 1.前端需支持更大的访问量,单台Web服务器已无法满足需求了,则需扩容Web服务器: 2.虽然动态内容可交由后端的PHP服务器执行,但静态页面还需要Web服务器自己解析,那是否意味着多台 ...

随机推荐

  1. GitHub访问速度慢的一种优化方法

    GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git 作为唯一的版本库格式进行托管,故名GitHub. 由于GitHub是一个国外网站,在国内访问速度如何呢? 我们通过浏览器访问下ht ...

  2. Shell—各种括号的用法

    括号的种类 小括号,圆括号 ( ) 中括号,方括号 [ ] 大括号.花括号 { } 一.单小括号 () 1.另开命令组——小括号中的命令将会新开启一个子shell独立顺序运行,所以括号中的变量不能够被 ...

  3. postman---postman常用的快捷键

    作为一名IT程序猿,不懂一些工具的快捷方式,应该会被鄙视的吧.收集了一些Postman的快捷方式,大家一起动手操作~ 简单操作 操作 mac系统 windows系统 打开新标签 ⌘T Ctrl + T ...

  4. Educational Codeforces Round 76 (Rated for Div. 2)

    传送门 A. Two Rival Students 签到. Code /* * Author: heyuhhh * Created Time: 2019/11/13 22:37:26 */ #incl ...

  5. Builder模式的演示

    Builder模式的演示 package com.mozq.mb.mb01.pojo; /* 类的某些参数给出了默认值,但是一旦设置了就不可变.使用Builder模式来创建. */ public cl ...

  6. 用arthas的watch方法观察执行方法的输入输出

    watch 的参数比较多,主要是因为它能在 4 个不同的场景观察对象 参数名称 参数说明 class-pattern 类名表达式匹配 method-pattern 方法名表达式匹配 express 观 ...

  7. 克隆系统后如何重新清除SID

    为什么要清除SID? SID(Security Identifiers,安全标识符)是Windows中标识用户.组和计算机的唯一的号码,Windows操作系统通过SID对计算机和用户进行识别.用户的权 ...

  8. Paper | PyTorch: An Imperative Style, High-Performance Deep Learning Library

    目录 0. 摘要 1. 简介 2. 背景 3. 设计原则 4. 针对易用性的核心设计 4.1 让深度学习模块不过是Python程序 4.2 互用性和可拓展性 4.3 自动差分 5. 针对高性能的PyT ...

  9. centos安装nodejs并配置生产环境,基于pm2

    安装nodejs和yarn的命令: curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum. ...

  10. mysql8报错解析

    1. 场景描述 想把测试数据导一份到本地使用,乱入装了mysql8,使用springboot项目启动的时候报: java.sql.SQLException: The server time zone ...