我已经设置了一个 EC2 实例 (Windows Server 2008),我将让不同的开发人员连接到它。由于我希望连接是安全的,因此我正在尝试设置到该机器的 VPN 连接,但我对如何以最简单的方式执行此操作没有太多想法。
我希望开发人员在他的机器上简单地设置一个新的 VPN 连接,该连接将直接连接到 EC2 实例。
我想使用 AWS VPC 是一种简单的方法,但我该如何配置呢?
尝试在 Amazon VPC 集群中设置基于 openswan 的服务器。目标是让我们可以通过 VPN 连接到 VPC 并使我们的工作站就像在网络上一样,更像是一种公路战士配置。
我们选择的 VPN 客户端是适用于 Mac OS X 的Equinux VPN Tracker ( http://equinux.com/us/products/vpntracker/ )。我们已经使用它通过基于硬件的 VPN 连接到我们现有的网络,并希望继续使用它连接到我们的 VPC 网络。
到目前为止,我已经将它设置为可以成功连接到在 VPC 中运行的 openswan 服务器,但是我只能 ping openswan 服务器的内部 IP。我无法与网络上的其他任何内容交谈。我可以运行 tcpdump 并看到 ping 请求出现,但是它们从未到达其他主机。
我的第一个想法是它与只有一个网络接口的 EC2 实例有关,但是我之前设置了 OpenVPN 连接没有问题,尽管它们通常使用隧道设备,我还没有真正找到一个例子带有隧道或单个接口的 openswan。
任何帮助将不胜感激。
一些配置:
VPC Subnet: 10.10.1.0/24
VPC Gateweay: 10.10.1.1
Openswan Private IP: 10.10.1.11
Openswan Public IP: xxx.xxx.xxx.xxx
Run Code Online (Sandbox Code Playgroud)
Openswan 配置:
version 2.0
config setup
interfaces=%defaultroute
klipsdebug=none
plutodebug=none
dumpdir=/var/log
nat_traversal=yes
virtual_private=%v4:10.10.1.0/24
conn vpntracker-psk
left=%any
leftsubnet=vhost:%no,%priv
right=10.10.1.11
rightid=xxx.xxx.xxx.xxx
rightsubnet=10.10.1.0/24 …Run Code Online (Sandbox Code Playgroud) 我们正在通过 CloudFormation 在 AWS VPC 内部启动基础设施。
我们使用自动扩展组来启动 VPC-EC2 实例(因此,我们不直接启动实例;ASG 负责管理)。
在 PVC 内部,EC2 实例只有一个私有 IP;不做进一步的工作,他们就看不到外面的世界。
当这些实例启动时,我们有一些引导任务需要与各种 AWS API 对话。我们还有一些需要 AWS API 流量的持续任务。
你如何解决这个明显的先有鸡下蛋的问题?
我们已经阅读了:
我想我想知道我们是否可以打开某种后门,允许我们的 VPC EC2 实例访问 AWS API 端点,但没有别的,对于廉价的复杂设置,不会添加另一个网络跃点层到我们用于服务请求的基础设施。
我的场景:我有一个 SQS 队列,其中有一个自动扩展的 EC2 工作器组,将来自队列的消息处理到不同区域的数据库中。
EC2 工作人员的隐含网络需求:
网络选项(我知道):
我已经看到了许多将第一种方法与 NAT 结合使用的建议,包括在 AWS 自己的文档中。我还没有看到任何关于第二种方法的建议。
NAT 似乎是一个昂贵的选择,很容易变成网络瓶颈,并且是单点故障。为什么如此频繁地推荐此选项?第二种方法是否有我不知道的缺点或交易破坏者?
这个问题类似但不一样。我还阅读了有关堆栈溢出的此线程。我还阅读了AWS VPC 用户指南。
我在业余时间使用按需实例来测试一些服务。
因此,我非常频繁地启动和停止该实例,并且我看到它的公共和私有 IP 每次都在变化。这很烦人,因为我总是需要在使用测试服务的多个应用程序中更改主机名。
我想要的是至少有一个“固定”的静态私有IP。
我在某处读到添加 ENI 接口可能是解决方案。在这种情况下,你能给我一个简单的例子来说明如何做到这一点吗?
在其他情况下,更清洁的解决方案是什么?
我很久以前就了解到,如果您希望 EC2 实例能够与 AWS 服务(如 SQS、Kinesis 等)通信,则该实例必须具有公共 IP 地址,或者需要在 VPC 中进行 NAT .
今年早些时候我第一次听说VPC Endpoints 时,它似乎改变了游戏规则——一种从只有私有 IP 的实例访问这些服务的方法。但唯一受支持的服务是 S3 的事实似乎非常有限。我目前管理的每个 EC2 实例都依赖于非 S3 AWS 资源,这些资源需要流量通过公共 IP 流出。
我很好奇将 VPC 端点用于 S3 是否还有任何其他好处,我知道堆栈的其余部分仍将依赖公共 IP,并且会持续一段时间。速度/吞吐量是否有任何可衡量的改进,或任何其他可以超过管理开销的好处?
我目前是一个小组的一员,该小组正在处理部署 300 多个运行 Node.js 的 AWS Lambda 函数而不是更传统的 REST API 的影响。我最近实现了一个应用程序,该应用程序在私有子网上的 VPC 中的 EC2 实例上运行。因此,将与此应用程序大量通信的 Lambda 本身也被放置在同一 VPC 中的私有子网中。EC2 实例在 6 个私有/24 个子网中运行(我们地区的每个可用区一个)。lambdas 有 6 /20 个私有子网,它们被配置为在其中运行。据我所知,每次调用 lambda 都会在其中一个子网中分配一个 IP 地址,这在我们用完之前为我提供了大约 24,564 个 IP 地址。
我的问题是:
1) Lambda 是否只在实际运行期间占用IP地址,然后释放IP地址?更简洁地说,我们是否会很快用完 IP 地址,因为我们预计调用很快就会增加?我知道我可以将 VPC 中的更多地址空间分配给 lambda,但这会是我们一直在追寻的问题吗?
2) 如何在 AWS 控制台或其他地方查看 lambda 占用了多少 IP 地址?
注意:我是一名初级 DevOps 工程师,所以如果有什么不清楚的地方请原谅我并随时纠正我
我正在通过 CloudFormation 模板启动一个 EC2 实例,但是,指定的实例t2.micro需要一个 VPC。
如何在 CloudFormation 模板中指定 VPC?
这是我的模板:
{
"Description" : "Single Instance",
"Resources" : {
"EC2Instance" : {
"Type" : "AWS::EC2::Instance",
"Properties" : {
"ImageId" : "ami-b73b63a0",
"InstanceType" : "t2.micro",
"KeyName" : "my-key",
"Tags" : [
{
"Key" : "Name",
"Value" : "test"
}
]
}
}
}
}
Run Code Online (Sandbox Code Playgroud) 有谁知道我们应该在 2 个 AWS 区域(在本例中为 us-west-2 和 eu-west-2)之间的 VPC 对等连接上看到什么样的数据传输速度?
几周前我们对此进行了测试,发现速度超过每秒 200MB。今天,我们看到每秒约 10MB 的速度。
显然,我们在这里使用的是公共交通网络,因此我们预计会根据时间发生一些变化,但每秒 10MB 似乎非常慢。
鉴于 AWS 促进了 RDS 中数据库的跨区域复制,据推测,他们预计速度会快得多。
我正在为一家几乎不会有很多流量的初创公司建立基础设施,但应该能够在需要时进行扩展。
我们倾向于使用 LB 设置,将流量分配到专用私有子网(超过 3 个可用区)中的前端节点,然后向它们自己专用子网上的受支持节点发出请求,然后请求到mongodb 通过 atlas 和 vpc 对等互连进行管理。
为了让每个节点进行配置,它都需要访问 Internet。后端节点也会向第三方服务发出请求,因此在运行时也需要访问互联网。
我看到三个选项:
为每个可用区中的每个私有子网设置一个 nat 网关。根据位置,这相当于每个可用区每个子网约 30 美元。有 3 个可用区和 2 个子网,每月总计约 180 美元,这实际上比我们计划用于 ec2 实例的要多,而系统上没有太多流量和负载。我们可能可以将其减少到只在每个可用区中为所有私有子网使用 1 个 nat 网关,但仍然约为 90 美元。
将 ec2 实例设置为 nat 网关,这可能会便宜一些,但需要维护和设置。
只需使用一个私有子网,为每个节点分配公共 ip,并通过路由表条目使用 Internet 网关。我认为使用专用的私有子网没有多大意义,因为节点无论如何都应该能够通过网关相互连接。
最后一个选项很可能是最便宜的选项,因为一个弹性 ip 已经包含在 ec2 实例中,并且不需要专用网关。但是,我想知道这样做是否存在重大不利因素或风险?我们计划在需要时(比如有大量流量)重新考虑使用专用子网的想法,但我们真的希望在开始时尽可能降低成本。
amazon-vpc ×10
amazon-ec2 ×3
vpn ×2
amazon-s3 ×1
endpoint ×1
internet ×1
ipsec ×1
nat ×1
networking ×1
openswan ×1
private-ip ×1
proxy ×1
rds ×1