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

在甲骨文云OCI上部署StackGres驱动的PostgreSQL:高效、可靠、创新

2024-01-15 原创文章

在数字化时代,云服务平台的兴起为企业带来了前所未有的机遇。其中,云服务器的应用尤为关键,特别是对于数据库管理而言。想象一下,一个全面集成的PostgreSQL分布式系统,可以轻松部署在Kubernetes上,这就是StackGres的魅力所在。

StackGres,不仅包含了连接池、自动备份、监控、集中式日志记录,还有一个功能齐全的管理网络控制台。它整合了Postgres领域最著名、经过生产测试的高可用性软件:Patroni。这种全面的集成,确保了在任何故障发生时,系统能够自动恢复,无需人工干预。

更重要的是,StackGres提供了一个读写分离的连接方式,确保应用程序在任何破坏性事件发生后都能自动更新。对于那些需要连接池、自动故障转移和高可用性、监控、备份和灾难恢复的企业级PostgreSQL堆栈来说,这是一种低劳动力、可扩展、高可用的部署方案。



架构

在探索云服务器的道路上,架构的选择至关重要。想象一下,一个专为生产就绪环境设计的PostgreSQL部署方案,运行在Oracle Kubernetes集群中。这不仅代表了技术的进步,更是企业向云服务平台迈进的一大步。

首先,这种架构的最大优势在于没有厂商锁定。PostgreSQL能够在任何Kubernetes环境中运行,为企业提供了前所未有的灵活性和自由度。加上一个功能齐全的Web控制台,企业可以更加方便地管理和监控他们的数据库系统。

此外,Postgres平台拥有世界上最多的扩展功能,能够满足各种不同业务需求。不论是运行在x86-64还是ARM64 Kubernetes工作节点上,它都能提供稳定可靠的服务。更值得一提的是,StackGres完全开源,不存在免费的“社区版”和昂贵的“企业版”之分,真正做到了技术的平等可及。

关于成本,StackGres的支持和更新服务价格基于使用的核心数量,为企业提供了更多的选择灵活性。同时,它还包括了“原生”Postgres和Babelfish(提供SQL Server兼容性的工具),为企业上云和出海业务提供了更广阔的视野。

通过下面的示意图,我们可以清晰地看到这种参考架构的全貌。对于那些渴望在云存储服务、云服务器购买和租赁领域寻求创新与突破的企业来说,这种架构无疑是一个理想的选择。在企业上云的大潮中,选择StackGres,就是选择了一个充满可能性的未来。



在深入了解云服务平台特别是Oracle云基础设施时,我们必须关注其核心组件。这些组件是构建一个高效、可靠的云服务器环境的基石。

租户(Tenancy)

Oracle云中的租户是一种安全且独立的分区,当您注册Oracle云基础设施服务时由Oracle设置。在您的租户内,您可以创建、组织和管理Oracle云中的资源。租户可视为公司或组织的在线代表。通常,一个公司将拥有一个单独的租户,并在该租户内反映其组织结构。一般而言,单一租户与单一订阅关联,并且一份订阅通常只有一个租户。

区域(Region)

Oracle云基础设施区域是包含一个或多个数据中心的地理区域,这些数据中心被称为可用性域。各区域彼此独立,它们之间可能相隔很远(跨越国家乃至大洲)。

分区(Compartment)

在Oracle云基础设施租户中,分区是跨区域的逻辑分区。使用分区来组织Oracle云中的资源、控制对资源的访问以及设置使用配额。通过定义策略,您可以控制谁可以访问特定分区中的资源以及他们可以执行的操作。

可用性域(Availability Domain)

可用性域是区域内独立的数据中心。每个可用性域中的物理资源与其他可用性域的资源隔离,提供故障容错能力。可用性域不共享基础设施,如电力或冷却系统,或内部可用性域网络。因此,一个可用性域的故障不太可能影响该区域内的其他可用性域。根据您的生产需求,您可以在多个可用性域中部署。

故障域(Fault Domain)

故障域是可用性域内的硬件和基础设施分组。每个可用性域有三个故障域,拥有独立的电力和硬件。当您将资源分布在多个故障域时,您的应用程序可以承受物理服务器故障、系统维护和故障域内的电力故障。

虚拟云网络(VCN)和子网

VCN是您在Oracle云基础设施区域中设置的可定制的、软件定义的网络。与传统数据中心网络一样,VCN使您能够完全控制网络环境。VCN可以有多个不重叠的CIDR块,您可以在创建VCN后更改它们。您可以将VCN划分为子网,这些子网可以覆盖一个区域或可用性域。每个子网由一系列不与VCN中其他子网重叠的地址组成。您可以在创建后更改子网的大小。子网可以是公开的或私有的。

负载均衡器(Load Balancer)

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

堡垒服务(Bastion Service)

Oracle云基础设施堡垒服务提供对不具备公共端点且需要严格资源访问控制的资源的受限和限时安全访问,如裸机和虚拟机、Oracle MySQL数据库服务、自治事务处理(ATP)、Oracle Kubernetes容器引擎等。通过Oracle云堡垒服务,您可以在不部署和维护跳板机的情况下启用对私有主机的访问。此外,它还通过基于身份的权限、集中式、审计和限时的SSH会话,提高了安全姿态。Oracle云堡垒服务消除了为堡垒访问设置公共IP的需求,从而减少了提供远程访问时的麻烦和潜在攻击面。

安全列表(Security List)

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

网络地址转换网关(NAT Gateway)

NAT网关使VCN中的私有资源能够访问互联网上的主机,而不会暴露这些资源给来自互联网的入站连接。

服务网关(Service Gateway)

服务网关提供从VCN到其他服务(如Oracle云基础设施对象存储)的访问。从VCN到Oracle服务的流量通过Oracle网络布局,不经过互联网。

动态路由网关(DRG)

DRG是一种虚拟路由器,为同一区域内的VCN之间、VCN与该区域外网络(如另一个Oracle云基础设施区域的VCN、本地网络或其他云提供商的网络)之间的私有网络流量提供路径。

对象存储(Object Storage)

对象存储提供对大量结构化和非结构化数据的快速访问,包括数据库备份、分析数据和丰富内容(如图像和视频)。您可以安全地存储数据,然后直接从互联网或云平台内检索数据。您可以无缝扩展存储,而不会经历性能下降或服务可靠性降低。对于需要快速、即时、频繁访问的“热”存储,使用标准存储;对于长期保留且很少或几乎不访问的“冷”存储,使用归档存储。

互联网网关(Internet Gateway)

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

FastConnect

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

本地对等网关(LPG)

LPG允许您将同一区域内的一个VCN与另一个VCN进行对等连接。对等连接意味着VCN之间使用私有IP地址通信,流量不经过互联网或路由通过您的本地网络。

Kubernetes容器引擎(Container Engine for Kubernetes)

Oracle云基础设施的Kubernetes容器引擎是一项完全托管、可伸缩、高可用的服务,您可以使用它将容器化应用程序部署到云端。您指定应用程序所需的计算资源,Kubernetes容器引擎会在Oracle云基础设施的现有租户中为其提供资源。它使用Kubernetes来自动部署、扩展和管理跨主机集群的容器化应用程序。

PostgreSQL

PostgreSQL是一个开源的关系数据库管理系统(RDBMS),具有高度的可扩展性和可扩展性。它支持SQL(关系型)和JSON(非关系型)查询。

StackGres

StackGres是为Kubernetes打造的全栈PostgreSQL分布式系统,简化了部署过程。它包括精心挑选和调整的周边PostgreSQL组件。

Cloud Guard

您可以使用Oracle Cloud Guard来监控和维护您在Oracle云基础设施中的资源的安全性。Cloud Guard使用您可以定义的检测器配方来检查资源的安全弱点,并监控操作者和用户的风险活动。当检测到任何配置错误或不安全活动时,Cloud Guard推荐纠正措施,并基于您可以定义的响应者配方协助采取这些措施。

分布式拒绝服务(DDoS)保护

分布式拒绝服务(DDoS)攻击是攻击者通过将大量流量洪泛到公司服务器来犯下的严重网络犯罪。这些大量的流量来自众多来源和地理位置,阻止用户访问公司的服务和网站。所有Oracle云数据中心都具有检测和缓解高容量第3层或第4层DDoS攻击的能力。Oracle云的DDoS保护服务有助于确保即使在持续的第3层或第4层攻击下,Oracle网络资源的可用性。

身份和访问管理(IAM)

Oracle云基础设施身份和访问管理(IAM)是Oracle云基础设施(OCI)和Oracle云应用程序的访问控制平面。IAM API和用户界面使您能够管理身份域及其内的资源。每个OCI IAM身份域代表一个独立的身份和访问管理解决方案或不同的用户群体。

日志记录(Logging)

日志记录是一项高度可扩展且完全托管的服务,为您提供以下类型的云资源日志访问:

  • 审核日志:由审核服务发出的事件相关日志。
  • 服务日志:由各个服务(如API网关、事件、函数、负载均衡、对象存储和VCN流量日志)发出的日志。
  • 自定义日志:包含来自自定义应用程序、其他云提供商或本地环境的诊断信息的日志。

审核(Audit)

Oracle云基础设施审核服务自动记录对所有支持的Oracle云基础设施公共应用程序编程接口(API)端点的调用作为日志事件。目前,所有服务都支持由Oracle云基础设施审核进行日志记录。

建议(Recommendations)

使用以下建议作为起点。您的需求可能与此处描述的架构不同。

VCN

  • 在创建VCN时,根据您计划连接到VCN子网的资源数量,确定所需CIDR块的数量及其大小。使用标准私有IP地址空间内的CIDR块。
  • 选择不与您打算设置私有连接的任何其他网络(在Oracle云基础设施、您的本地数据中心或另一个云提供商中)重叠的CIDR块。
  • 在创建VCN后,您可以更改、添加和移除其CIDR块。
  • 在设计子网时,考虑您的流量流向和安全需求。将特定层或角色内的所有资源连接到同一子网,这可以作为安全边界。
  • 使用区域子网。

云守卫(Cloud Guard)

  • 克隆并自定义Oracle提供的默认配方,以创建自定义检测器和响应器配方。这些配方使您能够指定哪种类型的安全违规行为会生成警告,以及允许对它们执行哪些操作。例如,您可能希望检测将可见性设置为公共的对象存储桶。
  • 在租户级别应用Cloud Guard,以覆盖最广泛的范围,并减少维护多个配置的管理负担。
  • 您还可以使用管理列表功能,将某些配置应用于检测器。

安全区域(Security Zones)

对于需要最高安全性的资源,Oracle建议您使用安全区域。安全区域是与Oracle定义的基于最佳实践的安全策略配方相关联的分区。例如,安全区域内的资源必须不对公共互联网可访问,并且必须使用客户管理的密钥进行加密。在安全区域内创建和更新资源时,Oracle云基础设施会根据安全区域配方中的策略验证操作,并拒绝违反任何策略的操作。

网络安全组(NSGs)

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

负载均衡器带宽

在创建负载均衡器时,您可以选择一个提供固定带宽的预定义形状,或指定一个自定义(灵活)形状,在其中设置带宽范围,并根据流量模式让服务自动扩展带宽。无论采用哪种方法,您都可以在创建负载均衡器后随时更改其形状。

考虑因素

在部署此架构时,请考虑以下选项:

  • 与ARM处理器的同质化:StackGres可以与ARM(Ampere A1 Compute)一起运行。
  • 架构选项:本文档的架构是一个建议,可以根据项目的需求进行更改。
  • Postgres扩展:StackGres提供了超过130种Postgres扩展,供您使用。
  • 用户权限:使用安全最佳实践,即最小权限原则:仅在实际需要时限制对root或超级用户权限的访问。
  • 监控:除了OCI服务(如OCI事件、OCI日志记录和OCI监控)外,您还可以使用Prometheus或Grafana进行监控。
  • 备份:StackGres包括基于连续归档的备份,可实现零数据丢失恢复。备份始终存储在当今最耐用的媒介上:OCI对象存储。

遵循以下最佳实践:

  • 不要让您的数据库暴露在互联网上。
  • 如果可能,将您的应用程序集群与Stackgres使用的集群分离。
  • 如果您想在同一集群中创建应用程序,Oracle强烈建议您为应用程序创建不同的命名空间。
  • 在选择Intel、AMD或ARM处理器时,请考虑您的工作负载大小,以免使您的Postgres环境过小。

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

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

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

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

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

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

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

微信公众号

微信技术交流社群: