云计算核心技术Docker教程:Docker上ECS敏感数据绑定和指定缩放服务静态信息

2022-10-27

您可以使用 Docker 模型将机密传递给您的 ECS 服务,以将敏感数据绑定为/run/secrets. 如果您的 Compose 文件将机密声明为文件,则将在 ECS 上的应用程序部署过程中创建此类机密。如果您external: true在 Compose 文件中使用现有机密作为参考,请使用 ECS Secrets Manager 完整 ARN 作为机密名称:

services:

webapp:

image: …

secrets:

– foo

secrets:

foo:

name: “arn:aws:secretsmanager:eu-west-3:1234:secret:foo-ABC123”

external: true

秘密将在运行时作为纯文本文件提供给您的服务/run/secrets/foo。

AWS Secrets Manager 允许您将敏感数据存储为纯文本(如 Docker 密钥)或分层 JSON 文档。您可以将后者与 Docker Compose CLI 结合使用,方法是使用自定义字段x-aws-keys来定义 JSON 文档中的哪些条目要绑定为服务容器中的机密。

services:

webapp:

image: …

secrets:

– foo

secrets:

foo:

name: “arn:aws:secretsmanager:eu-west-3:1234:secret:foo-ABC123”

keys:

– “bar”

通过这样做,bar密钥的秘密将在运行时作为纯文本文件提供给您的服务/run/secrets/foo/bar。您可以使用特殊值*来获取容器中绑定的所有键。

自动缩放

可以使用正常的 Compose 语法指定缩放服务静态信息(非自动缩放):

services:

foo:

deploy:

replicas: 3

Compose 文件模型没有定义任何属性来声明自动缩放条件。因此,我们依靠x-aws-autoscaling自定义扩展来定义自动缩放范围,以及使用 cpu或内存来定义目标指标,表示为资源使用百分比。

services:

foo:

deploy:

x-aws-autoscaling:

min: 1

max: 10 #required

cpu: 75

# mem: – mutualy exlusive with cpu

您好!请登录

点击取消回复