我在 AWS VPC 中运行 docker 时遇到问题。
这是我的设置:我有两台机器在 VPC 中运行:
两者都有分配给它们的弹性 IP,两者都运行在同一个启用 Internet 的子网中。
假设我正在运行一个 Web 服务器,该服务器在容器 10.0.100.150 机器上的容器中提供静态文件:
我正在尝试从我的本地机器(或另一台非 VPC 机器也尝试了一个未在 VPC 中运行的 EC2 实例)访问静态文件,并且它工作得很好。
如果我尝试从另一台机器 (10.0.100.151) 访问文件,它会挂起。我正在使用 wget 来提取文件。
试图用 tcpdump 和 ngrep 调试它,我看到的是请求到达了容器。如果我在主机上使用 ngrep,我会看到请求进入但没有响应返回。如果我 ngrep 在容器上,我会看到请求进入,响应返回。
我尝试了多个 iptables 设置(启用后路由,手动转发端口等)但没有成功。
以任何方式提供帮助 - 甚至调试指导将不胜感激。
谢谢!
我正在尝试创建一个 Redis 节点,但在配置窗口中,我无法选择我创建的 VPC。我看到的只是默认的 VPC。因此,子网也只是属于默认 VPC 的子网。
我还需要做什么才能列出我的自定义 VPC,以便我可以将 ElastiCache 节点附加到它吗?
我正在尝试使用他们的 VPN 系统和 Linux 服务器在我们的公司网络和 Amazon 的 Virtual Private Cloud 之间建立 IPSec VPN 连接。不幸的是,我找到的唯一指南讨论了如何使用主机 Linux 机器设置隧道并让该 linux 机器访问 VPC 实例,但我在网上找不到关于如何让实例访问公司网络的讨论(或通过该网络的互联网的其余部分)。
网络信息
Local subnet: 10.3.0.0/25
Remote subnet: 10.4.0.0/16
Tunnel 1:
Outside IP Addresses:
- Customer Gateway: : 199.167.xxx.xxx
- VPN Gateway : 205.251.233.121
Inside IP Addresses
- Customer Gateway : 169.254.249.2/30
- VPN Gateway : 169.254.249.1/30
Tunnel 2:
Outside IP Addresses:
- Customer Gateway: : 199.167.xxx.xxx
- VPN Gateway : 205.251.233.122
Inside IP Addresses
- Customer Gateway : 169.254.249.6/30
- VPN …Run Code Online (Sandbox Code Playgroud) 我一直在尝试了解路由在具有公有/私有子网的 AWS VPC 中是如何工作的。
我有一个亚马逊推荐的设置,在公共子网中有一个 ELB 和 NAT,在私有子网中有一个 web 服务器。我按照http://blogs.aws.amazon.com/security/blog/tag/NAT配置了安全组 (SG) ,并且一切正常。伟大的!
我还不明白的是 HTTP 回复是如何从上述架构中的网络服务器实例返回的。
所以一个网络请求通过 HTTP 从公共互联网进来,80 次命中 ELB,ELB 将它带到网络服务器的私有 IP,很酷。现在网络服务器必须回复。据我了解,回复将通过不同的更高 TCP 端口 (1024-65535)。NAT SG 只允许通过端口 80 和 443 的出站流量。那么此回复如何返回公共 Internet。它不能通过 NAT。这是否意味着回复通过 ELB 返回。Amazon 图表未将 ELB 流量方向箭头指示为双向,ELB 文档也未说明 ELB 的行为类似于有状态 NAT。可以?
AWS 有一个新的准系统 VPS 产品 Lightsail,它有点像 EC2-Lite —— 非常轻巧 —— 只提供几个固定大小的实例类、简化的定价和很少的选项,以及]它自己的极简主义控制台,正如我在 Lightsail 和 EC2 有什么区别?.
有关此服务的所有内容都已简化,并且在某种程度上与 AWS 有所不同,但实际上并非如此。它是您 AWS 账户的一部分,如果您注册,并且...
Amazon Lightsail 可以查看并连接到其他 AWS 资源,例如 Amazon RDS 数据库或 Amazon Aurora。在此页面上,您可以尝试将您的 Lightsail VPC 与您的 AWS VPC 对等。例如,您可能希望将数据层与应用程序分开。
注意悲观情绪。“你可以尝试对等。” 就好像他们预料到了这个问题一样。
顺便说一下,Lightsail 实例确实具有通常的 EC2 元数据端点,并且实际上是 t2 实例,位于您在 AWS 控制台中看不到的“隐形”VPC 中。我会遇到这个麻烦,因为它们确实有一些有趣的用例,尽管它们有局限性(例如对 Internet 带宽的合理允许)。那么,您如何启用与现有 VPC 的对等互连?
这是一个复选框。没有选项,只需单击“启用 VPC 对等互连”。
您的 VPC 对等连接失败。
您可以尝试再次启用对等互连。如果您仍然无法使用 Lightsail 资源对等 VPC,请联系客户支持。
我又试了几次,在几个小时的过程中,仍然......没有骰子,没有诊断输出,什么都没有。
检查显而易见的事情,例如验证区域中现有 VPC 的 CIDR 块与我的测试 Lightsail 实例似乎所在的 VPC 的 CIDR 块都不冲突的事实,并尝试在以身份登录时对等 VPC根用户而不是 IAM 用户,什么也没有出现……我什至在第二个(现有)AWS …
现在我有一个公共子网:CIDR 10.0.0.0/24 我想在我当前的 vpc 上添加一个新子网,以便能够使用 RDS 服务。
当我尝试使用 CIDR 添加新子网时,收到以下消息:
10.0.1.0/24 CIDR is not within the CIDR ranges of VPC
Run Code Online (Sandbox Code Playgroud)
我现在的 VPC 是 10.0.0.0/24
有什么帮助吗?
我设置了一个AWS VPC,我试图在部署一个功能性的容器ECS上Fargate launch type,但任务总是失败:
STOPPED (CannotPullContainerError: Error response from daem)
Run Code Online (Sandbox Code Playgroud)
任务角色上下文:
ecsTaskExecutionRole
Run Code Online (Sandbox Code Playgroud)
其中具有以下 IAM 权限:
回购权限如下:
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "AllowPull",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::aws_account_id:role/ecsTaskExecutionRole"
},
"Action": [
"ecr:BatchCheckLayerAvailability",
"ecr:BatchGetImage",
"ecr:DescribeImages",
"ecr:DescribeRepositories",
"ecr:GetAuthorizationToken",
"ecr:GetDownloadUrlForLayer",
"ecr:GetRepositoryPolicy",
"ecr:ListImages"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
为了安全起见,实际的 id 被替换为 aws_account_id
我已按照本指南进行故障排除,其中指出:
由于以下问题之一,您可能会收到此错误:
您的启动类型无权访问 Amazon ECR 终端节点
您的 Amazon ECR 存储库策略限制对存储库映像的访问
我相信它允许pull access使用的角色 - 请参阅上面的 repo 权限。
您的 …
据我了解,公共子网是可以通过 Internet 网关将流量路由到 Internet 的子网,而私有子网则不能(无法访问 Internet,也无法从 Internet 访问)。为了访问 Internet,私有子网需要通过 NAT 网关路由流量。
我可以确认这一点,因为我实际上成功地使用了这个设置。
但是......亚马逊文档另有说法(我的重点是粗体):

公有子网中的实例可以直接从 Internet 接收入站流量,而私有子网中的实例则不能。公有子网中的实例可以直接将出站流量发送到 Internet,而私有子网中的实例则不能。相反,私有子网中的实例可以使用您在公共子网中启动的网络地址转换 (NAT) 实例来访问 Internet 。
NAT 网关所在的位置是否重要?如果是这样,将它放在私有/公共子网中的用例是什么?
我在 VPC 的私有子网内托管了一个 AWS RDS。在创建具有公有和私有子网的 VPC 时,我必须创建一个 NAT 实例。我知道 NAT 实例主要用于私有实例连接到互联网。
RDS 也需要 NAT 实例吗?RDS的维护和更新是否也经过NAT实例?我只有私有子网中有 RDS,所有其他 EC2 实例都在公共子网中。如果 RDS 没有使用 NAT 实例,我可以继续停止实例,对吗?
任何帮助将不胜感激。
当我尝试在 VPC 中添加新子网时,我收到以下消息:
172.22.128.0/24CIDR 不在 VPC 的 CIDR 范围内。
我当前的 VPC CIDR 是 172.22.130.0/28
有什么帮助吗?
amazon-vpc ×10
amazon-rds ×2
nat ×2
subnet ×2
amazon-ecr ×1
aws-fargate ×1
docker ×1
ipsec ×1
networking ×1
permissions ×1
vpn ×1