MySQL在AmazonEC2上最佳实践指导(一)【IT168 评论】 在Amazon EC2上部署MySQL 在EC2上开始MySQL是很简单的。首先,假定您已经设置您的Amazon账号,您可以从Amazon AMI目录使用一个已存在的AMI预设置MySQL,或者使用您自己的Amazon SDK创建。或者您可以从其他的资源获得可用的“模板化”AMI图形。其次,一旦您做了任何配置,为了再次使用和安全保存,您应该上传您的AMI到S3。 最后,选择您想部署的EC2实例,配置安全和网络控制。 其他考虑的项目包括哪个区域(美国或欧洲),是否会附上EBS VOLUME以及选择合适的可用区域。 在Amazon EC2上运行MySQL最佳实践 1.每个EC2实例只运行一个MySQL服务器 MySQL使用专用资源将会表现的更好。使用专用资源,您可以确保MySQL不会与CPU、内存和特别是磁盘访问的其他组件,像web服务器、缓存服务器或应用服务器之间竞争。使用专用资源,您可以配置更大的Buffer和数据库的缓存。最后,如果您的数据库调优策略通常涉及硬件问题,在这种假设下,那就选择大量的专用资源吧。 2.运行大型或者X-Large EC2实例类型 标准的大型和X-Large EC2实例类型提供大量的实例存储,通过默认(850G或1690G)、一个64位操作系统、足够量的RAM(7.5G和15G)用于缓冲和缓存、4或8个EC2计算单元和比32位实例类型具有更好的I/O性能。 3.InnoDB表格空间专用额外分区 数据库受到I/O限制是臭名昭著的。为了获得更好的I/O性能,考虑增加专用EBS分区。 4.InnoDB表空间分区热身 默认情况系下,EC2有一个“先写”惩罚。磁盘已经热身之后,后来的写将快很多。分区可以提前“热身”,用各种各样的方法包括“dd” Unix 命令,根据您数据库的大小。 5.调优MySQL适合于您的应用、架构和工作量 在默认情况下,EC2本身并没有使MySQL运行更快、扩展或者更容易管理。调优MySQL适用性,仅仅意味着您将可以更好的利用EC2资源和节约成本。检查您配置里所有可用的工具是非常重要的,在“在云上管理和监控MySQL”部分详细描述。 6.合适时使用MySQL复制 MySQL异步复制可被用于增加读扩展性或者作为创建一个更高可用MySQL架构的首要步骤。 7.使用预建AMI 从头开始创建AMI会很费时、易出错并且很繁琐。如果您不需要软件广泛的定制化,可以采取预建目录和来自各种供应商的官方支持的AMI的可用性优势。 8、保护您的EC2实例 除了使用标准的有据可查的安全措施来保护MySQL外,您也可以限制EC2实例访问,这样只有认证的客户和复制服务器可以连接。在默认情况下,EC2建有一个防火墙拒绝所有入境通信,因此您必须明确开放额外端口。不幸的是,该防火墙确实拥有通过协议、端口和IP限制通信的灵活性。同时确定利用安全组创建适用于一组EC2实例的访问规则。 9、配置“noatime” 和 “nodiratime”进行分区 安装“noatime” 和 “nodiratime”进行分区,可以得到更好的I/O性能,能提高10%。这是因为Linux在每个读访问之后不必执行一个写操作。 必须指出的是noatime是nidiratime的扩展集。 10、如果是您的数据问题,使用EBS MySQL 使用EBS您获得您的数据和日志文件的持久存储。它提供您在事故中切换到另一个MySQL服务器的能力,假如现有主机的EC2实例失败了,在一个新的EC2实例简单的重新安装EBS Volume就可以了。 11、在S3上使用快照 作为您备份策略的一部分,您应该使用EC2的快照能力,并把其存储在S3上。这种高效的备份可以利用长期的存储或者point-in-time恢复操作。 12、应用的负载均衡 任何高负荷的应用,或者使用MySQL复制,或者您已经部署的一个“sharding”架构,都在一定程度上有益于负载均衡。有几个选项,其中,Amazon Elastic Load Balancing和HAProxy,一个开源的负载均衡器。 在Amazon EC2 上使用MySQL Enterprise更低的TCO 用于Amazon EC2 上的MySQL Enterprise是基于支持提供的订阅,使得开发人员可以低成本的在云上交付web扩展数据库应用,在云上使用世界上最受欢迎的开源数据库。在Amazon EC2 上使用MySQL Enterprise的好处包括: ·使用被验证的MySQL的可靠性、高性能和易用性,在云上交付大量的可扩展的web应用。 ·使用MySQL Replication进行主从数据库复制、切换和备份,实现高可用性应用。 ·在Amazon EC2上优化MySQL,包括MySQL性能和最佳实践的扩展性。 ·随着您的需求改变而快速容易的添加计算能力,增加更多的计算资源。 ·使用您需要的Amazon EC2计算资源可以降低IT操作成本。 ·通过MySQL数据库专家的24×7产品支持,减少宕机。 在云上管理和监控MySQL 有很多开源和专门的工具部署、监控和管理EC2上的MySQL。以下是可用资源的简单列表: Amazon EC2 API 工具:API工具充当Amazon EC2 web服务的客户界面。使用该工具可以注册和登录实例,操作安全组。 Rightscale:提供控制、管理和周期支持您的云部署。 EC2的Elasticfox Firefox Extension:ElasticFox是一个Mozilla Firefox扩展,用于管理您的Amazon EC2 账户、登录新的实例、安装Elastic Block Storage volumes、弹性IP地址映射。 Amazon CloudWatch: 是一个web服务,提供监控AWS云资源,开始Amazon EC2。 Amazon自动扩展,允许您自动上下或者根据您的定义条件,扩展您的Amazon EC2性能。 Amazon EC2 Javascript Scratchpad:基于应用的简单HTML/javascript允许您检查Amazon EC2 API而不需要写任何代码。 AWS Simple Monthly Calculator:AWS代码样本和生成器。 Amazon EC2 AMI 工具:Amazon EC2 AMI工具是一个命令行工程,帮助捆绑一个Amazon Machine Image (AMI),从现有的机器上或者安装的容量上创建一个AMI,并且上传一个捆绑的AMI到Amazon S3。 结论 本文涵盖了云计算的一些益处,提供给一些为其计算基础架构寻找利用消费基础的定价模式的机构。我们简单介绍了Amazon Web Services,特别是EC2、S3和EBS,以及MySQL如何与其配合。我们指出一些在亚马逊云上部署MySQL的基本最佳实践,并提供了在云上监 控和管理MySQL的其他资源。 版权声明: 本文由上海爱可生信息技术有限公司根据甲骨文公司官方文档翻译整理而成,版权归属甲骨文公司,转载请保留此版权声明。 |
|