【发布时间】:2017-03-15 22:26:04
【问题描述】:
我有一个使用 elasticbeanstalk 部署的 api,我希望将其完全放在内部,以便无法从公共 Internet 访问它。我这样做是因为我只希望可以通过我们的其他服务访问该服务(每个服务都在自己的 VPC 中运行,并且都通过 elasticbeanstalk 部署)。
是否可以将内部 ELB 与 elasticbeanstalk 一起使用?这甚至是我需要做的吗? VPC 对等互连可以帮助我吗?
最终目的是api需要有一些http资源是public的,一些是private的。我的方法是使服务私有化并通过 API 网关公开任何公共资源,但也许这不是正确的解决方案。通过 API 网关公开所有内容、要求对私有资源进行 IAM 身份验证并在 API 中强制要求来自 API 网关的请求是否会更好?
【问题讨论】:
-
“我的方法是将服务设为私有并通过 API 网关公开任何公共资源”。您只能将 API Gateway 放在公共服务的前面。您可以锁定这些服务,以便它们拒绝任何并非来自 API Gateway 的请求,但您不能将它们设为私有。
-
要详细说明 Mark 的评论,您将使用 API Gateway 的客户端 SSL 证书功能来确保您的服务只接受来自 API Gateway 的请求。 docs.aws.amazon.com/apigateway/latest/developerguide/…
-
感谢 cmets。 API 网关无法与私有子网中的资源进行开箱即用的通信,这非常令人恼火。然而,这似乎可以通过使用 Lambda 来完成:aws.amazon.com/blogs/compute/…
标签: amazon-web-services amazon-elastic-beanstalk aws-api-gateway amazon-elb