【发布时间】:2013-11-26 11:31:43
【问题描述】:
我了解 VPC Amazon 实例能够创建 VPN 连接,但费用为每小时 0.05 美元。是否可以在一个实例上创建您自己的 VPN,然后通过此 VPN 路由您的另一个实例?好像会比较划算?有什么优点/缺点?
【问题讨论】:
标签: amazon-web-services amazon-ec2 vpn
我了解 VPC Amazon 实例能够创建 VPN 连接,但费用为每小时 0.05 美元。是否可以在一个实例上创建您自己的 VPN,然后通过此 VPN 路由您的另一个实例?好像会比较划算?有什么优点/缺点?
【问题讨论】:
标签: amazon-web-services amazon-ec2 vpn
可以在您的 NAT 实例上安装 OpenVPN,例如查看文章:
此实例将用作 OpenVPN 服务器。我正在使用 Ubuntu 12.04 LTS
在创建此实例之前,我需要为其创建一个新的 VPC 安全组。 从 VPN 控制台打开安全组并单击创建安全组 将其命名为 openvpn 并将其与您的 VPC 关联,然后单击创建。 选择“详细信息”选项卡,不要使用组 ID,在本例中为 SG-CD7C94A2 选择入站选项卡并选择 SSH 规则,然后单击添加规则。 选择自定义 UDP 规则,将 OpenVPN 的端口范围设置为 1194。单击添加规则。 选择自定义 TCP 规则并为端口范围输入 943 单击添加规则。 选择自定义 TCP 规则并输入 946 作为端口范围,然后单击添加规则 选择 HTTPS 并单击添加规则 单击应用规则更改。 以下是安全规则 选择子网并复制公共子网的 ID,在我的例子中是子网 4c657627
现在启动实例 > ec2-run-instances ami-9c78c0f5 -b /dev/sda1=:8:true -k pats-keypair -t t1.micro -s 子网 4c657627 -g sg-cd7c94a2 --private-ip-address 10.0.0.99 --availability-zone us-east-1a
从 EC2 控制台中选择新创建的实例并右键单击并选择“更改源/目标检查” 点击是,禁用
从 VPC 控制台中选择弹性 IP,然后单击分配新地址 确保其设置为 VPC,然后单击是,分配 点击关联地址 选择刚刚创建的实例并点击 Yes, Associate
在此框中确认其已启动并正在运行 SSH > ssh -i .ec2/pats-keypair.pem ubuntu@107.23.79.220
您需要从 openvpn.net 下载 OpenVPN 软件。此版本的软件可供两个用户免费使用,否则每位用户每年 5 美元,但至少需要 10 个用户,因此每年 50 美元,这不是一个坏交易。 https://openvpn.net/index.php/access-server/pricing.html [2] 从 OpenVPN 机器运行以下命令 > wgethttps://swupdate.openvpn.org/as/openvpn-as-1.8.4-Ubuntu10.amd_64.deb > sudo dpkg –i openvpn-as-1.8.4-Ubuntu10.amd_64.deb 安装完成后,您将看到显示的管理 Web 界面地址 管理员需要 openvpn 用户的密码,运行以下命令进行设置。 > 须藤密码 openvpn 我只是将我的设置为 adminpass 以进行测试。
在以下位置打开 OpenVPN 管理网页 https://107.23.79.220:943/admin
当然要输入您的静态 IP 地址。 你会看到这样的东西,点击继续 现在将显示管理员登录页面。输入用户名 openvpn 和您分配给该用户的密码,然后单击登录 单击同意以获取许可条款 单击服务器网络设置 在主机名字段中输入弹性 IP 地址 滚动到页面底部并点击保存设置
点击VPN设置
向下滚动到路由部分并将所有子网添加到此部分。我只有 2 个子网 10.0.0.0/24 和 10.0.1.0/24
在网络浏览器中打开 https://107.23.79.220 /(更改您自己的 IP 地址。
以 openvpn 用户登录并点击 go 单击“单击此处继续”这会将您需要的软件下载到您的系统以连接到此 VPN
安装软件,在windows机器上可以右键下载并点击打开 然后点击运行 应弹出此窗口,单击“是”创建隧道。 该网站现在应该报告它已启动。 为了测试这一点,我将尝试 ssh 进入我的实例 我有以下实例
10.0.0.20
10.0.1.30
10.0.0.25 NAT from aws
10.0.0.99
从我的 cygwing 命令行:
ssh -i .ec2/pats-keypair.pem ubuntu@10.0.0.20
【讨论】:
我了解 VPC Amazon 实例具有...
为了澄清,您在 Amazon VPC 中的虚拟环境通常称为“VPC”,而不是“VPC 实例”。 “VPC 实例”通常是指在 VPC 内部配置的 EC2 实例。
可以将固定 VPN 连接从 Amazon VPC 预置到您所在位置的硬件设备,这会产生您提到的每小时 0.05 美元的费用(基本上是 37.20 美元/月)。这笔费用是由for as long as the the connection is provisioned on the AWS side 收取的,无论它是否在您身边正确配置,是否正常工作......因为您所支付的是使用亚马逊的硬件来容纳 VPN。
对我来说,这似乎是一笔可笑的好交易,因为我的 VPC VPN 连接——一旦建立——几乎“正常工作”,如果底层硬件出现故障,AWS 的主动监控将检测到这似乎是一个合理的假设这种情况和硬件将被更换,而无需我付出任何真正的努力。
但是,是的,完全可以使用 EC2 实例预置 VPN,但与使用本机解决方案相比具有相似级别的弹性,您需要至少 2 个 EC2 实例来进行故障转移。
这个Amazon article 解释了如何使用 EC2 机器通过 VPN 将两个不同的 VPC 相互连接——因为这不是本机解决方案支持的东西——但它根本不需要太多的想象力来理解你如何能使用完全相同的逻辑将您的公司网络连接到 VPC,其设计与此处显示的内容非常相似。
不过,唯一的问题是 0.05 美元/小时比按需“m1.small”实例的价格便宜,为 0.06 美元/小时,所以除非您想预付更多折扣或尝试使用“微型”实例将您的网络连接在一起,VPC 提供的原生解决方案似乎很简单。
但请理解,本机解决方案(即 AWS 作为 VPC 的一部分提供的 VPN 服务)仅适用于固定的站点到站点(您的站点到 AWS)连接...它具有与远程用户通过隧道进入您的 VPC 无关。对于为个人用户提供隧道进入您的 VPC 的能力的临时按需连接,您需要推出自己的解决方案。
【讨论】: