适用于 AWS 上 FTDv 的 Auto Scale 解决方案
以下各节介绍 Auto Scale 解决方案的组件如何对 AWS 上的 FTDv 发挥作用。
关于 Auto Scale 解决方案
Cisco 提供 CloudFormation 模板和脚本,用于使用多个 AWS 服务部署 FTDv 防火墙的自动扩展组,包括 Lambda、自动扩展组、弹性负载均衡 (ELB)、Amazon S3 存储桶、SNS 和 CloudWatch。
AWS 中的 FTDv Auto Scale 是完整的无服务器实现(即此功能的自动化不涉及辅助虚拟机),它可以将水平自动扩展功能加入到 AWS 环境中的 FTDv 实例。
FTDv Auto Scale 解决方案是基于 CloudFormation 模板的部署,可提供:
-
FMC 中完全自动化的 FTDv 实例注册和取消注册。
-
自动应用到外向扩展 FTDv 实例的 NAT 策略、访问策略和路由。
-
对负载均衡器和多可用性区域的支持。
-
对启用和禁用自动扩展功能的支持。
-
仅适用于 FMC;不支持 Firepower Device Manager。
-
(FP 6.7 新增)AWS Auto Scale 增强功能:
-
自定义指标发布方 ― 新的 Lambda 函数每 2 分钟轮询一次 FMC 以获取 Auto Scale 组中所有 FTDv 实例的内存消耗情况,然后将值发布到 CloudWatch 指标;有关说明,请参阅输入参数。
-
用于连接 FMC 的 FTDv 专用 SSH 和安全隧道 IP 连接。
-
FMC 配置验证。
-
支持在 ELB 上打开更多侦听端口。
-
修改为单堆栈部署。所有 Lambda 函数和 AWS 资源都从单堆栈进行部署,以便简化部署。
-
使用发布的指标,可以实现基于内存的新扩展策略。
-
支持的软件平台
FTDv Auto Scale 解决方案适用于 FMC 管理的 FTDv,与软件版本无关。《Cisco Firepower 兼容性指南》提供 Cisco Firepower 软件和硬件兼容性,包括操作系统和托管环境要求。
-
Firepower Management Center:虚拟表列出 AWS 上 FMCv 的 Firepower 兼容性和虚拟托管环境要求。
-
Firepower Threat Defense Virtual 兼容性表列出了 AWS 上 FTDv 的 Firepower 兼容性和虚拟托管环境要求。
注 |
为了部署 AWS Auto Scale 解决方案,AWS 上 FTDv 的最低支持 Firepower 版本是版本 6.4。FMC 必须至少运行版本 6.6+,才能使用基于内存的扩展。 |
Auto Scale 使用案例
FTDv Auto Scale 用例图 显示了此 FTDv AWS Auto Scale 解决方案的使用案例。由于 AWS 负载均衡器只允许入站发起的连接,因此只允许外部生成的流量通过 Cisco FTDv 防火墙传入内部。面向互联网的负载均衡器将有一个 DNS 名称,还可能保持开启 0 到 4 个端口。在这些端口中,0 到 2 个可以是不安全的端口,如 HTTP/80,0 到 2 个可以是安全端口,如 HTTPS/443。
注 |
如前提条件 SSL 服务器证书中所述,安全端口需要 SSL/TLS 证书。 |
面向互联网的负载均衡器可以是网络负载均衡器或应用程序负载均衡器。在两种情况下,所有 AWS 要求和条件均适用。如用例图中所示,虚线右侧是通过 FTDv 模板部署的。左侧完全由用户定义。
注 |
应用程序发起的出站流量将不会经过 FTDv。 |
基于端口的流量分叉是可能的。这可通过 NAT 规则实现;请参阅在 FMC 中配置对象、设备组、NAT 规则和访问策略。例如,面向互联网的 LB DNS、端口:80 上的流量可以路由到应用程序 1;端口:88 流量可路由到应用程序 2。
Auto Scale 解决方案的工作机制
为了内向扩展和外向扩展 FTDv 实例,一个称为 Auto Scale Manager 的外部实体会监控指标、命令自动扩展组添加或删除 FTDv 实例、向管理 FMC 注册和取消注册 FTDv 设备,并配置 FTDv 实例。
Auto Scale Manager 使用 AWS 无服务器架构进行实施,并且与 AWS 资源、FTDv 和 FMC 通信。我们提供 CloudFormation 模板来自动执行 Auto Scale Manager 组件的部署。此模板还用于部署完整解决方案发挥作用所需的其他资源。
注 |
无服务器 Auto Scale 脚本只由 CloudWatch 事件调用,因此它们仅在启动实例时才会运行。 |
Auto Scale 解决方案组件
以下组件构成了 Auto Scale 解决方案。
CloudFormation 模板
CloudFormation 模板用于部署 AWS 中 Auto Scale 解决方案所需的资源。该模板包括以下各项:
-
Auto Scale 组、负载均衡器、安全组和其他各种组件。
-
模板需要用户输入来自定义部署。
注
模板在验证用户输入方面有限制,因此,用户应负责在部署期间验证输入。
Lambda 函数
Auto Scale 解决方案是在 Python 中开发的一组 Lambda 函数,可以通过生命周期钩子、SNS、CloudWatch 事件/警报事件触发。基本功能包括:
-
触发内向扩展/外向扩展操作。
-
向 FMC 注册新的 FTDv。
-
通过 FMC 配置新的 FTDv。
-
从 FMC 取消注册(删除)内向扩展的 FTDv。
Lambda 函数以 Python 包的形式交付给客户。
内向扩展/外向扩展插件
-
内向扩展/外向扩展插件可确保有正确数量的 Amazon EC2 实例可用,以便处理应用程序的负载。
-
扩展插件可通过用于自动扩展的内置 AWS 框架进行配置,或使用自定义 Lambda 函数进行配置。
生命周期 Hook
-
生命周期钩子用于获取关于实例的生命周期更改通知。
-
在启动实例时,生命周期钩子用于触发 Lambda 函数,可将接口添加到 FTDv 实例,并将外部接口 IP 注册到目标组。
-
在终止实例时,生命周期钩子用于触发 Lambda 函数,以便从目标组取消注册 FTDv 实例。
Simple Notification Service (SNS)
-
来自 AWS 的 Simple Notification Service (SNS) 用于生成事件。
-
受限于 AWS 中的无服务器 Lambda 函数没有适合的编排器,因此该解决方案使用 SNS 作为一种函数链,以便基于事件来编排 Lambda 函数。