在 Oracle Cloud Infrastructure 上部署 ASP.Net 应用程序
ASP.Net 是一个开源 Web 框架,由 Microsoft 创建,用于构建具有 的现代 Web 应用和服务。净值。您可以使用此框架在 Oracle Cloud Infrastructure 上快速为 ASP.Net 应用程序设置自动化部署管道。此参考体系结构展示了简单的 ASP.Net 应用程序,并提供了设置该应用程序的基架。
体系结构
在此体系结构中,我们正在多个容错域中部署 ASP.Net 应用程序。该体系结构使用虚拟云网络 (Virtual Cloud Network, VCN) 和公共子网作为应用程序实例,使用专用子网作为数据库层。放置在公共子网中的负载平衡器会在节点之间分配流量。
您可以利用 Oracle Cloud Infrastructure 的灵活负载平衡器,选择定制最小带宽和可选的最大带宽;两者必须介于 10 Mbps 和 8,000 Mbps 之间。最低带宽始终可用,可为您的负载提供即时就绪状态。根据传入流量模式,可用带宽将随着流量增加而从最小值扩展。
对于在虚拟机上部署的应用,客户可以利用灵活的 VM 实例。灵活的 VM 可以增加 CPU 和内存,从而在几分钟内增加或减少容量。可为灵活 VM 配置 1 到 64 个内核,每个内核可配置 1 到 64 GB 内存,每个实例最多可配置 1024 GB。
Microsoft SQL 数据库部署时,主数据库和备用数据库分布在两个容错域中,以提供高可用性。
下图说明了此参考体系结构。
- 区域
Oracle Cloud Infrastructure 区域是一个本地化地理区域,包含一个或多个数据中心,称为可用性域。区域独立于其他区域,大片距离可以分开(跨国家甚至大陆)。
- 可用性域
可用性域是区域内的独立数据中心。每个可用性域中的物理资源都与其他可用性域中的资源隔离,从而提供容错能力。可用性域不共用电源或冷却设备等基础设施,也不共享内部可用性域网络。因此,一个可用性域出现故障不太可能影响区域中的其他可用性域。
- 故障域
故障域是可用性域内一组硬件和基础设施。每个可用性域都有三个容错域,具有独立电源和硬件。在多个容错域之间分配资源时,您的应用可以在容错域内承受物理服务器故障、系统维护和电源故障。
- 区间
区间是 OCI 租户中的跨区域逻辑分区。使用区间在 Oracle Cloud 中组织资源,控制对资源的访问并设置使用限额。要控制对给定区间中资源的访问,可以定义策略来指定谁可以访问资源以及可以访问哪些操作。虚拟云网络
- (VCN) 和子网
VCN 是您在 Oracle Cloud Infrastructure 区域中设置的可定制软件定义网络。与传统的数据中心网络类似,VCN 允许您完全控制您的网络环境。VCN 可以有多个不重叠的 CIDR 块,您可以在创建 VCN 后更改这些块。您可以将 VCN 细分为多个子网,这些子网可以限定于某个区域或可用性域。每个子网都包含与 VCN 中的其他子网不重叠的连续地址范围。您可以在创建子网后更改其大小。子网可以是公共的,也可以是专用的。
- 安全列表
对于每个子网,您可以创建安全规则来指定必须允许进出子网的源、目标和流量类型。
- 负载平衡器
Oracle Cloud Infrastructure Load Balancing 服务可实现从单个入口点到后端多个服务器的自动流量分配。Internet 网关互联网网关允许 VCN 中的公共子网与公共互联网之间的流量。
- 块存储卷
通过块存储卷,您可以创建、附加、连接和移动存储卷,以及更改卷性能,从而满足您的存储、性能和应用要求。将卷连接到实例后,您可以像常规硬盘驱动器那样使用卷。还可以断开卷的连接并将其连接到另一个实例,而不会丢失数据。
- Webserver - IIS
Windows ® Server 的 Internet 信息服务 (Internet Information Services, IIS) 是用于托管的 Web 服务器。网络应用程序。
- Github 操作和运行者
GitHub 操作用于将 ASP.NET 应用程序自动生成并部署到 Windows 服务器。GitHub 操作有助于在软件开发生命周期内自动执行任务,而运行者是运行 GitHub Actions 作业的计算机。运行程序监听可用作业,一次运行一个作业,并将进度、日志和结果报告给 GitHub。
Runners(运行器)由 GitHub 作为托管服务提供,如果您需要更多灵活性和更强大的环境控制力,例如,作为专用映像或容器、一台更强大的机器,或者支持 Arm 等多个体系结构,可以自我管理。可以从任何构建和部署系统执行相同的进程或命令以获取类似的结果。在此示例中,构建由提交到系统信息库或拉取请求触发。触发工作流时,将构建应用程序。内置二进制文件是打包的,开始采用 terraform 来更新基础结构和部署应用程序。Oracle Cloud Infrastructure API 密钥由 GitHub 密钥管理。
建议
- Cloud Guard
克隆和定制 Oracle 提供的默认配方,以创建定制检测器和响应器配方。通过这些配方,您可以指定哪些类型的安全违规生成警告以及允许对其执行哪些操作。例如,对象存储桶可以设置为 public。
在租户级别应用 Cloud Guard 可覆盖最广的范围并减轻维护多个配置的管理负担。
还可以使用受管列表功能将某些配置应用于检测器。
- 安全区域
对于需要最大安全性的资源,Oracle 建议您使用安全区域。安全区域是与基于优秀实践的 Oracle 定义的安全策略配方关联的区间。例如,安全区域中的资源不能从公共互联网访问,必须使用客户管理的密钥进行加密。在安全区域中创建和更新资源时,Oracle Cloud Infrastructure 将根据安全区域配方中的策略验证操作,并拒绝违反任何策略的操作。
- VCN
创建 VCN 时,请根据您计划附加到 VCN 中的子网的资源数量确定所需的 CIDR 块数和每个块的大小。使用标准专用 IP 地址空间内的 CIDR 块。
选择与要设置专用连接的任何其他网络(在 Oracle Cloud Infrastructure、内部部署数据中心或其他云提供商中)不重叠的 CIDR 块。
创建 VCN 后,可以更改、添加和删除其 CIDR 块。
设计子网时,请考虑您的流量和安全性要求。将特定层或角色中的所有资源连接到可充当安全边界的同一子网。
使用区域子网。
- 安全列表
使用安全列表定义应用于整个子网的入站和出站规则。
考虑事项
部署此引用体系结构时,请考虑以下几点。
- 安全性
考虑添加 Web 应用防火墙以保护应用免受恶意攻击。
- 应用程序可用性
容错域在一个可用性域内提供出色的弹性。此外,在多个容错域中部署执行相同任务的计算实例可提供冗余和避免单点故障。
- 成本
根据应用所需的核心、内存和网络带宽选择 VM 配置。您可以从服务器的双核配置开始。如果节点需要更多性能、内存或网络带宽,可以稍后更改 VM 配置。
- CI/CD
您可以在 OCI 上部署自托管的 Github 操作运行者,并将其添加到 Github 资料档案库、组织或企业。有关 GitHub 操作自我托管的运行者和受支持的平台和体系结构的更多详细信息,请参阅 GitHub 文档中的“托管自己的运行者”(有关此文档的链接,请参阅“浏览更多”主题)。
部署
此参考体系结构的 Terraform 代码可用作 Oracle Cloud Infrastructure Resource Manager 中的示例堆栈。您还可以从 GitHub 下载代码并对其进行定制以满足您的特定要求。
- 使用 Oracle Cloud Infrastructure Resource Manager 中的示例堆栈进行部署:
- 在 GitHub 中使用 Terraform 代码部署:
- 转至 GitHub。
- 将资料档案库克隆或下载到本地计算机。
- 按照
README文档中的说明进行操作。
