本文档提供了一个参考架构,可帮助您构建基础设施来托管使用 Oracle 数据库的高可用性企业应用,并将整个堆栈部署在 Compute Engine 虚拟机上。您可以使用此参考架构高效地将使用 Oracle 数据库的本地应用重新托管(直接原样迁移)到 Google Cloud。本文档还包含相关指南,可帮助您在Google Cloud 中构建满足 Oracle 的 Maximum Availability Architecture (MAA) 要求的 Oracle 数据库拓扑。本文档的目标受众群体是云架构师和 Oracle 数据库管理员。本文档假定您熟悉 Compute Engine 和 Oracle 数据库。
如果您使用 Oracle Exadata 或 Oracle Real Application Clusters (Oracle RAC) 在本地运行 Oracle 数据库,则可以高效地将应用迁移到 Google Cloud ,并在 Oracle Database@Google Cloud 上运行数据库。如需了解详情,请参阅 Compute Engine 上带有 Oracle Exadata 的企业应用。
架构
下图展示了使用 Oracle 数据库的多层企业应用的相应基础架构。Web 层、应用层和 Oracle 数据库实例托管在 Compute Engine 虚拟机上。网络层和应用层以主动-主动模式在虚拟机上运行,而这些虚拟机分布在一个 Google Cloud 区域内的两个可用区中。主数据库实例和备用数据库实例部署在不同的可用区中。此架构与区域级部署原型保持一致,有助于确保您的 Google Cloud 拓扑稳健可靠地应对单可用区服务中断1。
上图所示的架构包含以下组件:
组件 | 用途 |
---|---|
区域级外部应用负载均衡器 | 区域级外部应用负载均衡器接收用户请求并将其分发到 Web 层虚拟机。 |
Google Cloud Armor 安全政策 | Cloud Armor 安全政策有助于保护您的应用堆栈免受分布式拒绝服务攻击 (DDoS 攻击) 和跨站脚本攻击 (XSS) 等威胁。 |
Web 层的区域级托管式实例组 (MIG) | 应用的 Web 层部署在属于区域级 MIG 的 Compute Engine 虚拟机上。此 MIG 是外部应用负载均衡器的后端。该 MIG 包含位于两个可用区的 Compute Engine 虚拟机。每个虚拟机托管应用 Web 层的一个独立实例。 |
区域级内部应用负载均衡器 | 区域级内部应用负载均衡器将来自 Web 层虚拟机的流量分发到应用层虚拟机。 |
应用层的区域级 MIG | 应用层(例如 Oracle WebLogic Server 集群)部署在属于区域级 MIG 的 Compute Engine 虚拟机上。此 MIG 是内部应用负载均衡器的后端。该 MIG 包含位于两个可用区的 Compute Engine 虚拟机。每个虚拟机都托管应用服务器的一个独立实例。 |
部署在 Compute Engine 虚拟机上的 Oracle 数据库实例 | 此架构中的应用使用部署在不同可用区中的 Compute Engine 虚拟机上的一对主备 Oracle 数据库实例。您自带许可 (BYOL) 以用于这些 Oracle 数据库实例,并管理虚拟机和数据库实例。 |
Google Cloud Hyperdisk 存储池 | 每个可用区中的虚拟机(应用堆栈中的所有层)都使用 Hyperdisk 存储池中的 Hyperdisk Balanced 卷。通过在单个存储池中创建和管理所有磁盘,您可以提高容量利用率并降低操作复杂性,同时保持虚拟机所需的存储容量和性能。 |
Oracle Data Guard FSFO 观测器 | Oracle Data Guard 快速启动故障切换 (FSFO) 观测器是一个轻量级程序,当主 Oracle 数据库实例不可用时,该程序会启动到备用 Oracle 数据库实例的自动故障切换。 观测器在 Compute Engine 虚拟机上运行,该虚拟机所在的可用区与主数据库实例和备用数据库实例部署的可用区不同。 |
Cloud Storage 存储桶 | 为了存储 Oracle 数据库实例的备份,此架构使用 Cloud Storage 存储桶。为了在区域中断期间更轻松地恢复数据库,您可以将备份以地理位置冗余的方式存储在双区域或多区域存储桶中。 |
Virtual Private Cloud (VPC) 网络和子网 | 该架构中的所有 Google Cloud 资源都使用单个 VPC 网络和子网。根据您的需要,您也可以选择构建使用多个 VPC 网络或多个子网的架构。如需了解详情,请参阅决定是否创建多个 VPC 网络。 |
公共 Cloud NAT 网关 | 该架构包含一个公共 Cloud NAT 网关,用于从仅具有内部 IP 地址的 Compute Engine 虚拟机建立安全的出站连接。 |
Cloud Interconnect 和 Cloud VPN | 如需将本地网络连接到 Google Cloud中的 VPC 网络,您可以使用 Cloud Interconnect 或 Cloud VPN。如需了解每种方法的相对优势,请参阅选择 Network Connectivity 产品。 |
Cloud Monitoring 和 Cloud Logging | Cloud Monitoring 可帮助您观察应用和 Google Cloud 资源的行为、健康状况和性能。 Ops 代理从 Compute Engine 虚拟机(包括托管 Oracle 数据库实例的虚拟机)收集指标和日志。代理会将日志发送到 Cloud Logging,并将指标发送到 Cloud Monitoring。 |
使用的产品
此参考架构使用以下 Google Cloud 产品:
- Compute Engine:一项安全且可自定义的计算服务,可让您在 Google 的基础设施上创建并运行虚拟机。
- Google Cloud Hyperdisk:一种网络存储服务,可用于预配和动态扩缩块存储卷,具有可配置且可预测的性能。
- Cloud Load Balancing:一组高性能、可扩缩的全球和区域级负载均衡器。
- Cloud Storage:适用于各种数据类型的费用低廉且不受限制的对象存储。数据可从 Google Cloud内部和外部访问,并且跨位置进行复制以实现冗余。
- Virtual Private Cloud (VPC):为您的 Google Cloud 工作负载提供全球可扩缩的网络功能的虚拟系统。VPC 包括 VPC 网络对等互连、Private Service Connect、专用服务访问通道和共享 VPC。
- Google Cloud Armor:一种网络安全服务,提供 Web 应用防火墙 (WAF) 规则,并可帮助防范 DDoS 攻击和应用攻击。
- Cloud NAT:一种提供 Google Cloud管理的高性能网络地址转换的服务。
- Cloud Monitoring:可帮助您了解您的应用和基础设施的性能、可用性和健康状况的服务。
- Cloud Logging:具有存储、搜索、分析和提醒功能的实时日志管理系统。
- Cloud Interconnect:一种通过高可用性、低延迟的连接将您的外部网络扩展到 Google 网络的服务。
- Cloud VPN:一种通过 IPsec VPN 隧道将您的对等网络安全地扩展到 Google 网络的服务。
此参考架构使用以下 Oracle 产品:
- Oracle 数据库:一种关系型数据库管理系统 (RDBMS),可将关系模型扩展为对象关系型模型。
- Oracle Data Guard:一组用于创建、维护、管理和监控一个或多个备用数据库的服务。
您需要负责为您在 Google Cloud中部署的 Oracle 产品购买许可,并负责遵守 Oracle 许可的条款及条件。
设计考虑事项
本部分介绍了一些设计因素、最佳实践和设计建议,您在使用此参考架构开发满足特定安全性、可靠性、运营效率、费用和性能要求的拓扑时应考虑这些内容。
本部分中的指导并非详尽无遗。根据应用的具体要求以及您使用的 Google Cloud 和第三方产品与功能,您可能还需要考虑其他设计因素和权衡因素。
系统设计
本部分提供的指导可帮助您为部署选择 Google Cloud 区域以及选择适当的 Google Cloud 服务。
区域选择
当您选择必须在其中部署应用的 Google Cloud 区域时,请考虑以下因素和要求:
- Google Cloud 服务在每个区域的可用性。如需了解详情,请参阅各位置可使用的产品。
- Compute Engine 机器类型在每个区域的可用性。如需了解详情,请参阅区域和可用区。
- 最终用户延迟时间要求。
- Google Cloud 资源的费用。
- 跨区域数据传输费用。
- 法规要求。
其中一些因素和要求可能需要权衡。例如,成本效益最高的区域,其碳足迹可能并非最低。如需了解详情,请参阅 Compute Engine 区域选择最佳实践。
计算基础架构
本文档中的参考架构对应用的某些层级使用 Compute Engine 虚拟机。根据应用的要求,您可以从其他 Google Cloud 计算服务中进行选择:
- 容器:您可以在 Google Kubernetes Engine (GKE) 集群中运行容器化应用。GKE 是一个容器编排引擎,可自动部署、扩缩和管理容器化应用。
- 无服务器:如果您希望将 IT 工作重点放在数据和应用上,而不是放在设置和操作基础设施资源上,可以使用无服务器服务,例如 Cloud Run。
无论是决定使用虚拟机、容器还是无服务器服务,都需要在配置灵活性和管理工作量之间作出权衡取舍。虚拟机和容器提供了更大的配置灵活性,但您需要负责管理资源。在无服务器架构中,您将工作负载部署到极少需要管理的预配置平台。如需详细了解如何在Google Cloud中为工作负载选择适当的计算服务,请参阅在 Google Cloud上托管应用。
存储选项
对于架构中的 Compute Engine 虚拟机,您可以使用 Hyperdisk 或 Persistent Disk 启动卷。与 Persistent Disk 相比,Hyperdisk 卷可提供更好的性能、灵活性和效率。借助 Hyperdisk Balanced,您可以单独且动态地预配 IOPS 和吞吐量,从而根据各种工作负载对卷进行调优。
如需存储应用二进制文件,请使用 Filestore。您存储在 Filestore Regional 实例中的文件会在区域内的三个可用区中同步复制。这种复制方式有助于确保高可用性和稳健性,以防可用区服务中断。如需提高应对区域服务中断的稳健性,您可以将 Filestore 实例复制到其他区域。如需了解详情,请参阅实例复制。
在为工作负载设计存储时,请考虑工作负载的功能特征、弹性要求、性能预期以及费用目标。如需了解详情,请参阅为云工作负载设计最佳存储策略。
网络设计
选择符合您的业务和技术要求的网络设计。您可以使用单个 VPC 网络或多个 VPC 网络。如需了解详情,请参阅以下文档:
安全性、隐私权和合规性
本部分介绍使用此参考架构在 Google Cloud 中设计满足工作负载安全性和合规性要求的拓扑时应考虑的因素。
防范外部威胁
您可以使用 Google Cloud Armor 安全政策保护您的应用免受分布式拒绝服务攻击 (DDoS) 和跨站脚本攻击 (XSS) 等威胁。每项政策都是一组规则,用于指定应评估的特定条件以及满足条件时要执行的操作。例如,规则可以指定在传入流量的来源 IP 地址与特定 IP 地址或 CIDR 范围匹配时必须拒绝该流量。您还可以应用预配置的 Web 应用防火墙 (WAF) 规则。如需了解详情,请参阅安全政策概览。
虚拟机的外部访问权限
在本文档介绍的参考架构中,Compute Engine 虚拟机无需从互联网进行入站访问。请勿为这些虚拟机分配外部 IP 地址。仅具有专用内部 IP 地址的 Google Cloud 资源仍然可以使用 Private Service Connect 或专用 Google 访问通道来访问某些 Google API 和服务。如需了解详情,请参阅服务的专用访问通道选项。
如需从仅具有专用 IP 地址的 Google Cloud 资源(例如此参考架构中的 Compute Engine 虚拟机)建立安全的出站连接,您可以使用 Secure Web Proxy 或 Cloud NAT。
服务账号权限
对于架构中的 Compute Engine 虚拟机,我们建议您创建专用服务账号,并指定该服务账号可以访问的资源,而不是使用默认服务账号。默认服务账号拥有广泛的权限,其中可能包括一些非必要的权限。您可以定制专用服务账号,使其仅具有必要的权限。如需了解详情,请参阅限制服务账号。
SSH 安全性
如需提高架构中与 Compute Engine 虚拟机建立的 SSH 连接的安全性,请实现 Identity-Aware Proxy (IAP) 和 Cloud OS Login API。借助 IAP,您可以根据用户身份和 Identity and Access Management (IAM) 政策来控制网络访问权限。借助 Cloud OS Login API,您可以根据用户身份和 IAM 政策来控制 Linux SSH 访问权限。如需详细了解如何管理网络访问权限,请参阅控制 SSH 登录访问权限的最佳实践。
磁盘加密
默认情况下,存储在 Hyperdisk 卷中的数据使用 Google-owned and Google-managed encryption keys进行加密。作为额外的保护层,您可以选择使用自己在 Cloud Key Management Service (Cloud KMS) 中拥有和管理的密钥来加密 Google 拥有的数据加密密钥。如需了解详情,请参阅磁盘加密简介。
网络安全
如需控制架构中资源之间的网络流量,您必须配置适当的 Cloud Next Generation Firewall (NGFW) 政策。
更多安全注意事项
为工作负载构建架构时,请考虑企业基础蓝图和 Google Cloud Well-Architected Framework:安全性、隐私权和合规性中提供的平台级安全最佳实践和建议。
可靠性
本部分介绍使用此参考架构为Google Cloud中的部署构建和运营可靠的基础设施时应考虑的设计因素。
针对虚拟机故障的稳健性
在本文档中显示的架构中,如果任何层级中的 Compute Engine 虚拟机发生故障,应用都可以继续处理请求。
- 如果 Web 层或应用层中的虚拟机崩溃,相关的 MIG 会自动重新创建虚拟机。负载平衡器仅将请求转发到可用的 Web 服务器实例和应用服务器实例。
- 如果托管主 Oracle 数据库实例的虚拟机发生故障,Oracle Data Guard FSFO 观测器会启动自动故障切换,切换到备用 Oracle 数据库实例。
虚拟机自动修复
有时,托管应用的虚拟机可能正在运行且可用,但应用本身可能存在问题。应用可能会冻结、崩溃或内存不足。如需验证应用是否按预期响应,您可以在 MIG 的自动修复政策中配置基于应用的健康检查。如果特定虚拟机上的应用没有响应,则 MIG 会自动修复该虚拟机。如需详细了解如何配置自动修复,请参阅关于修复虚拟机以实现高可用性。
针对可用区服务中断的稳健性
如果发生可用区服务中断,应用仍可正常使用。
- Web 层和应用层可用(且响应迅速),因为虚拟机位于区域级 MIG 中。区域级 MIG 可确保在另一个可用区中自动创建新虚拟机,以维持配置的虚拟机数下限。负载均衡器会将请求转发到可用的 Web 服务器虚拟机和应用服务器虚拟机。
- 如果服务中断影响到主 Oracle 数据库实例所在的可用区,则 Oracle Data Guard FSFO 观测器会启动自动故障切换,切换到备用 Oracle 数据库实例。FSFO 观测器在某个可用区中的虚拟机上运行,该可用区与主数据库实例和备用数据库实例所在的可用区不同。
- 如需确保 Hyperdisk 卷中的数据在发生单可用区服务中断时仍可保持高可用性,您可以使用 Hyperdisk Balanced High Availability。当数据写入卷时,数据会在同一区域中的两个可用区之间同步复制。
针对区域服务中断的稳健性
如果此架构中的两个可用区发生服务中断或发生区域服务中断,则应用将不可用。如需减少因多可用区或区域服务中断而导致的停机时间,您可以实现以下方法:
- 在另一个 Google Cloud 区域中维护基础设施堆栈的被动(故障切换)副本。
使用双区域或多区域 Cloud Storage 存储桶来存储 Oracle 数据库备份。备份会在至少两个地理位置之间异步复制。借助复制的数据库备份,您的架构可与 Oracle 的 Maximum Availability Architecture (MAA) 白银层相对应。
如需更快地复制存储在双区域存储桶中的备份,您可以使用增强型复制。如需了解详情,请参阅数据可用性和耐用性。
如果主要区域发生服务中断,请使用数据库备份来恢复数据库,并在故障切换区域中激活应用。使用 DNS 路由政策将流量路由到故障切换区域中的负载均衡器。
对于即使在发生区域服务中断时仍必须保持可用的业务关键型应用,请考虑使用多区域部署原型。对于数据库层,您可以使用 Oracle Active Data Guard FSFO 自动故障切换到故障切换区域中的备用 Oracle 数据库实例。此方法对应于 Oracle 的 MAA Gold 层级。
MIG 自动扩缩
如需控制无状态 MIG 的自动扩缩行为,您可以指定目标利用率指标,例如平均 CPU 利用率。您还可以为无状态 MIG 配置基于时间表的自动扩缩。有状态 MIG 无法自动扩缩。如需了解详情,请参阅自动扩缩实例组。
MIG 大小限制
在决定 MIG 的大小时,请考虑可在 MIG 中创建的虚拟机数量的默认值和上限。如需了解详情,请参阅在 MIG 中添加和移除虚拟机。
虚拟机布置
如需提高架构的稳健性,您可以创建分散布置政策并将其应用于 MIG 模板。MIG 会在创建虚拟机时将每个可用区中的虚拟机布置在不同的物理服务器(称为“主机”)上,因此您的虚拟机可以稳健地应对单个主机故障。如需了解详情,请参阅创建分散布置政策并应用于虚拟机。
虚拟机容量规划
如需确保在需要预配虚拟机时有 Compute Engine 虚拟机容量可用,您可以创建预留。预留在特定可用区为属于所选机器类型的指定数量的虚拟机提供有保障的容量。预留可以专用于某个项目,也可以在多个项目中共享。如需详细了解预留,请参阅选择预留类型。
块存储可用性
本文档中的架构在每个可用区中使用 Hyperdisk 存储池,为 Compute Engine 虚拟机提供块存储。您可以为某个可用区创建块存储容量池。然后,您可以在存储池中创建 Hyperdisk 卷,并将这些卷挂接到相应可用区中的虚拟机。存储池会尝试自动增加容量,以确保利用率不会超过池预配容量的 80%。这种方法可确保在需要时提供块存储空间。如需了解详情,请参阅 Hyperdisk 存储池的工作原理。
有状态存储空间
应用设计的最佳做法是免去有状态本地磁盘的需要。但如果有相应要求,您可以将永久性磁盘配置为有状态,确保在修复或重新创建虚拟机时保留数据。但是,我们建议您让启动磁盘保持无状态,以便通过新版本和安全补丁将其更新为最新映像。如需了解详情,请参阅在 MIG 中配置有状态永久性磁盘。
备份与恢复
本文档中的架构使用 Cloud Storage 来存储数据库备份。如果您为 Cloud Storage 存储桶选择双区域或多区域位置类型,则备份会在至少两个地理位置之间异步复制。如果发生区域服务中断,您可以使用备份在其他区域中恢复数据库。使用双区域存储桶,您可以通过启用增强型复制选项来实现更快的复制。如需了解详情,请参阅数据可用性和耐用性。
您可以使用 Backup and DR Service 创建、存储和管理 Compute Engine 虚拟机的备份。Backup and DR Service 以应用可读的原始格式存储备份数据。如有需要,您可以通过直接使用长期备份存储空间中的数据将工作负载恢复到生产环境,而无需进行耗时的数据移动或准备活动。如需了解详情,请参阅以下文档:
更多可靠性注意事项
在为工作负载构建云架构时,请查看以下文档中提供的与可靠性相关的最佳实践和建议:
费用优化
本部分将指导您优化您使用此参考架构构建的 Google Cloud 拓扑的设置和操作费用。
虚拟机机器类型
为了帮助您优化虚拟机实例的资源利用率,Compute Engine 提供了机器类型建议。使用建议来选择符合工作负载计算要求的机器类型。对于具有可预测资源要求的工作负载,您可以使用自定义机器类型根据需求自定义机器类型并节省资金。
虚拟机预配模型
如果您的应用具备容错能力,则 Spot 虚拟机可以帮助您降低应用层和网络层中虚拟机的 Compute Engine 费用。Spot 虚拟机的费用远低于常规虚拟机。但是,Compute Engine 可能会提前停止或删除 Spot 虚拟机来收回容量。
Spot 虚拟机适用于可以容忍抢占且没有高可用性要求的批量作业。Spot 虚拟机提供与常规虚拟机相同的机器类型、选项和性能。但是,如果某个可用区中的资源容量有限,则在重新获得所需容量后,MIG 可能才会自动横向扩容(即创建虚拟机)。
虚拟机资源利用率
借助无状态 MIG 的自动扩缩功能,应用可以顺利应对流量增加的情况,并有助于您在资源需求较低时降低费用。有状态 MIG 无法自动扩缩。
Oracle 产品许可
您需要负责为您在 Compute Engine 中部署的 Oracle 产品购买许可,并负责遵守 Oracle 许可的条款及条件。如需了解详情,请参阅在云计算环境中许可 Oracle 软件。
块存储资源利用率
本文档中的架构在每个可用区中使用 Hyperdisk 存储池,为 Compute Engine 虚拟机提供块存储。您可以使用高级容量存储池来提高块存储容量的总体利用率并降低成本,该存储池使用精简预配和数据缩减技术来提高存储效率。
更多费用注意事项
为工作负载构建架构时,也考虑 Google Cloud Well-Architected Framework:费用优化中提供的一般最佳实践和建议。
运营效率
本部分介绍使用此参考架构设计可高效运营的 Google Cloud 拓扑时应考虑的因素。
虚拟机配置更新
如需更新 MIG 中的虚拟机的配置(例如机器类型或启动磁盘映像),请使用所需的配置创建新的实例模板,然后将新模板应用于 MIG。MIG 会使用您选择的更新方法(自动或选择性)更新虚拟机。请根据可用性和运营效率要求选择适当的方法。如需详细了解这些 MIG 更新方法,请参阅在 MIG 中应用新的虚拟机配置。
Oracle Linux 映像
对于虚拟机,您可以使用 Compute Engine 中提供的 Oracle Linux 映像,也可以导入您自行构建和维护的 Oracle Linux 映像。您还可以创建并使用包含应用所需配置和软件的自定义操作系统映像。您可以将自定义映像分组到一个自定义映像系列中。映像系列总是指向该系列中最新的映像,因此实例模板和脚本可以在无需更新对特定映像版本的引用的情况下使用该映像。您必须定期更新自定义映像,以纳入操作系统供应商提供的安全更新和补丁。
确定性实例模板
如果用于 MIG 的实例模板包含安装第三方软件的启动脚本,请确保这些脚本明确指定软件安装参数,例如软件版本。否则,当 MIG 创建虚拟机时,安装在虚拟机上的软件可能不一致。例如,如果您的实例模板包含用于安装 Apache HTTP Server 2.0(apache2
软件包)的启动脚本,请确保该脚本指定应安装的确切 apache2
版本,例如版本 2.4.53
。如需了解详情,请参阅确定性实例模板。
块存储管理
本文档中的架构在每个可用区中使用 Hyperdisk 存储池,为 Compute Engine 虚拟机提供块存储。Hyperdisk 存储池有助于简化存储管理。您无需为众多磁盘单独分配和管理容量,只需定义一个容量池,该容量池可在可用区中的多个工作负载之间共享。然后,您可以在存储池中创建 Hyperdisk 卷,并将这些卷挂接到相应可用区中的虚拟机。存储池会尝试自动增加容量,以确保利用率不超过池预配容量的 80%。
应用服务器到数据库的连接
对于从应用到 Oracle 数据库的连接,我们建议您使用数据库虚拟机的可用区级内部 DNS 名称,而不是其 IP 地址。 Google Cloud 会自动将 DNS 名称解析为虚拟机的主要内部 IP 地址。此方法的另一个优势在于,您无需为数据库虚拟机预留和分配静态内部 IP 地址。
Oracle 数据库管理和支持
在 Compute Engine 虚拟机上运行自行管理的 Oracle 数据库实例时,存在与在本地运行 Oracle 数据库类似的操作问题。不过,使用 Compute Engine 虚拟机后,您无需再管理底层的计算、网络和存储基础设施。
- 如需有关操作和管理 Oracle 数据库实例的指南,请参阅 Oracle 针对相关版本提供的文档。
- 如需了解 Oracle 对您在 Google Cloud中部署的 Oracle 数据库实例的支持政策,请参阅适用于非 Oracle 公有云环境的 Oracle 数据块支持(文档 ID 2688277.1)。
Oracle 应用的可观测性
如需为部署在 Google Cloud中的 Oracle 工作负载实现可观测性,您可以使用 Google Cloud Observability 服务或 Oracle Enterprise Manager。根据您的要求和限制选择合适的监控策略。例如,如果您除了运行 Oracle 工作负载之外,还在 Google Cloud 中运行其他工作负载,则可以使用 Google Cloud Observability 服务为所有工作负载构建统一的操作信息中心。
更多运营注意事项
为工作负载构建架构时,考虑 Google Cloud Well-Architected Framework:卓越运营中描述的关于运营效率的一般最佳实践和建议。
性能优化
本部分介绍在使用此参考架构在 Google Cloud 中设计满足工作负载性能要求的拓扑时应考虑的因素。
计算性能
Compute Engine 提供了各种预定义和可自定义的机器类型,您可以根据工作负载的性能要求进行选择。
- 对于托管 Web 层和应用层的虚拟机,请根据这些层的性能要求选择合适的机器类型。如需获取支持 Hyperdisk 卷且满足您的性能和其他要求的可用机器类型列表,请使用机器系列比较表。
- 对于托管 Oracle 数据库实例的虚拟机,我们建议您使用通用机器系列中的C4 机器系列中的机器类型。C4 机器类型可为数据库工作负载提供始终如一的高性能。
虚拟机多线程
您分配给 Compute Engine 虚拟机的每个虚拟 CPU (vCPU) 都作为单个硬件多线程实现。默认情况下,两个 vCPU 共用一个物理 CPU 核心。对于涉及高度并行操作或执行浮点计算的应用(例如基因序列分析和财务风险建模),您可以通过减少每个物理 CPU 核心上运行的线程数来提高性能。如需了解详情,请参阅设置每个核心的线程数。
虚拟机多线程可能会给某些第三方软件(例如数据库)带来许可方面的影响。如需了解详情,请阅读第三方软件的许可文档。
网络性能
对于需要在应用层和网络层内实现较短的虚拟机间网络延迟时间的工作负载,您可以创建紧凑布置政策,并将其应用于用于这些层的 MIG 模板。创建虚拟机时,MIG 会将虚拟机布置在彼此邻近的物理服务器上。紧凑布置政策有助于提高虚拟机间网络性能,而分散布置政策有助于提高虚拟机可用性,如前所述。为了在网络性能和可用性之间实现最佳平衡,在创建紧凑布置政策时,您可以指定虚拟机之间的放置距离。如需了解详情,请参阅布置政策概览。
Compute Engine 对每个虚拟机的出站流量网络带宽有限制。此限制取决于虚拟机的机器类型以及流量是否通过与来源虚拟机相同的 VPC 网络进行路由。对于具有特定机器类型的虚拟机,为了提高网络性能,您可以通过启用 Tier_1 网络来获得更高的最大出站流量带宽。
Hyperdisk 存储性能
本文档中介绍的架构对所有层级中的虚拟机使用 Hyperdisk 卷。Hyperdisk 可让您动态扩缩性能和容量。您可以调整预配的 IOPS、吞吐量和每个卷的大小,以满足工作负载的存储性能和容量需求。Hyperdisk 卷的性能取决于 Hyperdisk 类型以及卷所挂接到的虚拟机的机器类型。如需详细了解 Hyperdisk 性能限制和调优,请参阅以下文档:
更多性能考虑因素
为工作负载构建架构时,请考虑 Google Cloud Well-Architected Framework:性能优化中提供的一般最佳实践和建议。
后续步骤
- 借助 Google Cloud 和 Oracle 加速云转型
- Oracle MAA 参考架构
- 如需查看更多参考架构、图表和最佳做法,请浏览云架构中心。
贡献者
作者:
- Kumar Dhanagopal | 跨产品解决方案开发者
- Samantha He | 技术文档工程师
其他贡献者:
- Andy Colvin | Oracle on Google Cloud 数据库黑带工程师
- Jeff Welsch | 产品管理总监
- Lee Gates | 组合产品经理
- Marc Fielding | 数据基础设施架构师
- Mark Schlagenhauf | 网络技术文档工程师
- Michelle Burtoft | 高级产品经理
- Rajesh Kasanagottu | 工程经理
- Sekou Page | 对外产品经理
- Souji Madhurapantula | 组合产品经理
- Victor Morno | Cloud 网络产品经理
- Yeonsoo Kim | 产品经理