【发布时间】:2020-07-22 21:54:32
【问题描述】:
我有一个 docker 镜像,它只是一个 Java 应用程序。 Java 应用程序从 DynamoDB 和 S3 存储桶读取数据并输出一些内容(它是一个测试应用程序)。我已将 docker 映像托管到公共 docker-hub 存储库中。
在 AWS 中,我创建了私有子网,它通过 AWS ECS 托管 EC2。现在有很高的安全性;我正在将 VPC 端点用于容器的 DynamoDB 和 S3 存储桶操作。
我已经使用 NAT 网关来允许 EC2 从 docker-hub 拉取 docker 镜像。
问题:
当我删除 VPC 端点时,应用程序能够通过 NAT 读取 DynamoDB 和 S3。这意味着流量正在通过公共网络。
想法:
- 不能将 Dockerhub 的 IP 地址列入白名单,因为它可以更改。
- 由于 AWS ECS 处理所有 docker pull 等任务,我无法控制自定义。
- 我不想使用 AWS 容器注册表。我更喜欢 dockerhub。
- DynamoDB/S3 私有地址未知
问题:
- 如何确保 docker hub 的流量只允许通过 NAT?
- 如何确保只能通过端点访问 DynamoDB 和 S3?
感谢您的帮助
【问题讨论】:
标签: amazon-web-services amazon-s3 amazon-ec2 amazon-dynamodb amazon-ecs