【问题标题】:How to host an OSRM instance in AWS Fargate?如何在 AWS Fargate 中托管 OSRM 实例?
【发布时间】:2020-11-05 16:08:44
【问题描述】:

我一直在尝试在 Fargate 中设置一个 OSRM 后端实例。但是,我无法成功地做到这一点。我在其他地方读过如何在 EC2 实例中托管,但是,没有关于如何在 AWS Fargate 上托管它。

我已经能够在下面修改 OSRM-backend 的基础 docker 镜像(基础镜像暴露端口 5000):

FROM osrm/osrm-backend

WORKDIR /data

RUN apt-get update && apt-get install -y --no-install-recommends curl

RUN curl http://download.geofabrik.de/europe/ireland-and-northern-ireland-latest.osm.pbf --output ni-latest.osm.pbf && \
    osrm-extract -p /opt/car.lua ni-latest.osm.pbf && \
    osrm-partition ni-latest.osrm && \
    osrm-customize ni-latest.osrm

CMD ["osrm-routed", "--algorithm", "mld", "ni-latest.osrm", "--max-matching-size","50000"]

一旦我将它推送到容器注册表中,在弹性容器服务中设置任务定义,就会给出状态码 200 和以下内容:

[info] starting up engines, v5.22.0
[info] Threads: 4
[info] IP address: 0.0.0.0
[info] IP port: 5000
[info] http 1.1 compression handled by zlib version 1.2.11
[info] Listening on: 0.0.0.0:5000
[info] running and waiting for requests

然而,在 ECS 任务中给定公共 IP 并尝试在 sagemaker 笔记本中调用它之后,它按预期运行:

response = requests.get('http://{ECSpublicIP}:80/match/v1/driving/13.388860,52.517037;13.397634,52.529407?overview=full&geometries=geojson')

它给出了一个连接错误代码 111,我无法弄清楚原因。是否可以在 Fargate 上托管 OSRM?

谢谢

【问题讨论】:

    标签: python-3.x amazon-web-services docker python-requests osrm


    【解决方案1】:

    抱歉,回复晚了,不知道这是否仍然相关,但应该是可能的。 在本地部署时,您可以通过 localhost 访问它吗? 还要确保您的容器端口映射到位,有关任务网络https://aws.amazon.com/blogs/compute/task-networking-in-aws-fargate/的更多信息,请参阅此链接@

    【讨论】:

      猜你喜欢
      • 2021-02-23
      • 2022-11-30
      • 2017-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-18
      • 1970-01-01
      • 2020-12-13
      相关资源
      最近更新 更多