在 Amazon ECS 和 Amazon EKS 中使用 Amazon AppConfig 代理
您可以使用 Amazon AppConfig 代理将 Amazon AppConfig 与 Amazon Elastic Container Service (Amazon ECS) 和 Amazon Elastic Kubernetes Service (Amazon EKS) 集成。该代理充当 sidecar 容器,与您的 Amazon ECS 和 Amazon EKS 容器应用程序一起运行。该代理通过以下方式增强容器化应用程序的处理和管理:
-
该代理通过使用 Amazon Identity and Access Management (IAM) 角色和管理配置数据的本地缓存,代表您调用 Amazon AppConfig。通过从本地缓存中提取配置数据,应用程序需要更少的代码更新来管理配置数据,在几毫秒内检索配置数据,并且不受可能中断对此类数据的调用的网络问题的影响。*
-
该代理为检索和解析 Amazon AppConfig 功能标志提供了本机体验。
-
该代理开箱即用,提供了缓存策略、轮询间隔和本地配置数据可用性的最佳实践,同时跟踪后续服务调用所需的配置令牌。
-
在后台运行时,代理会定期轮询 Amazon AppConfig 数据面板,以获取配置数据更新。容器化应用程序可以通过连接到端口 2772(可自定义的默认端口值)上的本地主机并调用 HTTP GET 来检索数据。
-
Amazon AppConfig Agent 更新容器中的配置数据,而无需重新启动或回收这些容器。
* Amazon AppConfig 代理在服务首次检索配置数据时缓存数据。因此,检索数据的第一次调用比后续调用慢。
开始前的准备工作
若要将 Amazon AppConfig 与容器应用程序集成,必须创建 Amazon AppConfig 构件和配置数据,包括功能标志或自由格式配置数据。有关更多信息,请参阅 在 Amazon AppConfig 中创建功能标志和自由格式配置数据。
若要检索 Amazon AppConfig 托管的配置数据,必须为容器应用程序配置对 Amazon AppConfig 数据平面的访问权限。要为您的应用程序授予访问权限,请更新您的容器服务 IAM 角色使用的 IAM 权限策略。具体而言,您必须将 appconfig:StartConfigurationSession 和 appconfig:GetLatestConfiguration 操作添加到策略中。容器服务 IAM 角色包括以下内容:
-
Amazon ECS 任务角色
-
Amazon EKS 节点角色
-
Amazon Fargate Pod 执行角色(如果您的 Amazon EKS 容器使用 Fargate 进行计算处理)
有关如何添加权限至策略的信息,请参阅《IAM 用户指南》中的添加和删除 IAM 身份权限。