使用 AMS SSP 在你的 AMS 账户 AWS Fargate 中配置 Amazon EKS - AMS 高级用户指南

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 AMS SSP 在你的 AMS 账户 AWS Fargate 中配置 Amazon EKS

使用 AMS 自助服务配置 (SSP) 模式,直接在您的 AMS 托管账户中通过 AWS Fargate 功能访问 Amazon EKS。 AWS Fargate 是一种按需为容器提供大小合适的计算容量的技术(要了解容器,请参阅什么是容器? )。使用 AWS Fargate,您无需再预置、配置或扩展虚拟机组来运行容器。这样一来,您就无需再选择服务器类型、确定扩展节点组的时间和优化集群打包。

亚马逊 Elastic Kubernetes Service(亚马逊 EKS)使用使用 AWS Fargate Kubernetes 提供的上游可扩展模型 AWS 构建的控制器将 Kubernetes 与 Kubernetes 集成。这些控制器作为 Amazon EKS 管理的 Kubernetes 控制平面的一部分运行,负责将原生 Kubernetes pod 调度到 Fargate 上。除了若干转换和验证准入控制器外,Fargate 控制器还包括一个与默认 Kubernetes 调度器一起运行的新调度器。当您启动满足 Fargate 上的运行条件的 Pod 时,集群中运行的 Fargate 控制器会识别、更新 Pod 并将其安排到 Fargate 上。

要了解更多信息,请参阅AWS Fargate 现已正式上市的 Amazon EKS 和 Amazon EKS 安全最佳实践指南(包括 “建议”,例如 “查看并撤消不必要的匿名访问权限” 等)。

提示

AMS 有一个变更类型,即部署 | 高级堆栈组件 | 身份和访问管理 (IAM) | 创建 OpenID Connect 提供商 (ct-30ecvfi3tq4k3),你可以将其与亚马逊 EKS 一起使用。有关示例,请参阅身份和访问管理 (IAM) Management | 创建 OpenID Conn ect 提供商。

AWS Managed Services 常见问题解答 AWS Fargate 中的亚马逊 EKS

问:如何使用我的 AMS 账户申请访问 Fargate 上的 Amazon EKS?

通过提交管理 | AWS 服务 | 自配置服务 | 添加(需要审核)(ct-3qe6io8t6jtny) 更改类型来申请访问权限。此 RFC 为您的账户配置以下 IAM 角色。

  • customer_eks_fargate_console_role.

    在您的账户中配置该角色后,您必须在联合解决方案中加入该角色。

  • 这些服务角色允许 Fargate 上的 Amazon EKS 代表您拨打其他 AWS 服务:

    • customer_eks_pod_execution_role

    • customer_eks_cluster_service_role

问:在我的 AMS 账户中在 Fargate 上使用 Amazon EKS 有哪些限制?

  • AMS 不支持创建或自行管理的 EC2 节点组。如果您需要使用 EC2 工作节点,请联系您的 AMS 云服务交付经理 (CSDM) 或云架构师 (CA)。

  • AMS 不包括趋势科技或容器映像的预配置网络安全组件。您需要管理自己的图像扫描服务,以便在部署之前检测恶意容器镜像。

  • 由于相互依存关系,不支持 EKSCTL。 CloudFormation

  • 在创建集群期间,您有权禁用集群控制平面日志记录。有关更多信息,请参阅 Amazon EKS 控制面板日志记录。我们建议您在创建集群时启用所有重要的 API、身份验证和审核日志。

  • 在创建集群期间,Amazon EKS 集群的集群终端节点访问权限默认为公用;有关更多信息,请参阅 Amazon EKS 集群终端节点访问控制。我们建议将 Amazon EKS 终端节点设置为私有终端节点。如果需要终端节点才能进行公共访问,则最佳做法是仅针对特定 CIDR 范围将其设置为公用。

  • AMS 没有办法强制和限制用于部署到 Amazon EKS Fargate 上的容器中的映像。您可以部署来自 Amazon ECR、Docker Hub 或任何其他私有镜像存储库的镜像。因此,部署可能对账户执行恶意活动的公共镜像存在风险。

  • AMS 不支持通过云开发套件 (CDK) 或 CloudFormation Ingest 部署 EKS 集群。

  • 您必须使用 ct-3pc215bnwb6p7 部署 | 高级堆栈组件 | 安全组 | 在清单文件中创建和引用创建入口所需的安全组。这是因为该角色customer-eks-alb-ingress-controller-role无权创建安全组。

问:在我的 AMS 账户中在 Fargate 上使用 Amazon EKS 有哪些先决条件或依赖关系?

要使用该服务,必须配置以下依赖关系:

  • 要针对服务进行身份验证, aws-iam-authenticator必须同时安装 KUBECTL 和;有关更多信息,请参阅管理集群身份验证。

  • Kubernetes 依赖一个叫做 “服务账户” 的概念。为了在 EKS 上使用 kubernetes 集群内部的服务账户功能,需要使用管理 | 其他 | 其他 | 更新 RFC,其中包含以下输入:

  • 我们建议配置和监控 Config 规则

    • 公共集群终端节点

    • 已禁用 API 日志记录

    您有责任监控和修正这些 Config 规则。

如果您想部署 ALB 入口控制器,请提交 “管理 | 其他 | 其他更新 RFC”,以配置与 ALB Ing ress Controller Pod 一起使用的必要的 IAM 角色。创建与 ALB Ingress Controller 关联的 IAM 资源需要以下输入(包括您的 RFC 中的这些内容):

  • [必填] 亚马逊 EKS 集群名称

  • [可选] OpenID Connect 提供商网址

  • [可选] 将部署应用程序负载均衡器 (ALB) 入口控制器服务的 Amazon EKS 集群命名空间。 [默认:kube-system]

  • [可选] Amazon EKS 集群服务账户 (SA) 名称。 [默认: aws-load-balancer-controller]

如果要在集群中启用信封密钥加密(我们建议这样做),请在 RFC 的描述字段中提供 IDs 您打算使用的 KMS 密钥以添加服务(管理 | 服务 | 自配置 AWS 服务 | 添加 (ct-1w8z66n899dct)。要了解有关信封加密的更多信息,请参阅 Amazon EKS 使用 AWS KMS 为机密添加信封加密