您如何使AWS VPC EC2实例能够查看AWS API?

我们正在通过CloudFormation在AWS VPC内部架构基础架构。

我们使用自动扩展组来启动VPC-EC2实例(所以,我们不直接调用实例; ASGpipe理这些实例)。

在PVC内部,EC2实例只有一个私有IP; 没有进一步的工作,他们就无法看到外面的世界 。

当这些实例启动时,我们有一些需要与各种AWS API交谈的引导任务。 我们还有一些正在进行的任务需要AWS APIstream量。

你怎么解决这个明显的鸡蛋问题?

我们已经阅读了关于:

  • NAT实例 – 但不喜欢这么多,因为它是我们栈的另一个层。
  • 为每个需要谈话的VPC实例分配弹性IP,但是a)他们都这样做,b)由于我们使用的是ASG,我们不知道在规定时间哪些实例需要分配EIP,c)我们当实例被终止并被replace时,需要设置一些东西来监视这些ASG并分配EIP
  • 将一个实例(实际上是一个负载平衡对,可能跨越AZ)旋转起来,作为所有APIstream量的AWS-API代理

我想我想知道是否有某种后门可以打开,允许我们的VPC EC2实例访问AWS API端点,但是没有其他任何事情,对于廉价复杂的设置,不会添加另一个跳转networking层到我们的服务请求的基础设施。

  • 第三条配额政策
  • Amazon Elastic Beanstalk环境中的共享文件文件夹
  • AWS OpsWorks和我自己的厨师服务器有什么区别?
  • Amazon Linux上的update-rc.d
  • 用于cachingREST API的CDN
  • 是否可以审核Amazon AWS控制台?
  • 2 Solutions collect form web for “您如何使AWS VPC EC2实例能够查看AWS API?”

    您已经介绍了在私有子网中获取VPC实例与外部世界交stream的主要方法。

    1. 将专用子网的互联网stream量从连接到您的办公室的VPN隧道中路由出来,然后可以访问互联网的其余部分。 不理想,因为它需要一个永远在线的VPN隧道和一个额外的跳跃通过你的办公室。

    我会build议使用NAT实例,这是build议的设置,以获得对私人子网内的机器的Internet访问。 它们是按每个子网进行configuration的,因此您的机器在启动时不需要了解其configuration。 只要确保使用m1.large或更大的实例来获得更高的networking吞吐量(vs m1.small)

    截至2015年4月,AWS现在为这个问题提供了一个直接的解决scheme: VPC端点

    通过VPC端点,您可以在VPC和其他AWS服务之间创build专用连接,而不需要通过Internet,通过NAT实例,VPN连接或AWS Direct Connect进行访问。 端点是虚拟设备。 它们是横向扩展的,冗余的,高度可用的VPC组件,可以在您的VPC和AWS服务中的实例之间进行通信,而不会对networkingstream量施加可用性风险或带宽限制。

    服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器.