使用 OCI Kubernetes Engine 部署自动缩放病毒扫描仪

确保对 Oracle Cloud Infrastructure Object Storage 中的文件进行病毒扫描,以检测和防止病毒、恶意软件、身份盗用和欺诈。实施病毒扫描仪可确保所有进入 Oracle Cloud Infrastructure (OCI) 解决方案的文件都安全可靠。

体系结构

此体系结构创建病毒扫描程序以扫描上载到 OCI 对象存储的文件。病毒扫描程序部署在 Oracle Cloud Infrastructure Kubernetes Engine 上,并使用基于 Kubernetes 的事件驱动自动缩放来管理病毒扫描作业。

病毒扫描作业配置为扫描单个文件和 zip 文件。将多个文件上载到创建的对象存储桶时,将使用 OCI 事件和 OCI 队列在 OCI Kubernetes Engine (OKE) 上执行病毒扫描作业(默认情况下最多同时执行 3 个作业,但可以使用基于 Kubernetes 的事件驱动自动缩放配置更改此任务)。扫描后,文件将根据扫描结果(干净或受感染)移至对象存储存储桶。如果没有要扫描的文件,则基于 Kubernetes 的事件驱动自动缩放会将池 2 中的节点缩小到零。扫描时,基于 Kubernetes 的事件驱动自动缩放可扩展节点。

病毒扫描程序使用名为 Trellix 的第三方免费试用 uvscan。应用代码主要在 NodeJS 中编写,并使用适用于 JS 的 Oracle Cloud Infrastructure SDK。

下表展示了此体系结构。



oke- 防病毒 -architecture.zip

该体系结构具有以下组件:

  • 区域

    Oracle Cloud Infrastructure 区域是包含一个或多个数据中心(称为可用性域)的本地化地理区域。地区独立于其他地区,远距离可以把它们分开(跨越国家甚至大陆)。

  • 可用性域

    可用性域是区域中的独立数据中心。每个可用性域中的物理资源与其他可用性域中的资源隔离,从而提供容错能力。可用性域不共享电源或冷却设备等基础设施,也不共享内部可用性域网络。因此,一个可用性域出现故障不会影响区域中的其他可用性域。

  • 容错域

    容错域是可用性域内的一组硬件和基础设施。每个可用性域都有三个容错域,它们具有独立的电源和硬件。在多个容错域之间分配资源时,应用可以承受容错域内的物理服务器故障、系统维护和电源故障。

  • 虚拟云网络 (VCN) 和子网

    VCN 是一个可定制的软件定义网络,您可以在 Oracle Cloud Infrastructure 区域中设置。与传统的数据中心网络一样,VCN 允许您控制您的网络环境。VCN 可以具有多个不重叠的 CIDR 块,您可以在创建 VCN 后更改这些块。您可以将 VCN 划分为子网,子网可以限定为区域或可用性域。每个子网都包含一系列不与 VCN 中的其他子网重叠的连续地址。可以在创建后更改子网的大小。子网可以是公共子网,也可以是专用子网。

  • Internet 网关

    通过互联网网关,可以在 VCN 中的公共子网与公共互联网之间进行流量传输。

  • 动态路由网关 (DRG)

    DRG 是虚拟路由器,用于为同一区域中的 VCN 之间、VCN 与区域外的网络(例如另一个 Oracle Cloud Infrastructure 区域中的 VCN、内部部署网络或另一个云提供商中的网络)之间的专用网络流量提供路径。

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

    通过 NAT 网关,VCN 中的专用资源可以访问 Internet 上的主机,而不会向传入的 Internet 连接公开这些资源。

  • 负载平衡器

    Oracle Cloud Infrastructure Load Balancing 服务提供从单个入口点到后端多个服务器的自动流量分配。

  • 对象存储

    通过对象存储,可以快速访问任意内容类型的大量结构化和非结构化数据,包括数据库备份、分析数据以及图像和视频等丰富内容。您可以安全地存储数据,然后直接从互联网或云平台检索数据。您可以在不降低性能或服务可靠性的情况下扩展存储。将标准存储用于需要快速、立即和频繁访问的“热”存储。将归档存储用于长期保留、很少访问或很少访问的“冷”存储。

  • 监视

    Oracle Cloud Infrastructure Monitoring 服务使用指标主动和被动监视云资源,监视资源和警报,以便在这些指标满足警报指定的触发器时通知您。

  • 日志记录
    日志记录是一项高度可扩展且完全托管的服务,它允许您从云端资源访问以下类型的日志:
    • 审计日志:与审计服务发出的事件相关的日志。
    • 服务日志:由各个服务发出的日志,如 API 网关、事件、函数、负载平衡、对象存储和 VCN 流日志。
    • 定制日志:包含来自定制应用程序、其他云提供商或内部部署环境的诊断信息的日志。
  • 函数

    Oracle Cloud Infrastructure Functions 是一个完全托管的多租户、高度可扩展的按需函数即服务 (FaaS) 平台。它由 Fn Project 开源引擎提供支持。使用函数可以部署代码,也可以直接调用代码或触发代码以响应事件。Oracle Functions 使用 Oracle Cloud Infrastructure Registry 中托管的 Docker 容器。

  • 队列

    Oracle Cloud Infrastructure Queue 提供了一个可扩展的系统来处理消息,同时处理复杂的管理任务,例如保证一次性的处理、跟踪和客户端隔离。此集中式服务还管理消息排序和处理状态,从而允许无状态客户机进程卸载游标跟踪。

  • 事件

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

  • 注册表

    Oracle Cloud Infrastructure Registry 是一个由 Oracle 管理的注册表,可帮助您简化开发到生产工作流。通过注册表,您可以轻松地存储、共享和管理开发对象,例如 Docker 映像。Oracle Cloud Infrastructure 的高可用性和可扩展性架构可确保您能够可靠地部署和管理应用。

部署

GitHub 中提供了用于部署病毒扫描程序的代码。

  1. 转至 GitHub
  2. 将资料档案库克隆或下载到本地计算机。
  3. 按照 README 文档中的说明进行操作。

浏览更多

详细了解如何在 Oracle Cloud Infrastructure Kubernetes Engine 上部署病毒扫描仪。

查看以下附加资源:

确认

  • Author: Mika Rinne
  • Contributors: Marta Tolosa, Badr Tharwat