问题标签 [aws-networking]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
160 浏览

amazon-web-services - AWS:从站点到站点 VPN 路由流量 --> 特定子网

在一个 vpc 中,我有 8 个子网(每个 AZ 有 4 个)连接到 100 个虚拟机。

我在 AWS 中为外部客户设置了站点到站点vpn 。目标是只允许外部客户访问一个虚拟机。

有一个与vpc关联的vpg。安全组配置创建了许多通往其他 VM 的路径。

我创建了一个新的子网,我想将来自 VPN 的流量路由到这个新的子网

我认为这可以通过Route Table来完成,但我看不到如何做到这一点。

我创建了一个新的子网和路由表。我将新子网与新 RT 相关联。我创建了一条新路线:

在此处输入图像描述

我收到以下错误:

在此处输入图像描述

0 投票
1 回答
32 浏览

docker - 如何使用不同公共网络或区域的主机设置 Docker Overlay 网络?

我对 VXLAN 和覆盖网络有基本的了解。Docker 覆盖在底层使用 VXLAN 使多主机容器能够相互通信。

但是,如果这些多主机容器位于不同的公共网络中,例如跨不同 AWS 区域的 EC2 实例并因此位于不同的公共 IP 地址网络中,该怎么办。EC2 实例将在其自己的 NAT AWS 公共地址中具有私有地址,因此其他 EC2 中的 docker 守护程序将如何联系它。这甚至可能吗?(当然不推荐)

也许 AWS 有一些变通方法,但是跨不同公共网络的 Docker 覆盖网络解决方案通常是可能的吗?如果是,我们该怎么做?

0 投票
1 回答
37 浏览

amazon-web-services - 将 AWS 账户移动到另一个 AWS 组织

我有一个带有联网、日志记录、安全性和许多自定义 AWS 账户的 AWS 登陆区设置。所有入口/出口连接都通过网络帐户。

我想设置一个全新的登陆区(AWS 组织)并将所有自定义 AWS 账户移动到该登陆区。如果我将账户移动到新的 AWS 组织,现有的网络连接是否会继续工作(中转网关附件、路由表等)?

0 投票
1 回答
44 浏览

amazon-web-services - 如何在 AWS 上构建经过 IAM 身份验证的 VPC 网关?

我正在尝试向 Internet 公开 HTTP 服务器。服务器在专用 VPC 内的 Fargate 容器上运行。如果不是因为必须使用 IAM 对对该服务器的请求进行身份验证,我可以通过公共应用程序负载均衡器 (ALB) 公开它。

我的方法是在服务的负载均衡器前面放置一个 AWS Gateway v1。此网关通过 IAM 验证身份验证,然后使用 VPC 链接将请求中继到网络负载均衡器 (NLB)。NLB 依次将其路由到服务器本身。

这是问题所在:Api Gateway v1 不支持到 ALB 的 VPC 链接,仅支持 NLB,但 NLB 使用 TCP,而我正在公开 HTTP 服务器。这样我就不能通过网络负载均衡器中继路径和其他 HTTP 功能。Api Gateway v2 确实支持到 ALB 的 VPC 链接,但它没有使用 IAM 进行身份验证的方法。

有没有办法解决这个问题?

0 投票
2 回答
45 浏览

amazon-web-services - 向网络公开 ECS 服务

我创建了一个 ECS 集群并创建了许多服务。但我希望其中一项服务可以访问外部世界。然后该服务将与其他服务交互。

创建了 ECS 集群 创建了服务。创建加载到 docker 容器中的应用程序。我更新了安全组以允许外部访问

但是在我的控制台上的网络接口下,我找不到对我创建的安全组的任何引用。创建的安全组在那里。

我是否缺少任何步骤

0 投票
2 回答
1095 浏览

amazon-ec2 - EC2 实例无法通过 s3 网关端点访问 amazon-linux 存储库(例如 amazon-linux-extras 安装 docker)

我有 s3 端点悲伤。当我的实例初始化时,它们无法安装 docker。细节:

我的 ASG 实例位于带有 pub 和私有子网的 VPC 中。适当的路由和 EIP/NAT 都被缝合了。私有子网中的实例有出站 0.0.0.0/0 路由到各自公有子网中的 NAT。公共子网的 NACL 允许 Internet 流量进出,私有子网周围的 NACL 允许来自公共子网的流量进出、出入 Internet 的流量(以及来自 s3 cidr 的流量进出)。我希望它完全锁定。

  • 我在我的 VPC 中启用了 DNS 和主机名
  • 我了解 NACL 是无状态的,并且已为临时端口范围上的 s3 amazon IP cidr 块启用了 IN 和 OUTBOUND 规则(是的,我还启用了 pub 和私有子网之间的流量)
  • 是的,我已经在我的私有路由表中检查了为我的 s3 端点配置的路由
  • 是的,我确定这是 s3 端点导致我悲伤,而不是另一个错误 -> 当我删除它并打开我的 NACL 时,我可以 yum 更新并安装 docker(如预期的那样)我不是在寻找需要打开我的建议的建议NACL,我正在使用 VPC 网关端点,因为我想将事物锁定在私有子网中。我提到这一点是因为类似的讨论似乎在说“我在所有端口上打开了 0.0.0.0/0,现在 x 可以工作”
  • 我应该烤一个安装了 docker 的 AMI 吗?如果我不能解决这个问题,我会这样做。我真的很想建立我的网络,所以一切都很好地锁定了,感觉使用端点应该很简单。在很大程度上,这是一个网络练习,所以我宁愿不这样做,因为它避免了解决和理解问题。
  • 我知道我的其他 VPC 端点运行良好 -> 自动缩放服务接口端点正在执行(我可以看到它根据策略缩减实例),SSM 接口端点允许我使用会话管理器,并且 ECR 端点正在运行结合 s3 网关端点(需要 s3 网关端点,因为图像层在 s3 中)-> 我知道这是可行的,因为如果我打开 NACLS 并删除我的 s3 端点并安装 docker,然后再次锁定所有内容,带回我的 s3 gatewayendpoint 我可以成功提取我的 ECR 图像。所以 s3 网关端点可以很好地访问 ecr 映像层,但不能访问 amazon-linux-extra 存储库。
  • 附加到实例的 SG 不是问题(实例具有默认出站规则)
  • 我已经尝试向我的 s3 端点添加越来越慷慨的策略,正如我在这个 7 岁的线程中看到的那样,并认为这必须解决问题(是的,我正确地替换了我的区域)
  • 我强烈认为解决方案在于该线程中讨论的 s3 网关策略,但是我越来越绝望的策略几乎没有运气。

Amazon EC2 实例无法更新或使用 yum

另一个 s3 与分辨率的斗争:

https://blog.saieva.com/2020/08/17/aws-s3-endpoint-gateway-access-for-linux-2-amis-resolving-http-403-forbidden-error/

我努力了:

(如您所见,非常绝望)第一个规则是 ECR 接口端点从 s3 拉图像层所必需的,所有其他规则都是尝试到达 amazon-linux-extras 存储库。

以下是我通过使用 SSM 端点连接会话管理器重新创建的初始化时发生的行为:

https://aws.amazon.com/premiumsupport/knowledge-center/connect-s3-vpc-endpoint/

我不能 yum 安装或更新

加载的插件:extras_suggestions、langpacks、priorities、update-motd 无法检索镜像列表https://amazonlinux-2-repos-ap-southeast-2.s3.ap-southeast-2.amazonaws.com/2/core/latest/ x86_64/mirror.list错误为 14:HTTPS 错误 403 - 禁止

配置的存储库之一失败(未知),并且 yum 没有足够的缓存数据来继续。在这一点上,yum 能做的唯一安全的事情就是失败。有几种方法可以“解决”这个问题:

无法为 repo 找到有效的 baseurl:amzn2-core/2/x86_64

并且不能:

目录https://amazonlinux-2-repos-ap-southeast-2.s3.ap-southeast-2.amazonaws.com/2/extras-catalog-x86_64-v2.json , https://amazonlinux-2- repos-ap-southeast-2.s3.ap-southeast-2.amazonaws.com/2/extras-catalog-x86_64.json 回溯(最后一次调用):文件“/usr/lib/python2.7/site-packages/amazon_linux_extras/software_catalog.py”,第 131 行,在 fetch_new_catalog 请求 = urlopen(url) 文件“/usr/lib64/python2. 7/urllib2.py",第 154 行,在 urlopen 返回 opener.open(url,数据,超时) 文件 "/usr/lib64/python2.7/urllib2.py",第 435 行,打开响应 = meth(req,响应)文件“/usr/lib64/python2.7/urllib2.py”,第 548 行,在 http_response 'http',请求,响应,代码,味精,hdrs)文件“/usr/lib64/python2.7/urllib2. py”,第 473 行,错误返回 self._call_chain(*args) 文件“/usr/lib64/python2.7/urllib2.py”,第 407 行,在 _call_chain 结果 = func(*args) 文件“/usr/lib64 /python2.7/urllib2.py”,第 556 行,在 http_error_default 中引发 HTTPError(req.get_full_url(), code, msg, hdrs,fp)HTTPError:HTTP错误403:禁止

我错过了什么陷阱?我很困在这里。我熟悉基本的 VPC 网络、NACL 和 VPC 端点(我至少使用过的那些),我已经完成了故障排除(尽管我已经按照概述进行了所有设置)。

我觉得 s3 政策是这里的问题或镜像列表。非常感谢您阅读所有内容!想法?

0 投票
0 回答
60 浏览

amazon-ec2 - 如何将流量从私有子网中的 EC2 实例路由到具有公有子网中 EIP 的自定义 EC2 实例

我在我的 AWS 账户中的几个子网上有一个 EKS 集群。我希望能够将 EIP 与来自私有子网中我的 pod 的出口流量相关联(我们称之为 app-pods),用于外部服务白名单。每个需要出口的 pod 都必须有一个 EIP。由于这些原因,NAT 网关不是一个可行的解决方案(每个应用程序 pod 有一个 NAT 网关也是不可行的,因为成本原因。

因此,我目前正在探索在公共子网中建立一个网关 pod(与应用程序 pod 不同的节点)的选项,该子网具有与之关联的 EIP,并通过这些网关 pod 将应用程序 pod 流量出口到世界。基本上路由看起来像这样

App-Pods(私有子网)--路由流量--> Gateway Pods(公共子网,SNAT 源 ip-EIP)--egress--> 外部服务器

为了将流量从 app-pod 输出到网关 pod,我添加了如下所示的静态路由。我得到了运行 Pod 的节点的私有 ip,并适当地替换它们

ip route add "APP-POD-NODE-IP" via "GATEWAY-POD-NOD-IP" dev eth0

这似乎不起作用。当我在 app-pods 的节点上添加这些路由时,出现此错误

错误:Nexthop 的网关无效。

从我读过的内容来看,网关似乎必须在同一个网络上。在我的特定情况下,我不确定那可能是什么。对此的任何帮助将不胜感激

谢谢

0 投票
1 回答
30 浏览

node.js - 如何为 HTTPS 打开我的后端 NodeJS 应用程序?

我也想为 HTTPS 流量打开后端 NodeJS 应用程序。我使用以下命令在 backend/secrets 应用程序中创建了 key.pem 和 cert.pem 文件(自行分配):

然后更改main.ts文件如下:

在 AWS EC2 实例中,打开 443 的端口。HTTP 的 3030 端口运行良好并返回响应:

但是,使用 HTTPS 的查询不起作用并且不返回任何内容。

问题是端口 443 对所有流量开放

在此处输入图像描述

如何使后端使用 HTTPS?

0 投票
1 回答
103 浏览

amazon-web-services - 启用“自动配置 CloudWatch 日志”时的 AWS 任务定义警告

当我启用Auto-configure CloudWatch Logs有关网络模式的警告时,它会说Your containers in the task will share an ENI using a common network stack. Port mappings can only specify container ports (any existing host port specifications will be removed).

在此处输入图像描述

这是出现的警告,我不明白这是什么意思

在此处输入图像描述

0 投票
0 回答
12 浏览

amazon-ec2 - AWS:使用 TransitGateway 的 DefaultRouteTable 创建 TransitGatewayRoute

我正在使用 CF 创建站点到站点 VPN 我创建 AWS::EC2::TransitGateway:

我还创建:

  • AWS::EC2::TransitGatewayAttachment
  • AWS::EC2::CustomerGateway
  • AWS::EC2::VPN连接

这有效并根据需要创建所有资源。我需要另外一项资源来完成 CF,AWS::EC2::TransitGatewayRoute

如何引用 TransitGateway 的“关联路由表 ID”或“传播路由表 ID”(这些值相同)?我尝试了注释行的变体,但都导致错误。