标签: amazon-vpc

在 VPC 中运行 docker 并从另一台 VPC 机器访问容器

我在 AWS VPC 中运行 docker 时遇到问题。

这是我的设置:我有两台机器在 VPC 中运行:

  • 10.0.100.150
  • 10.0.100.151

两者都有分配给它们的弹性 IP,两者都运行在同一个启用 Internet 的子网中。

假设我正在运行一个 Web 服务器,该服务器在容器 10.0.100.150 机器上的容器中提供静态文件:

  • IP:172.17.0.2
  • 端口 8111 在机器上的 8111 端口上转发。

我正在尝试从我的本地机器(或另一台非 VPC 机器也尝试了一个未在 VPC 中运行的 EC2 实例)访问静态文件,并且它工作得很好。

如果我尝试从另一台机器 (10.0.100.151) 访问文件,它会挂起。我正在使用 wget 来提取文件。

试图用 tcpdump 和 ngrep 调试它,我看到的是请求到达了容器。如果我在主机上使用 ngrep,我会看到请求进入但没有响应返回。如果我 ngrep 在容器上,我会看到请求进入,响应返回。

我尝试了多个 iptables 设置(启用后路由,手动转发端口等)但没有成功。

以任何方式提供帮助 - 甚至调试指导将不胜感激。

谢谢!

networking amazon-web-services amazon-vpc docker

10
推荐指数
1
解决办法
3609
查看次数

非默认 VPC 的 ElastiCache (redis)

我正在尝试创建一个 Redis 节点,但在配置窗口中,我无法选择我创建的 VPC。我看到的只是默认的 VPC。因此,子网也只是属于默认 VPC 的子网。

我还需要做什么才能列出我的自定义 VPC,以便我可以将 ElastiCache 节点附加到它吗?

amazon-web-services amazon-elasticache amazon-vpc

10
推荐指数
1
解决办法
2951
查看次数

Amazon VPC 和 Linux 服务器之间的 IPSec VPN

我正在尝试使用他们的 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)

vpn ipsec amazon-vpc

9
推荐指数
1
解决办法
5397
查看次数

ELB 是否也路由 AWS 中的出站回复流量

我一直在尝试了解路由在具有公有/私有子网的 AWS VPC 中是如何工作的。

我有一个亚马逊推荐的设置,在公共子网中有一个 ELB 和 NAT,在私有子网中有一个 web 服务器。我按照http://blogs.aws.amazon.com/security/blog/tag/NAT配置了安全组 (SG) ,并且一切正常。伟大的!

具有 Amazon VPC 配置的参考架构

我还不明白的是 HTTP 回复是如何从上述架构中的网络服务器实例返回的。

所以一个网络请求通过 HTTP 从公共互联网进来,80 次命中 ELB,ELB 将它带到网络服务器的私有 IP,很酷。现在网络服务器必须回复。据我了解,回复将通过不同的更高 TCP 端口 (1024-65535)。NAT SG 只允许通过端口 80 和 443 的出站流量。那么此回复如何返回公共 Internet。它不能通过 NAT。这是否意味着回复通过 ELB 返回。Amazon 图表未将 ELB 流量方向箭头指示为双向,ELB 文档也未说明 ELB 的行为类似于有状态 NAT。可以?

nat amazon-web-services amazon-vpc

9
推荐指数
1
解决办法
8055
查看次数

无法从 Amazon Lightsail 建立 VPC 对等连接

AWS 有一个新的准系统 VPS 产品 Lightsail,它有点像 EC2-Lite —— 非常轻巧 —— 只提供几个固定大小的实例类、简化的定价和很少的选项,以及]它自己的极简主义控制台,正如我在 Lightsail 和 EC2 有什么区别?.

有关此服务的所有内容都已简化,并且在某种程度上与 AWS 有所不同,但实际上并非如此。它是您 AWS 账户的一部分,如果您注册,并且...

Amazon Lightsail 可以查看并连接到其他 AWS 资源,例如 Amazon RDS 数据库或 Amazon Aurora。在此页面上,您可以尝试将您的 Lightsail VPC 与您的 AWS VPC 对等。例如,您可能希望将数据层与应用程序分开。

https://lightsail.aws.amazon.com/ls/webapp/account

注意悲观情绪。“你可以尝试对等。” 就好像他们预料到了这个问题一样。

顺便说一下,Lightsail 实例确实具有通常的 EC2 元数据端点,并且实际上是 t2 实例,位于您在 AWS 控制台中看不到的“隐形”VPC 中。我会遇到这个麻烦,因为它们确实有一些有趣的用例,尽管它们有局限性(例如对 Internet 带宽的合理允许)。那么,您如何启用与现有 VPC 的对等互连?

这是一个复选框。没有选项,只需单击“启用 VPC 对等互连”。

您的 VPC 对等连接失败。

您可以尝试再次启用对等互连。如果您仍然无法使用 Lightsail 资源对等 VPC,请联系客户支持。

我又试了几次,在几个小时的过程中,仍然......没有骰子,没有诊断输出,什么都没有。

检查显而易见的事情,例如验证区域中现有 VPC 的 CIDR 块与我的测试 Lightsail 实例似乎所在的 VPC 的 CIDR 块都不冲突的事实,并尝试在以身份登录时对等 VPC根用户而不是 IAM 用户,什么也没有出现……我什至在第二个(现有)AWS …

amazon-web-services amazon-vpc amazon-lightsail

9
推荐指数
1
解决办法
6790
查看次数

AWS CIDR 不在 VPC 的 CIDR 范围内

现在我有一个公共子网: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

有什么帮助吗?

amazon-web-services amazon-rds amazon-vpc

9
推荐指数
1
解决办法
2万
查看次数

Amazon ECS 任务因 STOPPED 而失败(CannotPullContainerError:来自 daem 的错误响应)

我设置了一个AWS VPC,我试图在部署一个功能性的容器ECSFargate 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 终端节点

    我相信Fargate 可以访问 ECR

  • 您的 Amazon ECR 存储库策略限制对存储库映像的访问

    我相信它允许pull access使用的角色 - 请参阅上面的 repo 权限。

  • 您的 …

permissions amazon-vpc amazon-ecr aws-fargate

9
推荐指数
1
解决办法
5742
查看次数

AWS:公共子网中的 NAT 网关。为什么?

据我了解,公共子网是可以通过 Internet 网关将流量路由到 Internet 的子网,而私有子网则不能(无法访问 Internet,也无法从 Internet 访问)。为了访问 Internet,私有子网需要通过 NAT 网关路由流量。

我可以确认这一点,因为我实际上成功地使用了这个设置。

但是......亚马逊文档另有说法(我的重点是粗体): 具有公共和私有子网 (NAT) 的 VPC

公有子网中的实例可以直接从 Internet 接收入站流量,而私有子网中的实例则不能。公有子网中的实例可以直接将出站流量发送到 Internet,而私有子网中的实例则不能。相反,私有子网中的实例可以使用您在公共子网中启动的网络地址转换 (NAT) 实例来访问 Internet 。

NAT 网关所在的位置是否重要?如果是这样,将它放在私有/公共子网中的用例是什么?

nat subnet amazon-web-services amazon-vpc

8
推荐指数
1
解决办法
9102
查看次数

AWS VPC 内私有子网中的 RDS 是否需要 NAT 实例/网关?

我在 VPC 的私有子网内托管了一个 AWS RDS。在创建具有公有和私有子网的 VPC 时,我必须创建一个 NAT 实例。我知道 NAT 实例主要用于私有实例连接到互联网。

RDS 也需要 NAT 实例吗?RDS的维护和更新是否也经过NAT实例?我只有私有子网中有 RDS,所有其他 EC2 实例都在公共子网中。如果 RDS 没有使用 NAT 实例,我可以继续停止实例,对吗?

任何帮助将不胜感激。

amazon-rds amazon-vpc amazon-nat-gateway

8
推荐指数
1
解决办法
5171
查看次数

如何在 VPC 的 CIDR 范围内选择 AWS CIDR?

当我尝试在 VPC 中添加新子网时,我收到以下消息:

172.22.128.0/24 CIDR 不在 VPC 的 CIDR 范围内。

我当前的 VPC CIDR 是 172.22.130.0/28

有什么帮助吗?

subnet amazon-web-services amazon-vpc

8
推荐指数
2
解决办法
3637
查看次数