Tag: aws batch

我应该如何处理从S3中获取大容量的共享文件并行进行批处理

我有一些在S3中的大文件 – 高达40G 我想要使​​用AWS Batch设置多个容器来处理每个文件 – 每个容器都会占用较小文件的一小部分并对其进行分析,并将其中的一小部分结果返回给S3。 由于大小,我不想为每个容器检索大文件的单个副本。 因为我在使用AWS Batch,所以底层服务器的数量和个体大小不一定是已知的(这取决于现货价格),所以将所有的栅格预拷贝到所有的服务器并不是一个好的select。 在某个时候,一个容器将被分配到一个文件的块,而这个文件还不在本地卷上 – 很容易复制,问题是, 当2个或更多个容器发现文件不存在时会发生什么,开始同时复制它? 所以,我的问题是:“什么是最好的模式来确保每个容器需要的文件在特定容器运行的主机上的共享卷上可用,而不会创build竞争条件和容器相互依赖关系? TIA西蒙

连接到VPN时无法连接到postgres数据库

我有一个docker镜像,可以通过OpenVPN连接到VPN服务来收集一些数据,然后将这些数据插入到Postgres表中。 当我在本地的Windows机器上运行它时,它工作得很好,当我试图让它在AWS Batch上工作时,麻烦就开始了。 在AWS Batch上使用相同的映像和命令时,一旦build立VPN连接,容器就不能再连接到Postgres数据库。 要清楚: 1.(在VPN连接之前)可以通过HTTP连接到互联网并插入到Postgres。 2.(VPN连接后)可以通过HTTP(现在从不同的IP)连接到互联网,但不能连接到Postgres。 它给出了错误: “psycopg2.OperationalError:无法连接到服务器:连接超时。服务器是否在主机”地址“(ip)上运行,并在端口5432上接受TCP / IP连接? 我敢肯定,我的数据库运行在主机打开的端口,因为我试图做的工作正常在Windows上,并在EC2上使用VPN之前。 当我的本地Windows计算机上的容器与AWS Batch加速的EC2服务器相比,Docker镜像的行为不同时,我感到茫然,任何帮助都将不胜感激。 解决scheme:我需要为我的计算资源设置新的VPC,而不是使用默认的VPC。

我怎样才能在AWS Batch上使用docker撰写?

我有一个多容器(docker compose)应用程序。 我想在AWS Batch上进行离线缩放,以处理S3上的大量数据。 我的docker撰写的.yml文件看起来像这样: version: '2' services: container1: container_name: image: ports: container2: container_name: image: depends_on: container1 ports: 不幸的是,我不能在网上find任何例子或教程来处理这种情况。 任何人都可以帮助我理解我应该如何解决这个问题?