繁体   English   中英

AWS API 网关连接到专用端点的 500 错误

[英]500 Error for AWS API Gateway Connection to Private Endpoint

我使用此模板中的 Cloudformation 创建了一个 ECS 集群 ( https://github.com/cmanikandan/fargate-apigateway/blob/master/fargate-private-su.net.network-loadbalancer.yml ) 运行 flask 应用程序端口 80(请参阅下面的 dockerfile)并通过私有 VPC 链接将 API 网关连接到应用程序负载均衡器(请参阅下面的 aws cli 代码)。 第一步,我试图在根 (/) 处仅配置一个 GET 方法。

我已经能够在这篇 aws 博文 ( https://aws.amazon.com/blogs/compute/access-private-applications-on-aws-fargate-using-amazon-api- gateway-privatelink/ ) 但是,当我尝试使用来自 ECR 的应用程序时,我遇到了 500 错误(Execution failed due to configuration error: There was an internal error while executing your request)

我在哪里配置出错了? 可能与端口映射有关?

Dockerfile:

FROM python:3
WORKDIR /usr/src/app
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD ["python", "app.py", "--host", "0.0.0.0"]

API 网关的 AWS CLI 命令:

aws apigateway create-vpc-link \
--name REMOVED \
--target-arns REMOVED \
--region us-west-2

aws apigateway get-vpc-link --vpc-link-id REMOVED --region us-west-2

aws apigateway create-rest-api --name 'Fargate Test' --region us-west-2

aws apigateway get-resources --rest-api-id REMOVED --region us-west-2 

aws apigateway put-method \
       --rest-api-id REMOVED \
       --resource-id REMOVED \
       --http-method ANY \
       --authorization-type "NONE" --region us-west-2

aws apigateway put-integration \
--rest-api-id REMOVED \
--resource-id REMOVED \
--uri 'http://myApi.example.com' \
--http-method ANY \
--type HTTP_PROXY \
--integration-http-method ANY \
--connection-type VPC_LINK \
--connection-id REMOVED --region us-west-2

aws apigateway create-deployment \
--rest-api-id REMOVED \
--stage-name REMOVED \
--variables vpcLinkId=REMOVED--region us-west-2

问题最终是我没有在我的 dockerfile 中公开端口,以便网络负载均衡器能够路由来自 API 网关端点的流量。

vvv 这是解决方案 vvv

Dockerfile:

FROM python:3
WORKDIR /usr/src/app
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 80
CMD ["python", "app.py", "--host", "0.0.0.0"]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM