你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本文介绍如何使用 Azure Web 应用程序防火墙(WAF)和 Azure Kubernetes 服务(AKS)中的容器的 Azure 应用程序网关通过 AWS Web 应用程序防火墙(WAF)复制 Amazon Elastic Kubernetes 服务(EKS)Web 应用程序。
此工作负载实现 WAF 来保护 Kubernetes 群集中运行的 Yelb 基于 Web 的应用程序。 应用程序依赖于 WAF 来阻止不需要的流量,并保护应用免受常见漏洞的影响。 集中式 Web 应用程序防火墙有助于简化安全管理,并帮助确保更好地防御威胁和入侵。
有关 AWS 工作负载的更详细了解,请参阅使用 AWS WAF 保护 Amazon EKS Web 应用。
重要
AKS 文档和示例中都提到了开源软件。 AKS 服务级别协议、有限保修和 Azure 支持不涵盖你部署的软件。 将开源技术与 AKS 一起使用时,请查阅相应社区和项目维护者提供的支持选项来制定计划。
Microsoft 将负责生成我们在 AKS 上部署的开源包。 该责任包括对生成、扫描、签名、验证和修补过程拥有完整的所有权,以及对容器映像中的二进制文件的控制。 如需了解详细信息,请参阅 AKS 漏洞管理和 AKS 支持范围。
部署过程
- 了解概念上的差异:首先了解 EKS 和 AKS 在服务、体系结构和部署方面的差异。
- 重新构建工作负载:分析现有 AWS 工作负载体系结构,确定需要重新设计以适应 AKS 的组件或服务,例如工作负载基础结构、应用程序体系结构和部署过程。
- 更新应用程序代码:确保代码与 Azure API、服务和身份验证模型兼容。
- 准备部署:修改 AWS 部署过程以使用 Azure CLI。
- 部署工作负载:在 AKS 中部署复制的工作负载并测试工作负载,以确保其按预期工作。
先决条件
- 一个有效的 Azure 订阅。 如果没有订阅,请在开始之前创建一个免费 Azure 帐户。
- Azure 帐户中的订阅上的“所有者”Azure 内置角色或“用户访问管理员”和“参与者”内置角色。
- Azure CLI 版本 2.61.0 或更高版本。 有关详细信息,请参阅安装 Azure CLI。
- Azure Kubernetes 服务 (AKS) 预览版扩展。
- jq 版本 1.5 或更高版本。
- Python 3 或更高版本。
- kubectl 1.21.0 或更高版本
- Helm 3.0.0 或更高版本
- 已在某个支持的平台上安装的 Visual Studio Code 以及 Bicep 扩展。
- 一个带有有效 TLS 证书用于 Yelb Web 应用程序的现有Azure Key Vault 资源。
- 用于 Yelb 应用程序名称解析的现有 Azure DNS 区域或等效 DNS 服务器。
下载 Azure 应用程序代码
此工作流的已完成应用程序代码可在 GitHub 存储库中找到。
使用以下命令,将存储库克隆到本地计算机上名为
aws-to-azure-web-app-workshop的目录:git clone https://github.com/azure-samples/aks-web-application-replicate-from-aws ./aws-to-azure-web-app-workshop克隆存储库后,请导航到
aws-to-azure-web-app-workshop目录,并使用以下命令启动 Visual Studio Code:cd aws-to-azure-web-app-workshop code .
下一步
供稿人
Microsoft 会维护本文。 本系列文章为以下参与者的原创作品:
主要作者:
- Dixit Arora | 高级客户工程师
- Paolo Salvatori | 首席客户工程师
其他参与者:
- Ken Kilty | 首席 TPM
- Russell de Pina | 首席 TPM
- Erin Schaffer | 内容开发人员 2