我意识到我可以使用相同的CIDR块创建多个AWS VPC和子网,我不确定这背后的哲学是什么以及它是如何实现的.
在 AWS 中,我们有类似于公共子网和私有子网的子网。
为了简化问题,我仅指私有子网。
我知道我们可以对所有可用区中的私有子网使用单个路由表,或者我们可以对所有可用区中的每个私有子网使用多个路由表(每个可用区一个)。
我的问题是,设计这个的最佳实践是什么?我应该为每个可用区中的子网创建不同的路由表还是应该为所有可用区中的子网创建单个路由表?推荐的方法是什么?推荐的方法有什么优点?
请注意,我问这个问题的原因是,我已经看到这两种方法在不同的环境中使用,并试图了解什么是好的方法。
我正在使用带有NLB的ECS.ECS正在从ECR中提取图像.我无法理解的是为什么ECS要求我打开所有TCP端口才能从ECR中提取?
2 621567429603 eni-0f5e97a3c2d51a5db 18.136.60.252 10.0.12.61 443 55584 6 13 6504 1537798711 1537798719 ACCEPT OK
2 621567429603 eni-0f5e97a3c2d51a5db 10.0.12.61 54.255.143.131 44920 443 6 13 5274 1537798711 1537798719 ACCEPT OK
2 621567429603 eni-0f5e97a3c2d51a5db 54.255.143.131 10.0.12.61 443 44952 6 13 6504 1537798711 1537798719 ACCEPT OK
2 621567429603 eni-0f5e97a3c2d51a5db 10.0.12.61 18.136.60.252 55584 443 6 15 5378 1537798711 1537798719 ACCEPT OK
2 621567429603 eni-0f5e97a3c2d51a5db 10.0.12.61 18.136.60.252 55612 443 6 15 5378 1537798711 1537798719 ACCEPT OK
2 621567429603 eni-0f5e97a3c2d51a5db 52.219.36.183 10.0.12.61 443 51892 6 19 …Run Code Online (Sandbox Code Playgroud) 我已经按照此处的教程创建了具有公共和私有子网的VPC。
然后,我在公共子网中设置了一个AWS lambda函数,以测试它是否可以连接到外部互联网。
这是我用python3编写的lambda函数
import requests
def lambda_handler(event, context):
r = requests.get('http://www.google.com')
print(r)
Run Code Online (Sandbox Code Playgroud)
http://www.google.com当我在VPC的公共子网中进行设置时,上述函数无法获取其内容。
这是错误消息:
“ errorMessage”:“ HTTPConnectionPool(host ='www.google.com',port = 80):url超过了最大重试次数:/(由NewConnectionError(':导致:建立新连接失败:[Errno 110]连接超时',))“,” errorType“:” ConnectionError“,
我不明白为什么。
公共子网的路由表如下所示:
对的GET请求http://www.google.com应匹配igw-XXXXXXXXX目标。为什么Internet网关(igw)无法将请求传递到http://www.google.com网站并取回网站内容?
该文章说,我必须设置专用子网内的lambda函数才能有互联网接入。
如果您的Lambda函数需要访问私有VPC资源(例如,Amazon RDS数据库实例或Amazon EC2实例),则必须将该函数与VPC关联。如果您的功能还需要互联网访问(例如,到达公共AWS服务终端节点),则您的功能必须使用NAT网关或实例。
但这并不能解释为什么我不能在公共子网中设置lambda函数。
Firebase Cloud Functions 运行在 GCP 之上,那么它们是否支持使用vpc 连接器?
我想要实现的是将转发代理服务器限制为仅接受来自内部网络的请求,但由于 Cloud Functions 不支持静态 IP,唯一的方法是通过 vpc 连接器。
在有了一个开发PC HD损坏之后,我正在考虑让我的开发环境完全基于Virtual PC的想法.
核心项目将是: - XP专业版32 - IIS - VS2003 - VS2008 - SQL Server 2005 - Office 2003
主要源将驻留在SVN中的服务器上,而VPC上只有一个clocal副本.这将适用于基于Windows的Web和桌面开发.
假设主机具有良好的性能并提供硬件虚拟化,是否存在任何已知的具有这种设置的问题,即主要优点和缺点.任何性能问题或其他问题都会使这个好或坏?
我想走这条路线,这样我就可以创建一个完整的备份VPC,可以放在新PC上,如果一个发生故障,并根据需要重新安装或复制到笔记本电脑上进行异地工作等.使用新的Virtual PC功能Win7这似乎也可能更好地向前发展.
在我们走这条路之前,想得到一些反馈意见......
在新安装的EC2上:
安全组是默认的.对于入站和出站,"所有流量"允许为0.0.0.0/0.
"网络ACL"有入一定的局限性,因为我们希望我们的这个域名的网站,为我们的慈善组织的内部网络.但是从这台服务器,我们想通过SSH安装一些东西,所以我们需要wget和curl.所以出境也是
100 ALL Traffic 0.0.0.0/0 ALLOW
默认情况下会添加最后一个"DENY".
有了这些设置,这似乎很正常,我还缺少什么?请注意,所有iptables规则都已刷新,我们不会尽我所能使用iptables.所有防火墙内容都由Amazon VPC安全设置管理.
有什么想法或指针吗?谢谢.
希望有人可以帮助启发我解决这个问题。我目前正在研究一个 lambda 函数,它利用云监视调度程序来检查各种设备,并且它正在使用 elasticache 来维护一个简单的读数数据库。
我的问题是在我晚上关闭测试之后。我在早上启动了 lambda 函数,但该函数无法访问互联网。这由函数超时表示。经常在弄乱我的路线和我的 vpc 设置几个小时后,它会再次开始工作。只是为了第二天休息。有时它与 nat 网关一起使用,而其他时候只使用一个 nat 实例。我通常对 vpc 设置所做的更改很小。我使用的设置模式是一个公共、一个私有和一个 natgateway。
更新:昨天一整天都无法从我的 VPC 访问互联网后,今天运行正常。我做了什么不同的事情,没有。当它再次停止运行时,可能是今天晚些时候,我会打电话给 AWS,看看我们是否能找到问题的根源。
vpc amazon-web-services node.js amazon-elasticache aws-lambda
我正在尝试使用私有 IP 将 gcp postgres 实例部署到同一网络中,default作为启用了 IPaliasing 的 kubernetes 集群。
default网络上还部署了一些其他 k8s 集群。
当我尝试使用该网络创建新的 Postgres 实例时,出现以下错误:
创建子网失败。在分配的 IP 范围中找不到空闲块。请为此服务提供商分配新的范围。
我尝试在 VPC 网络详细信息页面的“专用服务连接”选项卡下分配更多 IP 地址,但我不确定如何利用这个新的 IP 范围,而不用使用已创建的服务中断与现有服务的连接IP范围。
使用 terraform v0.12.21 和 AWS provider v2.51.0,我试图从头开始创建一些基础设施(没有以前的 terraform 状态)。
目标是在单个 VPC 中拥有一些可公开访问的 EC2 实例,我认为这些是我需要完成的资源:
使用这个 terraform 配置:
locals {
office_cidr = ["x.x.x.x/32", "x.x.x.x/32"]
}
provider "aws" {
region = var.region
version = "~> 2.51"
}
resource "aws_vpc" "main" {
cidr_block = "10.0.0.0/16"
instance_tenancy = "default"
}
resource "aws_internet_gateway" "gw" {
vpc_id = aws_vpc.main.id
}
resource "aws_subnet" "main" {
vpc_id = aws_vpc.main.id
cidr_block = "10.0.1.0/24"
}
resource "aws_route_table" …Run Code Online (Sandbox Code Playgroud) vpc ×10
amazon-ec2 ×3
amazon-vpc ×2
aws-lambda ×2
acl ×1
amazon-ecs ×1
curl ×1
docker ×1
firebase ×1
networking ×1
node.js ×1
routing ×1
terraform ×1
virtual-pc ×1