码迷,mamicode.com
首页 > 其他好文 > 详细

AWS - RDS

时间:2014-07-29 15:37:49      阅读:699      评论:0      收藏:0      [点我收藏+]

标签:aws   mysql   rds   

AWS提供了2种数据库,RDS和DynomoDB,前者是传统的关系型数据库,目前包括Mysql,PostgrepSQL, Oracle和 MS SQL; 后者是NoSQL; 豆子以MySQL为例,把AWS RDS的基本功能过一遍。


接下来会演示以下功能:

  1. 如何创建MySQL 实例

  2. 如何通过EC2连接MySql 实例

  3. 如何创建Read Replica

  4. 如何Promote Read Replica,

  5. 如何备份,观察事件,发送通知

  6. 如何删除 MySQL 实例



1) 首先来看看如何创建MySQL实例


登陆RDS的管理界面,点击 Launch a DB instance

bubuko.com,布布扣


选择MySQL

bubuko.com,布布扣


豆子用的免费账号,就不用Multiple-AZ的选项了,这个是一个高可用的选项,会在不同的AZ上创建同步的MySQL实例,如果当前的实例或者AZ挂了,会自动Failover 到其他的AZ实例。


屌丝用不起HA,实验就用单点AZ好了。

bubuko.com,布布扣

接下来设置数据库的信息,不要Multip-AZ,实验也不需要高速度的IOPS,都选NO

bubuko.com,布布扣


高级设置里面,需要选择VPC和Security Group。豆子这里选择默认的VPC和安全组,如果有需要的话,用户可以自定义VPC(可以参见我的NAT instance的博客一文)

bubuko.com,布布扣



然后点击Launch DB Instance 就创建成功了。


bubuko.com,布布扣


显示正在创建中,这个大概要几分钟的时间

bubuko.com,布布扣


创建了RDS的实例,和EC2的实例一样,我们还需要配置防火墙(Security Group),打开看看,咦,原来默认的VPC只能在EC2里面修改设定。

bubuko.com,布布扣


切换到EC2的Security Group,添加一条TCP 3306的策略,允许我的Web Server 组进行访问

bubuko.com,布布扣


切换回RDS 界面,发现已经准备就绪了

bubuko.com,布布扣



2) 如何连接访问RDS实例


和访问EC2实例类似,RDS也有自己的访问点 (EndPoint)。


登录到我的web server,然后输入以下命令,就可以连接到RDS实例了


bubuko.com,布布扣

查看一下数据库,没错,就是他。

bubuko.com,布布扣


做个对比试验,把前面添加的防火墙策略去掉看看还能不能访问;

bubuko.com,布布扣

去掉之后,就无限死循环的卡在登录连接上了


bubuko.com,布布扣


而且这个时候的RDS界面也会提示你没有能够连入的权限设定

bubuko.com,布布扣


3) 创建一个Read Replica


首先需要知道什么是Read Replica。这个和Multiple AZ的区别是什么。AWS里面有2种HA的设置,一个是Mult-AZ,一个是Read Replica。Mult-AZ的作用是Failover,如果当前的实例或者AZ挂了,他会自动转到其他的AZ的实例上去。Read Replica的作用则主要是分流(Load Balance)。即使是我的单点AZ,也是可以创建Read REplica的。


点击Create Read Replica



bubuko.com,布布扣


创建一个新的Read Replica DB实例

bubuko.com,布布扣


显示状态,原有的实例会自动创建一个备份,然后通过这个备份创建一个新的Read Replica实例

bubuko.com,布布扣

创建好之后,可以对比看看他们的区别


bubuko.com,布布扣

因为是自动同步所有的设置,所以从我的web server同样可以访问这个Read Replica Instance


bubuko.com,布布扣


来看看这个Read Replica Instance能执行哪些操作。


按照AWS的说明,我可以创建3个连续的Read Replica实例,比如B是A的read replica,C又可以是B的read Replica,为什么我这里灰掉了呢?


仔细看看,原来我没有打开自动备份的缘故。前面说过了,创建Read Replica的时候会自动创建备份快照,然后通过快照来创建的新实例。因此自动备份的选项必须打开。

bubuko.com,布布扣


Modify设定之后,就可以继续创建 Read Replica了

bubuko.com,布布扣





4) 如何Promote Read Replica


这个功能主要是用于将一个Read Replica实例提升为一个独立的普通的DB实例。一般说来,比如创建index(索引)的时候,因为是一个很耗时间的过程,AWS推荐在Read Replica上先进行,然后Promote Read Replica作为主要的访问数据库,然后再回头去在原先的实例上进行操作;另外,这也可以作为灾难恢复的一种备份手段,不过这个就和Mult -AZ的功能重复了,不如直接使用Multip-AZ好了。


点击 Promote Read Replica

bubuko.com,布布扣


警告信息,AWS建议停止事务处理以保证数据完整性;Promote会导致Read Replica实例重启,而且该过程是不可逆的

bubuko.com,布布扣


提升之后就和普通的没有区别了

bubuko.com,布布扣



5)如何备份DB Instance


首先,自动备份都是推荐打开的。不过自动备份的快照在删除DB实例的时候会自动删除,因此有的时候也需要手动备份,这个手动备份的快照是独立存在的,即使错误的删除了DB实例,仍然可以通过这个来恢复。


手动备份

bubuko.com,布布扣


可以在Snapshots的控制板面查看所有的快照,包括自动和手动创建的。



bubuko.com,布布扣


还可以查看Events,可以列出所有的数据库操作行为

bubuko.com,布布扣



我们还可以创建一个SNS的Topic,给管理员发送email。然后在Event Subscriptions里面绑定这个Topic就可以自动发送事件通知了。


bubuko.com,布布扣


6) 最后,我们来看看如何删除DB Instance


点击Delete


bubuko.com,布布扣

他会提示是否进行最后一次的手动快照,这样的话,万一想恢复这个删除的实例,也是可以的。

根据自己的需求,选择之后确定就可以删除了

bubuko.com,布布扣

本文出自 “麻婆豆腐” 博客,请务必保留此出处http://beanxyz.blog.51cto.com/5570417/1531843

AWS - RDS,布布扣,bubuko.com

AWS - RDS

标签:aws   mysql   rds   

原文地址:http://beanxyz.blog.51cto.com/5570417/1531843

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!