配置管理 - 在上实现微服务 AWS

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

配置管理

在微服务架构中,每项服务都与数据库、队列和其他服务等各种资源进行交互。以一致的方式配置每项服务的连接和操作环境至关重要。理想情况下,应用程序无需重启即可适应新的配置。这种方法是 Twelve-Factor App 原则的一部分,该原则建议将配置存储在环境变量中。

另一种方法是使用 AWS App Config。这是 S AWS ystems Manager 的一项功能,它使客户可以轻松快速、安全地配置、验证和部署功能标志和应用程序配置。您的功能标志和配置数据可以在部署前阶段通过语法或语义进行验证,并且可以在触发您配置的警报时进行监控和自动回滚。 AppConfig 可以使用 AWS AppConfig 代理与 Amazon ECS 和 Amazon EKS 集成。该代理充当 sidecar 容器,与您的 Amazon ECS 和 Amazon EKS 容器应用程序一起运行。如果您在 Lambda 函数中使用 AWS AppConfig 功能标志或其他动态配置数据,那么我们建议您将 Lambda 扩展作为一个层添加到您的 AWS AppConfig Lambda 函数中。

GitOps是一种创新的配置管理方法,它使用 Git 作为所有配置更改的真实来源。这意味着对配置文件所做的任何更改都将通过 Git 自动跟踪、版本控制和审计。

密钥管理

安全性至关重要,因此不应以纯文本形式传递凭证。 AWS 为此提供安全的服务,例如 S AWS ystems Manager 参数存储和 AWS Secrets Manager。这些工具可以将机密作为卷发送到 Amazon EKS 中的容器,或者作为环境变量发送到 Amazon ECS。在中 AWS Lambda,环境变量会自动提供给您的代码。 对于 Kubernetes 工作流程,外部机密操作员直接从服务中获取机密,例如 AWS Secrets Manager创建相应的 Kubernetes 密钥。这可以实现与 Kubernetes 原生配置的无缝集成。