如何验证 EC2 中的应用程序正在使用 VPC 端点与 Dynamodb 进行通信?

Del*_*tha 2 java amazon-ec2 amazon-web-services amazon-dynamodb vpc-endpoint

我有一个部署在 EC2 中并与 Dynamodb 通信的 Java 应用程序。我已为 Dynamodb 启用 VPC 端点(网关端点)。但我没有注意到此更改有任何性能改进。从理论上讲,与公共访问相比,通过 VPC 端点的延迟应该更少。同样基于 tcpdump,我可以看到我们的应用程序仍然使用 dynamodb 的公共 IP 进行通信。 TCP 转储

52.119.232.38是 dynamodb 公共 IP。如何验证 EC2 中的应用程序是否正在使用 VPC 端点与 Dynamodb 进行通信?

  • EC2 和 VPC 终端节点均支持同一 VPC。

GSS*_*ain 5

您可以使用 AWS cloudtrail 来验证这一点。如果您仅从具有关联 VPC 网关终端节点的 AWS 网络上托管的应用程序连接到 DynamoDB,则您应该只能在 Cloudtrail 日志的源 IP 字段中看到私有 IP。如果您看到其他公共 IP,则表示正在通过互联网访问 DyanmoDB。

  • 转至 AWS Cloudtrail 并筛选EventSource dynamodb.amazonaws.com
  • 如果您没有看到任何 cloudtrail 事件,请确保选择您期望应用程序访问 DynamoDB 的时间段,或手动 ssh 进入 EC2 实例并运行一些 cli 命令aws dynamodb list-tables,然后等待 10-15 分钟以让该新事件出现。
  • 单击设置图标以显示Source IP address事件
  • 事件Source IP address的 应该来自您的 VPC 的 CIDR 范围(在本例中为 EC2 实例的私有 IP)
  • 您可以单击事件名称并查看原始事件,该事件的键的值vpcEndpointId与 VPC 终端节点的 id 相同

如果源 IP 不是 EC2 实例的私有 IP,请按照此处To add or remove route tables used by a gateway endpoint的链接部分确保使用网关端点条目更新适用的路由表