问题标签 [vpc-endpoint]
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-dynamodb - DynamoDb - “跨两个账户”的网关 VPC 终端节点
基础设施描述:我在一个 AWS 账户(比如 A1)中有一个 dynamo db 表,在另一个账户(比如 A2)/VPC-private 子网中托管在 EC2 中的应用程序。此应用程序(在帐户 A2 中)读取/写入帐户 A1 中的 dynamo db 表。两个账户都在同一个组织下,表和应用程序在同一个 AWS 区域。我为应用程序帐户 (A2) 中的 dynamo db 创建了一个 VPC 端点(例如 VPC-E1),并且路由表正确填充了 VPC 端点目标。应用程序使用 AssumeRole 方法授权自己。我为 EC2 使用的同一 IAM 账户创建了一个角色策略,仅当源 VPC 终端节点是我创建的终端节点 (VPC-E1) 时才允许连接到 DynamoDB。注意:EC2 通过 NAT 网关连接互联网。
IAM 政策:
可达性分析器说从 Ec2 到 VPC 端点的流量可以正常工作。
问题:流量被策略拒绝,因为 1. 流量不是通过该 VPC 端点发生的,或者我假设流量是通过 Nat 网关/互联网发生的。当我删除此策略时,它可以正常工作;因为流量可能通过 NAT 网关发生。
有没有人成功配置过这样的设置?即通过 AWS 私有网络(VPC 端点)跨账户访问 DynamoDb。我的目标是通过 AWS 私有网络将流量从一个账户/VPC 发送到 dyanamo db 表所属的另一个账户。
amazon-web-services - 在 vpc 端点上禁用私有 dns 名称时如何访问 AWS 中的私有 API
我正在尝试使用 curl 命令访问 aws 中的私有 api 以下格式的 api 是我使用 curl -i https://{rest-api-id}-{vpce-id}.execute-api.{region} .amazonaws.com/{stage}
amazon-web-services - 如何从私有子网访问 AWS Cognito?
我知道目前没有适用于 AWS Cognito 的 VPC 终端节点。有没有其他方法可以从私有子网与 cognito 进行通信?
amazon-web-services - aws vpc 端点 - 它是如何工作的?
我正在尝试了解 VPC 终端节点如何工作的概念,但我不确定我是否了解 AWS 文档。例如,我有一个私有 S3 存储桶和一个 EKS 集群。因此,如果我的存储桶是私有的,我相信从 EKS 集群到 S3 的流量不会通过互联网,而只会通过 AWS 网络。但如果我的 s3 存储桶是公开的,那么我可能需要设置 VPC 端点,这样流量就不会离开 AWS。我对 ECR 的期望与我期望的逻辑相同,如果它是私有的,您可以通过 AWS 网络将图像加载到您的 EKS。那么,当您需要在您的 AWS 账户(而不是来自本地或其他 VPC)中使用 VPC 终端节点时,具体情况是什么?
amazon-web-services - AWS VPC 终端节点:私有 DNS 记录之间有什么不同
我是 AWS 新手。我在我的 VPC 的两个子网中部署了一个接口终端节点。端点带有三个域名。
其中两个名称中包含可用区名称,显然指向子网中 ENI 的 IP 地址。但是,我想知道第一条记录(没有 AZ 名称的记录)的目的是什么?这些记录在哪里托管或在哪里可以找到 Z273ZU8SZ5RJPC 区域?
谢谢!
amazon-web-services - AWS API Gateway 与资源策略 VS 与 VPC 端点
我正在尝试使用 AWS API Gateway 创建私有 API。据我了解,我有 2 个选项来实施私有 API 网关,1) 使用 API 网关资源策略限制源和 2) 使用 VPC 端点限制 VPC 中的源。
我的问题是:对于选项 1,我可以在资源策略中设置条件以仅允许来自特定 VPC 的流量并达到与选项 2 相同的结果吗?
如果是,它们之间有什么不同?采用 VPC Endpoint 实现私有 API 网关有哪些优势?
amazon-web-services - 使用 AWS CDK,如何将 AWS 负载均衡器和 AWS 接口 VPC 终端节点连接在一起
背景: 我们正在使用 AWS 云开发工具包 (CDK) 2.5.0。
手动使用 AWS 控制台和硬编码 IP 地址,路由 53 到 ALB(应用程序负载均衡器)到私有接口 VPC 端点到私有 REST API 网关(等等..)工作。见下图。
代码: 我们正在尝试通过 CDK 编写此手动解决方案的代码,但被困在如何获取和使用 IP 地址或以某种方式将负载均衡器连接到接口 VPC 端点上。(端点有 3 个 IP 地址,区域中每个可用区一个。)
ALB 需要一个目标组,该目标组以接口 VPC 端点的 IP 地址为目标。(使用“实例”方法而不是 IP 地址,我们尝试InstanceIdTarget
与端点一起使用vpcEndpointId
,但失败了。我们得到了错误Instance ID 'vpce-WITHWHATEVERWASHERE' is not valid
)
使用 CDK,我们使用aws_elasticloadbalancingv2
模块创建了以下(除其他外):
ApplicationLoadBalancer
(ALB)ApplicationTargetGroup
(ATG) 又名目标集团
我们希望aws_elasticloadbalancingv2_targets
类似于aws_route53_targets
,但没有运气。我们知道对象数组的targets
属性,但仅此而已。ApplicationTargetGroup
IApplicationLoadBalancerTarget
正如您在上面看到的,我们向 ALB 添加了一个侦听器。我们将目标组添加到侦听器。
我们使用的一些资源:
- https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationLoadBalancer.html
- https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationTargetGroup.html
- https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.InterfaceVpcEndpoint.html
- https://docs.aws.amazon.com/cdk/api/v2//docs/aws-cdk-lib.aws_elasticloadbalancingv2_targets.InstanceIdTarget.html及相关。
- 如何在 CDK 中获取 VPC Endpoint 的 PrivateIPAddress?但这没有帮助。
任何帮助填充该targets
属性的ApplicationTargetGroup
对象IApplicationLoadBalancerTarget
表示赞赏。谢谢!
amazon-web-services - 由于连接到 sts.amazonaws.com 超时,Lambda 函数间歇性失败
我有一个在 VPC 中运行的 lambda。我使用它查询 ElasticSearch 并在那里更新数据并删除过时的数据。为了方便这个调用,lambda 必须承担一个角色,并为此调用 STS Assume role API。但最近,每当我尝试获取凭据时,我都会看到间歇性超时。代码是:
确切的错误:
我想知道,这种间歇性故障背后的原因可能是什么,以及我们如何解决它。我还想知道间歇性超时是否是 STS 呼叫的常见问题?
我尝试过的事情:
1)。而不是 global end-point sts.amazonaws.com
,我将 end-point 配置为是sts.us-east-1.amazonaws.com
因为我在 us-east-1 区域中运行 lambda。我们仍然能够看到同样的错误。
2)。它没有 VPC 端点,所以我创建了 VPC 端点。现在它不会抛出超时错误。但我不确定这是否是预期的修复。如果是修复,那么 STS 调用将一直超时。如果没有 VPC 端点,那么大部分时间它如何能够与 sts.amazonaws.com 连接?
如果需要,我可以提供更多信息。
更多信息:Lambda 函数附加了 3 个子网。2个私人1个公共。所有子网的路由表。
谢谢。
amazon-web-services - 从私有子网中的 lambda 访问 AWS 服务
我正在开发一个与 RDS 中的数据库一起使用的无服务器应用程序。出于安全原因,应用程序 (Lambda) 和数据库都位于 VPC 的私有子网中。我还想从应用程序访问 AWS 服务 - 例如,我想访问密钥管理器以获取数据库凭证,在 EventBridge 中放置规则并使用 STS 服务。我知道我可以使用 VPC 终端节点并在我的 VPC 中为每个感兴趣的服务部署接口终端节点。
我的问题如下 - 应用程序位于私有子网中的唯一原因是数据库访问。为什么我不应该创建另一个 lambda,它不是我的 VPC,并且可以轻松免费地访问这些服务,然后从我的主应用程序中调用它?有哪些安全风险?我错过了什么?
谢谢
go - 尝试使用 VPC 终端节点从私有子网中使用 AWS sts 代入角色时请求超时
当我调用 AWS sts 担任 lambda 函数中的角色时,该函数在 VPC 上的私有子网中运行,并为 STS 配置了端点。但是,我的请求超时。
我的设置如下:
- 我在 VPC 中运行附加到私有子网和安全组的 lambda
- 因为子网是私有的,所以我配置了一个 VPC Endpoint 来访问 STS
com.amazonaws.eu-west-1.sts
- 我的 lambda 是使用较旧的
sdk-for-go
v1 api 用 golang 编写的:https ://docs.aws.amazon.com/sdk-for-go/api/ - 我还配置了一个 VPC 端点来访问 S3,它可以正常工作
我的 VPC 端点的 terraform 配置是: