【问题标题】:Deploy application on AWS VPC在 AWS VPC 上部署应用程序
【发布时间】:2014-05-25 12:30:28
【问题描述】:
我计划从 Ec2 经典迁移到 EC2 VPC。我的应用程序从 SQS 读取消息,从 S3 下载资产并执行 SQS 消息中提到的操作,然后更新 RDS。我有以下疑问
- 从 Classic 迁移到 Amazon VPC 对我有好处吗
- 我使用 ruby 脚本创建我的 EC2 机器,并使用 capistrano 在它们上部署代码。在经典模式下,我使用 IP 地址使用 capistrano 部署代码。但是在VPC中有一个私有IP地址的概念,你不能访问子网内的机器。所以我的问题是:
我应该如何在 EC2 实例上部署代码,或者我应该如何连接到它们?
谢谢。
【问题讨论】:
标签:
ruby
amazon-web-services
amazon-ec2
amazon-vpc
【解决方案1】:
这个问题很宽泛,但我会尝试一下:
从 Classic 迁移到 Amazon VPC 对我有好处吗
如果您关心传输中和静态数据的安全性,这将是有益的。在 VPC 中,您的任何流量都不会暴露给外部,您可以选择要暴露的组件,以防您想从外部接收流量/数据。即您的 ELB 或 ELB。
我使用 ruby 脚本创建我的 EC2 机器,并使用 capistrano 在它们上部署代码。在经典模式下,我使用 IP 地址进行部署
使用 capistrano 的代码。但是在VPC中有一个私有IP的概念
地址,并且您无法访问子网内的机器。所以我的问题
是:我应该如何在 EC2 实例上部署代码,或者更确切地说应该如何
我连接到他们?
如果您愿意,您实际上可以为 VPC 中的 EC2 机器分配一个公共 IP。您可以使用该 IP 从外部部署您的代码。
你可以在这里阅读:http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-ip-addressing.html
如果您想要更高的安全性,您始终可以从您的 VPC 中的一台机器(可以通过 SSH 访问外部)进行部署。你可以 ssh 到那台机器,然后从那里运行cap deploy。