--> 甲骨文云OCI-在Oracle Linux上部署Drupal CMS,搭配MySQL数据库服务,打造强大的内容管理平台
欢迎访问深圳敏捷云计算科技有限公司!

甲骨文云OCI-在Oracle Linux上部署Drupal CMS,搭配MySQL数据库服务,打造强大的内容管理平台

2024-03-07 原创文章

Drupal是最受欢迎的内容管理系统(CMS)之一。它是免费和开源的,基于GNU公共许可证发布。


Drupal基于LAMP堆栈,为用户和企业提供了可扩展和稳健的架构、低实施和维护工作量,以及庞大的社区主导的知识库。其设置和使用不需要高级技术技能。它为全球范围内的网站提供基础设施,从个人博客到企业、政治和政府网站。Drupal非常灵活和模块化,使其在多种场景中都非常有用。


架构

您可以在单节点上部署Drupal,也可以作为高可用的多节点配置的一部分进行部署。此参考架构包括与这两种配置兼容的Terraform自动化。


对于生产级别的高可用架构,请参考以下图表,该图表展示了多节点场景。



前述图表展示了OCI上简化的高可用性应用环境,重点是两个位于负载均衡器后面的虚拟机实例。这些实例位于一个可用性域内的两个不同故障域中。此架构利用OCI文件存储服务;Drupal安装在共享的网络文件系统(NFS)中。文件系统位于一个专用的私有子网中,该子网配置了网络安全组(NSG),允许所有实例访问挂载目标。


下一个图表展示了一个简单的单节点架构。它包括一个轻量级部署,适合于学习目的或作为概念验证。

这个单节点架构包括一个单独的VM实例和一个独立的MySQL数据库系统(MDS)。该实例位于公共子网中,可以从互联网访问,而MDS则位于私有子网中。安全列表和路由表用于限制和路由流量。


多节点架构包含以下OCI组件:

租户

  • 注册Oracle云基础设施时,Oracle会在Oracle云中为您设置一个安全且独立的租户。您可以在租户内的Oracle云中创建、组织和管理您的资源。租户相当于一个公司或组织。


策略

  • Oracle云基础设施身份和访问管理策略规定谁可以访问哪些资源,以及如何访问。访问权限在组和分区级别授予,这意味着您可以编写策略,为一个组在特定分区内或整个租户中提供特定类型的访问权限。


分区

  • 分区是Oracle云基础设施租户内的跨区域逻辑分区。使用分区来组织Oracle云中的资源,控制对资源的访问,并设置使用配额。要控制对特定分区中资源的访问,您需要定义策略,指定谁可以访问这些资源以及他们可以执行哪些操作。


虚拟云网络(VCN)

  • 在OCI中的第一步之一是为您的云资源设置虚拟云网络。VCN是您在OCI地区中设置的软件定义网络。VCN可以细分为子网,这些子网可以特定于一个地区或一个可用性域。特定于地区和特定于可用性域的子网可以在同一个VCN中共存。子网可以是公共的或私有的。


可用性域

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


负载均衡器

  • Oracle云基础设施负载均衡服务从单一入口点提供自动流量分配到后端的多个服务器。


计算实例

  • Oracle云基础设施计算让您能够配置和管理计算主机。您可以启动满足您资源要求(CPU、内存、网络带宽和存储)的计算实例。创建计算实例后,您可以安全地访问它、重启它、附加和分离卷,并在不需要时终止它。


互联网网关

  • 互联网网关允许VCN中的公共子网与公共互联网之间的流量通行。


动态路由网关(DRG)

  • DRG是一个虚拟路由器,为本地网络与VCN之间的私有网络流量提供路径,并且也可用于路由同一地区或跨地区的VCN之间的流量。


网络安全组(NSG)

  • NSG充当云资源的虚拟防火墙。在Oracle云基础设施的零信任安全模型中,所有流量都被拒绝,您可以控制VCN内的网络流量。NSG由一组仅适用于单个VCN中特定一组VNIC的入站和出站安全规则组成。


文件存储

  • Oracle云基础设施文件存储服务提供耐用、可扩展、安全、企业级的网络文件系统。您可以从VCN中的任何裸机、虚拟机或容器实例连接到文件存储服务文件系统。您还可以通过使用Oracle云基础设施FastConnect和IPSec VPN从VCN外部访问文件系统。


建议

在Oracle Linux上部署Drupal CMS搭配MySQL数据库服务时,可以使用以下建议作为起点。您的需求可能与这里描述的架构不同。


VCN

  • 创建VCN时,确定每个子网中的云资源需要多少IP地址。使用无类别域间路由(CIDR)表示法,指定一个足够大的子网掩码和网络地址范围以容纳所需的IP地址。使用标准的私有IP地址空间内的地址范围。
  • 选择一个与您的本地网络或任何其他网络不重叠的地址范围,以便在必要时建立VCN和本地网络之间的连接。
  • 设计子网时,考虑您的流量流向和安全需求。将同一层或角色的所有计算实例附加到同一个子网,作为安全边界。


安全

  • 使用策略限制谁可以访问公司拥有的OCI资源以及如何访问。使用Vault对您的密钥、证书和秘密提供额外的保护。
  • 网络服务提供两种虚拟防火墙功能,使用安全规则在数据包级别控制流量:安全列表和网络安全组(NSG)。NSG由一组仅适用于您选择的单个VCN中一组特定VNIC的入站和出站安全规则组成。例如,您可以选择VCN中多层应用的Web层中作为Web服务器的所有计算实例。
  • NSG安全规则的功能与安全列表规则相同。但是,对于NSG安全规则的源或目的地,您可以指定NSG而不是CIDR块。因此,您可以轻松编写安全规则以控制同一个VCN中两个NSG之间的流量或单个NSG内的流量。创建数据库系统时,您可以指定一个或多个NSG。您还可以更新现有的数据库系统以使用一个或多个NSG。


计算

  • 选择具有适当OCPUs和内存组合的形状,并根据需要为每个实例配置本地NVMe和/或块存储。考虑使用可用的灵活形状,这提供了在OCPUs和内存组合方面更多的灵活性。


数据库

  • 根据计划的工作负载选择您的Oracle MySQL数据库服务形状。启用MySQL高可用性以获得三个冗余节点。


考虑因素

在Oracle Linux上部署Drupal CMS搭配MySQL数据库服务时,请考虑以下因素:


应用可用性和可扩展性

  • 在这个示例中,高可用架构展示了同一可用性域内不同故障域的两个实例。您可以选择将实例放置在不同的可用性域中(在可用的地区),以获得更高的故障容忍性。
  • 另一种方法,代表对更具挑战性和变化性能需求的更灵活适应,是使用实例池和自动扩展。实例池允许您在同一地区基于相同配置创建多个计算实例。
  • 自动扩展可以根据性能指标(如CPU利用率)自动调整实例池中的计算实例数量。自动扩展有助于在高需求期间为用户提供一致的性能,并在低需求期间帮助您降低成本。


  • 数据库可用性和可扩展性
  • 展示在高可用架构中的MySQL数据库系统利用了内置的MySQL高可用选项,创建了三个实例并将它们放置在不同的故障域中。


数据库备份

  • MySQL数据库服务支持两种类型的备份:对数据库系统中所有数据的完整备份和自上次完整备份以来添加或更改的数据的增量备份。备份以以下方式运行:手动:控制台中的操作或通过API发起的请求启动备份。手动备份可以保留最少一天到最多365天。自动:自动安排的备份在用户选择的时间运行,无需任何交互。自动备份的保留时间为1至35天,默认保留值为七天。一旦定义,您不能编辑自动备份的保留期。


计算备份

  • Oracle云基础设施块卷服务允许您对块卷上的数据进行时间点备份。然后,您可以立即或稍后将这些备份还原到新卷。您还可以使用该服务进行引导卷的时间点、崩溃一致性备份,无需应用程序中断或停机。引导卷备份功能与块卷备份功能相同。


安全策略

  • 使用策略限制谁可以访问公司的OCI资源以及如何访问。


网络安全

  • 网络服务提供两种虚拟防火墙功能,使用安全规则在数据包级别控制流量:安全列表和网络安全组(NSG)。NSG由一组仅适用于您选择的单个VCN中一组特定VNIC的入站和出站安全规则组成。例如,您可以选择VCN中多层应用的Web层中作为Web服务器的所有计算实例。
  • NSG安全规则的功能与安全列表规则相同。但是,对于NSG安全规则的源或目的地,您可以指定NSG而不是CIDR块。因此,您可以轻松编写安全规则以控制同一个VCN中两个NSG之间的流量或单个NSG内的流量。创建数据库系统时,您可以指定一个或多个NSG。您还可以更新现有的数据库系统以使用一个或多个NSG。
  • 在这些示例中,实例显示为存在于公共子网中。考虑将它们放置在私有子网中以获得额外的安全性。在这种情况下,需要使用堡垒机来访问实例。



部署

此参考架构的Terraform代码作为样本堆栈在Oracle云基础设施资源管理器中提供。您也可以从GitHub下载代码,并根据您的具体需求进行定制。

  • 使用Oracle云基础设施资源管理器中的样本堆栈进行部署:点击,如果您尚未登录,请输入租户和用户凭证。选择您想要部署堆栈的地区。按照屏幕上的提示和指示创建堆栈。创建堆栈后,点击Terraform操作,并选择计划。等待作业完成,并审查计划。如需进行任何更改,请返回到堆栈详情页面,点击编辑堆栈,并进行必要的更改。然后,再次运行计划操作。如果不需要进一步更改,请返回到堆栈详情页面,点击Terraform操作,并选择应用。


使用GitHub中的Terraform代码进行部署:访问GitHub。克隆或下载存储库到您的本地计算机。按照README文档中的说明操作。


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

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


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


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


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