欢迎访问深圳敏捷云计算科技有限公司!

在甲骨文云OCI上选择适合你的MySQL架构:决策指南

2024-01-15 原创文章

依赖于开源数据库(如Oracle MySQL HeatWave)的组织,正从自行管理的本地解决方案转向托管的云数据库服务(如MySQL数据库),以降低成本并提高运营效率。在这个转变中,学习如何在甲骨文云基础设施(OCI)上选择合适的MySQL架构变得至关重要。

Oracle MySQL HeatWave是OCI上的一项托管数据库服务,旨在提供高度可扩展和可用的数据库服务,无需规划和执行繁琐的日常运维任务,如数据库配置、备份、补丁和升级。如果你选择在OCI上采用Oracle MySQL HeatWave来处理你的工作负载,你不仅会减少目前自行管理数据库的运营成本,还能专注于高价值和创新工作。为了充分利用在Oracle MySQL HeatWave和OCI上运行工作负载的最大优势,你需要了解Oracle MySQL HeatWave和OCI,设计一个灵活且可扩展的云架构,以根据你的业务需求和要求增长和扩展云端使用。

架构:

这一参考架构的目标是为你提供相关的技术信息,帮助你设计和优化一个在OCI上灵活且可扩展的MySQL架构,以支持你的工作负载需求。

本参考架构的范围假定以下非功能性需求和规格:


根据这些要求,我们选择了Oracle MySQL HeatWave高可用性模型,并结合其他OCI服务来构建适合你工作负载的架构。这一参考架构从三个不同的视角展示,以解决基础设施架构师、信息架构师、DevOps工程师和运维工程师的关切。

基础设施视角:构建高效安全的网络架构

在这个架构视图中,我们在单个OCI区域配置了一个区域性虚拟云网络,其中包含三个可用性域(ADs)的公共和私有子网。Oracle MySQL HeatWave高可用性模型将在多个AD的OCI区域或单个AD的OCI区域的三个故障域中部署三个冗余的MySQL数据库实例。

 这一架构视图展示了Oracle MySQL HeatWave的应用部署选项和网络连接选项:

  • Oracle MySQL HeatWave部署在安全的私有子网中,不对互联网公开访问。
  • 访问Oracle MySQL HeatWave的连接选项:通过互联网使用Oracle Cloud Infrastructure负载均衡。通过您的数据中心与OCI区域之间的VPN使用OCI动态路由网关:OCI点对点VPNOracle Cloud Infrastructure FastConnect
  • 通常,有三种应用部署模式可以在OCI中访问Oracle MySQL HeatWave:

部署到Oracle Cloud Infrastructure计算实例或Oracle容器引擎Kubernetes实例的应用(最推荐的模式,应用和MySQL数据库都位于同一个OCI云区域)。

托管在您的数据中心的应用。

托管在非OCI云(如亚马逊网络服务、微软Azure等)的应用。

 基础设施视角:可扩展性与冗余性的平衡

在这个架构视图中,配备Oracle MySQL HeatWave高可用性模型的主要OCI区域通过OCI动态路由网关与另一个OCI区域相连。这一架构视图展示了MySQL在同一OCI区域内的可扩展性以及跨另一OCI区域的冗余性:

  • 主要的MySQL数据库实例可以通过在同一OCI区域内部署“托管读取副本”实例来轻松扩展你的读取事务(参见更多探索)。
  • 主要的MySQL实例可以复制到部署在另一个OCI区域的MySQL副本中,为你的工作负载提供冗余性(参见更多探索)。

数据库访问视角:工具选项的展示

这个架构视图展示了数据库管理员和开发人员使用Oracle MySQL HeatWave时的工具选项:

  • 通过公共互联网使用Web浏览器访问的OCI工具,如OCI数据库工具(SQL工作区)和预装MySQL Shell工具的Oracle Cloud Infrastructure Cloud Shell,可以用来操作MySQL。
  • Oracle Cloud Infrastructure堡垒服务可用于通过互联网连接你的工具与Oracle MySQL HeatWave:

Oracle Cloud Infrastructure堡垒服务可用于通过互联网连接你的工具与Oracle MySQL数据库服务。

Visual Studio Code搭配MySQL Shell插件的预览版也可以使用,只需最少的配置即可连接到Oracle MySQL HeatWave。

运维视角:

这个架构视图展示了使用Oracle Cloud观测与管理平台服务对Oracle MySQL HeatWave进行监控的方面:

  • 在Oracle MySQL HeatWave控制台上创建相关阈值,以触发运维支持行为的警报。
  • 使用OCI事件进行事件驱动监控,以跟踪特定MySQL事件(例如,数据库重启)。
  • 使用OCI仪表板进行实时监控,创建针对特定MySQL实例的自定义OCI仪表板。


区域 Region

Oracle Cloud Infrastructure的区域是一个地理上的本地化区域,包含一个或多个数据中心,称为可用性域。各区域彼此独立,距离可以非常遥远(跨越国家甚至大洲)。

可用性域 Availability domains

可用性域是区域内独立的数据中心。每个可用性域中的物理资源与其他可用性域中的资源隔离,提供了故障容忍。可用性域不共享诸如电力或冷却等基础设施,或内部可用性域网络。因此,一个可用性域的故障不太可能影响该区域内的其他可用性域。

虚拟云网络(VCN)和子网 Virtual cloud network (VCN) and subnets

VCN是你在Oracle Cloud Infrastructure区域设置的可定制、软件定义的网络。就像传统的数据中心网络一样,VCN让你完全控制你的网络环境。VCN可以拥有多个不重叠的CIDR块,你可以在创建VCN后更改这些块。你可以将VCN分割成子网,这些子网可以限定在一个区域或一个可用性域。每个子网由不与VCN中其他子网重叠的连续地址范围组成。你可以在创建后更改子网的大小。子网可以是公共的或私有的。

负载均衡器 Load balancer

Oracle Cloud Infrastructure负载均衡服务提供了从单一入口点到后端多个服务器的自动流量分配。

安全列表 Security list

对于每个子网,你可以创建安全规则,指定必须允许进出子网的流量的来源、目的地和类型。

计算 Compute

Oracle Cloud Infrastructure计算服务使你能够在云中配置和管理计算主机。你可以启动计算实例,使用符合你的CPU、内存、网络带宽和存储资源需求的形状。创建计算实例后,你可以安全地访问它,重启它,附加和分离卷,并在不再需要时终止它。

事件 Events

Oracle Cloud Infrastructure服务产生的事件是描述资源变化的结构化消息。这些事件涉及创建、读取、更新或删除(CRUD)操作,资源生命周期状态变化,以及影响云资源的系统事件。

通知 Notifications

Oracle Cloud Infrastructure通知服务通过发布-订阅模式向分布式组件广播消息,为托管在Oracle Cloud Infrastructure上的应用程序提供安全、高可靠、低延迟和持久的消息传递。

堡垒服务 Bastion service

Oracle Cloud Infrastructure堡垒提供对不具备公共端点且需要严格资源访问控制的资源的受限和有时限的安全访问,如裸机和虚拟机、Oracle MySQL数据库服务、自动事务处理(ATP)、Oracle容器引擎Kubernetes (OKE)以及任何其他允许安全壳协议(SSH)访问的资源。使用Oracle Cloud Infrastructure堡垒服务,你可以在不部署和维护跳板机的情况下启用对私有主机的访问。此外,你将获得更好的安全姿态,包括基于身份的权限和中心化、审计的、有时间限制的SSH会话。Oracle Cloud Infrastructure堡垒服务消除了使用公共IP进行堡垒访问的需要,减少了在提供远程访问时的麻烦和潜在的攻击面。

FastConnect

Oracle Cloud Infrastructure FastConnect提供了一种在你的数据中心和Oracle Cloud Infrastructure之间创建专用、私有连接的简便方法。与基于互联网的连接相比,FastConnect提供了更高的带宽选项和更可靠的网络体验。

MySQL HeatWave

Oracle MySQL数据库服务是一种完全托管的数据库服务,让开发人员可以快速开发和部署安全的云原生应用程序,使用世界上最受欢迎的开源数据库。Oracle MySQL HeatWave是Oracle MySQL数据库服务的一个新的、集成的、高性能的、内存中的查询加速器,它加速了MySQL对分析和事务查询的性能。

建议

以下建议可作为设计符合您工作负载要求的OCI架构的起点。

VCN

  • 使用区域子网以获得更大的灵活性。
  • 创建VCN时,根据你计划附加到VCN子网中的资源数量,确定所需CIDR块的数量及每个块的大小。
  • 使用标准私有IP地址空间内的CIDR块:10.0.0.0 - 10.255.255.255172.16.0.0 - 172.31.255.255192.168.0.0 - 192.168.255.255
  • 选择不与任何其他网络(在OCI、您的本地数据中心或其他云提供商)重叠的CIDR块,这些网络是您打算建立私有连接的目标。
  • 创建VCN后,您可以更改、添加和移除其CIDR块。
  • 设计子网时,考虑您的流量流向和安全需求。将特定层或角色内的所有资源附加到同一子网,这可以作为一个安全边界。Oracle MySQL数据库服务始终位于私有子网中。

安全

  • 对于需要最高安全性的资源,Oracle推荐使用安全区。安全区是与Oracle定义的基于最佳实践的安全策略配方相关联的隔间。例如,安全区内的资源不得从公共互联网访问,并且必须使用客户管理的密钥进行加密。当您在安全区内创建和更新资源时,OCI会针对安全区配方中的策略验证操作,并拒绝违反任何策略的操作。

Cloud Guard

  • 克隆并自定义Oracle提供的默认配方,以创建自定义的检测器和响应器配方。这些配方使您能够指定哪些类型的安全违规会生成警告,以及允许对其执行哪些操作。例如,您可能希望检测具有公共可见性的Oracle Cloud Infrastructure对象存储桶。

网络安全组(NSG)

您可以使用NSG定义一组适用于特定VNIC的入站和出站规则。我们建议使用NSG而不是安全列表,因为NSG使您能够将VCN的子网架构与应用程序的安全需求分开。

标准化与运营考虑因素

在将Oracle MySQL HeatWave作为核心云数据库服务标准化和运营化时,请考虑以下其他云服务配置,以便于操作和提高灵活性。

网络连接

  • 在设计云网络时,了解各种VCN限制的软限制,例如每个OCI租户的VCN限制为50个。可以通过向OCI支持提交服务请求来更改这些限制。
  • Oracle MySQL HeatWave需要一定数量的私有IP地址以进行维护:MySQL独立部署需要三个私有IP地址MySQL高可用性需要七个私有IP地址
  • Oracle Cloud Infrastructure堡垒服务的使用时间限制为最长三小时,因此,如果你需要为应用程序或开发目的提供高可用的堡垒服务,最好使用专用的Oracle Cloud Infrastructure计算实例作为堡垒主机来连接MySQL实例。

可操作性

利用OCI仪表板为你的MySQL实例群建立定制化的仪表板,以便于服务运营。

可用性

如果你计划在另一个区域构建MySQL副本作为备份,需要考虑主区域和备份区域之间的网络延迟。OCI提供区域间网络延迟信息,帮助你决定哪个区域作为主区域的备份区域。MySQL副本的另一个考虑因素是保留二进制事务日志的时间长度(binlog_expire_logs_seconds),在日志被删除之前,默认保留时间为3,600秒或60分钟。如果你在主区域和备份区域之间遇到严重的网络延迟,你可能需要增加此参数,以便更长时间保留事务日志,使其能够在备份区域的MySQL副本中传输和应用。

可移植性与灵活性

  • 使用OCI域名服务(DNS)解析MySQL主机名,以提高可移植性。在创建MySQL实例时,根据你的命名约定分配一个自定义主机名,使得该主机名可以被OCI DNS作为VCN解析器解析。
  • 使用Oracle Cloud Infrastructure负载均衡的DNS主机名来管理MySQL读副本实例,以便于你的应用代码的灵活性。你可以在OCI DNS服务控制台中找到分配给这个Oracle Cloud Infrastructure负载均衡的DNS主机名。

开启您的Oracle云之旅:Agilewing - 您的智能云服务伙伴

作为Oracle的高级合作伙伴,Agilewing正重新定义企业体验Oracle云服务的方式。借助于其简化的开户流程和一流的技术支持,Agilewing将复杂的开户和操作流程转化为一种轻松、直观的体验。通过我们的一站式服务,您可以迅速开启并享受Oracle云的全方位服务,从而无缝融入云端世界。

Agilewing的AgileCDN服务,结合了OCI的云基础服务,提供了一流的全球内容加速解决方案。超过2800个全球POP节点和7000个直连点的强大网络,确保了无论您的业务扩展到全球哪个角落,都能保持高效稳定的运行。

利用Oracle云的先进技术,Agilewing致力于简化云服务搭建、云迁移和业务出海的过程。我们的合作模式为客户带来经济高效的解决方案,使他们能够更加专注于核心业务,同时享受Oracle云的高性能和安全保障。

Oracle云服务,作为一个充满潜力的领域,以其高性能、安全性和全球统一的服务标准,为各类企业开启了新的机遇之门。通过Agilewing的专业服务,无论是个人用户还是企业,都能轻松步入这个充满技术革新和高效能的新时代。现在,就让Agilewing引领您开始探索Oracle云服务,打开一个全新的世界大门。

如您想咨询 Oracle 的相关业务,可联系搜索微信号:lhh1843812463woshiwhw123

或者可以进入以下群组进行咨询:

微信公众号

微信技术交流社群: