本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
MemoryDB for Redis API 和接口 VPC 端点(Amazon PrivateLink)
您可以通过创建接口 VPC 端点在 VPC 和 适用于 Redis 的 Amazon MemoryDB API 端点之间建立私有连接。接口端点由 Amazon PrivateLink
VPC 中的实例不需要公有 IP 地址便可与 MemoryDB for Redis API 端点进行通信。您的实例也不需要公有 IP 地址即可使用任何可用的 MemoryDB API 操作。您的 VPC 和 MemoryDB for Redis 之间的流量不会脱离 Amazon 网络。每个接口终端节点均由子网中的一个或多个弹性网络接口表示。有关弹性网络接口的更多信息,请参阅《Amazon EC2 用户指南》中的弹性网络接口。
-
有关 VPC 终端节点的更多信息,请参阅 Amazon VPC 用户指南中的接口 VPC 终端节点 (Amazon PrivateLink)。
-
有关 MemoryDB API 操作的更多信息,请参阅 MemoryDB API 操作。
在创建接口 VPC 端点后,如果您为端点启用私有 DNS 主机名,则默认 MemoryDB 端点 (https://memorydb.Region
.amazonaws.com) 将解析为您的 VPC 端点。如果您尚未启用私有 DNS 主机名,则 Amazon VPC 将提供一个您可以使用的 DNS 端点名称,格式如下:
VPC_Endpoint_ID.memorydb.Region.vpce.amazonaws.com
有关更多信息,请参阅《Amazon VPC 用户指南》中的接口 VPC 终端节点 (Amazon PrivateLink)。MemoryDB 支持调用您的 VPC 中的所有 API 操作。
注意
只能为 VPC 中的一个 VPC 端点启用私有 DNS 主机名。如果要创建额外的 VPC 端点,则应为其禁用私有 DNS 主机名。
VPC 端点注意事项
在为 MemoryDB for Redis API 端点设置接口 VPC 端点之前,请务必查看 Amazon VPC 用户指南中的接口端点属性和限制。可以从使用 Amazon PrivateLink 的 VPC 中获取所有与管理 MemoryDB for Redis 资源相关的 MemoryDB API 操作。MemoryDB API 端点支持 VPC 端点策略。默认情况下,允许通过端点对 MemoryDB API 操作进行完全访问。有关更多信息,请参阅 Amazon VPC 用户指南中的使用 VPC 端点控制对服务的访问。
为 MemoryDB API 创建接口 VPC 端点
您可以使用 Amazon VPC 控制台或 Amazon CLI 为 MemoryDB for Redis API 创建 VPC 端点。有关更多信息,请参阅 Amazon VPC 用户指南中的创建接口端点
在创建接口 VPC 终端节点后,您可以为端点启用私有 DNS 主机名。当您执行此操作时,默认的 MemoryDB for Redis 端点 (https://memorydb.Region
.amazonaws.com) 将解析为您的 VPC 端点。有关更多信息,请参阅 Amazon VPC 用户指南中的通过接口端点访问服务。
为 Amazon MemoryDB API 创建 VPC 端点策略
您可以为 VPC 端点附加控制对 MemoryDB API 的访问的端点策略。此策略指定以下内容:
-
可执行操作的委托人。
-
可执行的操作。
-
可对其执行操作的资源。
有关更多信息,请参阅 Amazon VPC 用户指南中的使用 VPC 端点控制对服务的访问。
例 MemoryDB API 操作的 VPC 端点策略
下面是用于 MemoryDB API 的端点策略示例。当附加到端点时,此策略会向所有委托人授予对列出的针对所有资源的 MemoryDB API 操作的访问权限。
{ "Statement": [{ "Principal": "*", "Effect": "Allow", "Action": [ "memorydb:CreateCluster", "memorydb:UpdateCluster", "memorydb:CreateSnapshot" ], "Resource": "*" }] }
例 拒绝来自指定 Amazon 账户的所有访问的 VPC 端点策略
以下 VPC 终端节点策略拒绝 Amazon 账户 123456789012
所有使用终端节点访问资源的权限。此策略允许来自其他账户的所有操作。
{ "Statement": [{ "Action": "*", "Effect": "Allow", "Resource": "*", "Principal": "*" }, { "Action": "*", "Effect": "Deny", "Resource": "*", "Principal": { "AWS": [ "123456789012" ] } } ] }