问题标签 [aws-vpc]
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.
amazon-web-services - 使用 Java JDK 列出特定 AWS 区域内的 VPC
我正在使用 AWS Java JDK,我希望检查 VPC 是否在某个区域内。jdk 提供了 AmazonEC2.describeVpcs() 请求,但不提供按区域过滤的方法。有谁知道这个的解决方法?
python-2.7 - 如何将 VPC 中的 Lambda 连接到 RDS?
对此有多个问题/答案,但似乎没有一个解决方案有效。
我目前的设置是:
- VPC 中的 Lambda(使用 python 2.7 运行时)
- 同一 VPC 中的 RDS 实例(postgres)
- Lambda 角色具有对某些 S3 存储桶和 AWSLambdaVPCAccessExecutionRole 的策略读/写
- Lambda 子网的路由表可以访问本地 IP 和 S3 的 VPC 终端节点
- RDS 子网的路由表可以访问本地 IP
- Lambda 安全组 (SG) 具有 Postgres 和 VPC 端点的入站和出站规则
- RDS SG 具有针对 Lambda SG id 的入站和出站规则
我正在使用 psycopg2 进行连接,它在我的requirements.txt
文件中。我尝试了一个简单的 SELECT 查询,如下所示:
这给了我错误:
我错过了什么?如何从我的 Lambda 成功连接到 RDS?谢谢!
amazon-ec2 - 在 awsvpc 网络模式下授予容器互联网访问权限
情况如下:
两个容器驻留在同一个任务定义中。
具有此任务定义的服务正在特定的 ec2 实例上运行。
我已将此实例的 VPC 配置为使用 NAT 网关。我认为这是成功的,因为我现在可以从实例本身 ping 到 google。
然而,问题是在我的实例上运行的 docker 容器没有互联网访问权限。
将网络模式切换为桥接显然可以解决这个问题,但是我需要这两个容器之间的双向 REST 流量。据我所知,桥接模式只能实现单向流量。
我的问题:
我可以做些什么来从我的容器中获得 Internet 访问权限?
amazon-web-services - 从浏览器访问 Amazon AWS elasticsearch Kibana
我知道这个问题之前已经讨论过,但是我觉得我的问题有点不同。
我试图弄清楚如何通过我的 AWS 账户中的自我管理 AWS 弹性搜索来访问 Kibana。
可能是我在这里要说的内容不准确或完全是胡说八道。我在整个 AWS VPC 明智的部分和 ELK 中都非常新手。
架构: 这是“架构”:
- 我有一个 VPC。
- 在 VPC 中,我有几个子网。
- 每个服务器使用在服务器本身上运行的日志存储将其数据发送到弹性搜索。为简单起见,假设我有一个服务器。
- 可以在 Amazon 控制台中找到的弹性搜索 https url 被解析为我定义的子网中的内部 IP。
资源:
我发现以下链接建议使用两个选项之一:
解决方案:
选项 1:基于资源的策略
- 通过引入指定特定 IP 地址的条件来允许基于资源的弹性搜索策略。
这在以下线程中进行了讨论,但不幸的是对我不起作用。
Amazon Elastic Search 集群的正确访问策略
当我尝试在 Amazon 控制台中实现它时,Amazon 通知我,因为我正在使用 Security group ,所以我应该使用 security group 来解决它。
安全组规则:
我试图设置一个规则,允许我的个人计算机(路由器)公共 IP 访问 Amazon 弹性搜索端口,甚至打开所有端口到我的公共 IP。
但这并没有成功。我很乐意得到更详细的解释,但我猜这是因为弹性搜索只有内部 IP 而没有公共 IP,而且因为它被封装在 VPC 中,即使我定义了我也无法从外部访问它公共 IP 访问它的规则。
选项 2:使用代理
除非我别无选择,否则我拒绝使用此解决方案。
我猜如果我在与弹性搜索相同的子网和 VPC 中设置另一台具有公共和内部 IP 的服务器,并将其用作代理,那么我将能够通过定义从外部访问该服务器与新创建的安全组相同的规则。就像文章建议的那样。
资料来源:
我发现有人已经在以下链接中使用代理服务器为这个问题制作了开箱即用的解决方案:
使用可执行文件或 docker 容器。
https://github.com/abutaha/aws-es-proxy
选项 3:其他
你能建议其他解决方案吗?是否可以使用 Amazon 负载均衡器或 Amazon API 网关来完成此任务?
我只需要概念证明而不是进入生产环境的东西。
底线:
我需要能够从浏览器访问 Kibana,以便能够搜索弹性搜索索引。
非常感谢
amazon-web-services - AWS VPC 对等连接问题
AWS VPC 对等互连是通过参考 aws文档为单个区域中的 VPC 创建的。
下图说明了相同的情况。
两个 VPC 对等连接都处于活动状态,并且它们的路由表已针对子网进行了调整。但是,当尝试从其他两个 VPC(kubernetes)建立到 VPC-A 的 http 连接时,它会失败。
VPC-B 和 VPC-C 运行部署在 kubernetes(docker) 上的基于微服务的应用程序。因此,不能保证 microservice pod 将完全从特定实例运行。在重新部署微服务时,它会跳转到 VPC 中的任何可用实例。
只有当来自 VPC-B 或 VPC-C 的任何实例的公共 IP 添加到 VPC-A 实例的安全组时,对 VPC-A 实例的 http 请求才能从其他 VPC 的该特定实例工作。由于可能的实例到期(以及 IP)和应用程序的性质,这不是永久的解决方案。
预计设置将使从其他两个 VPC 访问在 VPC-A 中的实例上运行的服务成为可能。请指出缺少或配置错误的内容。
amazon-web-services - 通过 VPC 将 AWS VPN NAT 到 AWS IOT
我的公司设备有一个专用的 M2M GSM 网络。我想将流量从我的设备发送到 AWS IOT,但 M2M 提供商不允许从其 sim 卡访问 Internet,它只提供与私有网络的 IPSec 连接。
我现在在将 IPSec 连接配置到 AWS VPC 时遇到问题,我的模拟人生可以成功 ping 我的 AWS VPC 中的所有实例。但是我想要的是让我的模拟市民访问 AWS IOT。
我做了什么:
- 我使用AWS 第三种方案配置了我的 VPN 。我有一个 CIDR 为 192.168.0.0/24 的公共网络和一个 CIDR 为 192.168.1.0/24 的专用网络。我的 VPN 有一个用于我的 M2M 网络的静态路由 CIDR 10.1.128.0/14。
- 然后我在我的公共网络中启动了一个 EC2 Nat 实例。
- 我向我的 VPC 主路由表添加了一个路由规则,以将流量路由到 0.0.0.0/0 到我的 NAT 实例。
- 我在我的 VPC 的私有网络中启动了一个 EC2 实例并尝试从它访问互联网,这项工作我可以看到流量通过我的 nat 实例。所以我假设我的 nat 和路由配置得很好。
但是我仍然无法从我的 sim 卡访问互联网,流量甚至没有路由到我的 NAT 实例。根据John Rotenstein 的回答VPN 流量不会使用我的路由规则。
AWS VPN 是否会丢弃未发往 VPC 或 VPN CIDR 的流量?这样做有安全原因吗?如果是这种情况,有没有办法为 VPN 的流量自定义路由规则?或者是在 EC2 实例中使用自定义 VPN 的唯一解决方案?
谢谢您的帮助。
amazon-web-services - 从私有 VPC 连接 AWS 私有 ALB
由于我的客户当前的架构,我有一个复杂的网络需求。
将简化如下。
假设我有 3 个 AWS VPC。
专有网络 1
专有网络 2
专有网络 3
而且我根本无法修改 VPC 3 网络(路由表等)。
我想要做的是允许 VPC3 访问 VPC1 的私有 ALB。
VPC 3 会将任何到 192.168.0.0/16 的流量路由到 VPC2。
这就是我对 VPC3 的全部了解。
我可以对 VPC1 和 VPC2 进行任何修改(创建路由表、创建 NAT 网关等)
如何从仅将 192.168.xx 流量转发到 VPC2 的 VPC 3 连接到 xxx.elb.amazonaws.com。
在简单的工作中,VPC2 应该将一些 VPC2 地址转发到 VPC1 的私有 ALB
例如:如果 VPC 3 的实例访问 192.168.something,它应该指向 xxx.elb.amazonaws.com。
amazon-web-services - AWS SDK - 如何使用 Boto3 设置 VPC 名称标签
创建 vpc 时如何使用 AWS 开发工具包指定 VPC 名称标签?我尝试了许多选项,如此处所示,但没有成功。
以下是我使用 python、boto3 SDK 创建 VPC 的方法。
目前,它创建没有名称标签的 vpc。
我尝试在创建 vpc 或修改它时指定标签,如下所示,但没有一个选项起作用。