2

我了解 VPC Amazon 实例能够创建 VPN 连接,但费用为每小时 0.05 美元。是否可以在一个实例上创建您自己的 VPN,然后通过此 VPN 路由您的另一个实例?好像会比较划算?有什么优点/缺点?

4

2 回答 2

16

我了解 VPC Amazon 实例具有...

澄清一下,您在 Amazon VPC 中的虚拟环境通常称为“VPC”,而不是“VPC 实例”。“VPC 实例”通常是指在 VPC 内部配置的 EC2 实例。

可以将固定的 VPN 连接从 Amazon VPC 预置到您所在位置的硬件设备,这会产生您提到的每小时 0.05 美元的费用(基本上是 37.20 美元/月)。只要连接是在 AWS 端配置的,就会收取此费用,无论它是否在您端正确配置,是否正常工作......因为您支付的是使用 Amazon 的硬件来适应虚拟专用网。

对我来说,这似乎是一笔可笑的好交易,因为我的 VPC VPN 连接——一旦建立——几乎“正常工作”,如果底层硬件出现故障,AWS 的主动监控将检测到这种情况似乎是一个合理的假设,并且无需我付出任何实际努力即可更换硬件。

但是,是的,完全可以使用 EC2 实例预置 VPN,但与使用本机解决方案相比,具有相似级别的弹性,您将需要至少 2 个 EC2 实例来进行故障转移。

这篇Amazon 文章解释了如何使用 EC2 机器通过 VPN 将两个不同的 VPC 相互连接——因为这不是本机解决方案所支持的——但根本不需要太多想象力就能理解如何使用完全相同的 VPC逻辑将您的公司网络绑定到 VPC,其设计与此处显示的设计非常相似。

不过,唯一的问题是 0.05 美元/小时比按需“m1.small”实例的价格便宜,为 0.06 美元/小时,所以除非您想预付更多折扣或尝试使用“微型”将您的网络连接在一起的实例,VPC 提供的本机解决方案似乎很容易。

但请理解,本机解决方案(即 AWS 作为 VPC 的一部分提供的 VPN 服务)仅适用于固定的站点到站点(您的站点到 AWS)连接......它与此无关远程用户通过隧道进入您的 VPC。对于为个人用户提供隧道进入您的 VPC 的能力的临时按需连接,您需要推出自己的解决方案。

于 2013-11-14T20:54:00.733 回答
1

可以在您的 NAT 实例上安装 OpenVPN,例如查看文章:

创建一个 Ubuntu 实例

此实例将用作 OpenVPN 服务器。我正在使用 Ubuntu 12.04 LTS

设置 VPC 安全组

在创建此实例之前,我需要为其创建一个新的 VPC 安全组。 从 VPN 控制台打开安全组并单击创建安全组 将其命名为 openvpn 并将其与您的 VPC 关联,然后单击创建。 选择 Details 选项卡,不要使用组 ID,在本例中为 sg-cd7c94a2 选择 Inbound 选项卡并选择 SSH 规则,然后单击 Add Rule。 选择自定义 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 subnet-4c657627 -g sg-cd7c94a2 --private-ip-地址 10.0.0.99 --availability-zone us-east-1a

更改源/目标检查

从 EC2 控制台中选择新创建的实例并右键单击并选择“更改源/目标检查” 单击是,禁用

给它一个弹性IP

从 VPC 控制台中选择 Elastic IPs 并单击分配新地址 确保将其设置为 VPC 并单击是,分配 单击关联地址 选择刚刚创建的实例并单击是,关联

SSH 进入新实例

要确认其启动并运行 SSH 进入此框 > ssh -i .ec2/pats-keypair.pem ubuntu@107.23.79.220

安装 OpenVPN

您需要从 openvpn.net 下载 OpenVPN 软件。这个版本的软件可供两个用户免费使用,否则每个用户每年花费 5 美元,但至少需要 10 个用户,因此每年 50 美元,这是一笔不错的交易。https://openvpn.net/index.php/access-server/pricing.html [2] 从 OpenVPN 机器运行以下命令 > wget https://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 安装完成后,您将看到显示的管理员网页地址 管理员需要 openvpn 用户的密码 运行下面的命令来设置它。> sudo passwd openvpn 我只是将我的设置为 adminpass 以进行测试。

配置 OpenVPN

在 https:// 107.23.79.220 :943/admin 打开 OpenVPN 管理网页

当然,请输入您的静态 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
于 2013-11-14T11:19:59.833 回答