本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
管理从 VPC 终端节点对 OpenSearch UI 的访问
您可以使用在 VPC 和 OpenSearch UI 之间创建私有连接 AWS PrivateLink。使用此连接,您可以像访问同一 VPC 一样访问 OpenSearch UI 应用程序。这样,您就无需配置互联网网关、NAT 设备、VPN 连接或 AWS Direct Connect 建立连接。您的 VPC 中的实例不需要公有 IP 地址即可访问 OpenSearch 界面。
要建立此私有连接,请先创建一个由提供支持的接口终端节点 AWS PrivateLink。在您为接口端点指定的每个子网中,都会自动创建一个端点网络接口。这些是请求者管理的网络接口,用作发往 OpenSearch UI 应用程序的流量的入口点。
在 VPC 和 OpenSearch 用户界面之间创建私有连接
您可以使用 AWS 管理控制台 或创建用于从 VPC 访问 OpenSearch 用户界面的私有连接 AWS CLI。
在 VPC 和 OpenSearch UI 之间创建私有连接(控制台)
使用控制台在 VPC 和 OpenSearch UI 之间创建私有连接
-
在https://console.aws.amazon.com/aos/家
中登录亚马逊 OpenSearch 服务控制台。 -
在左侧导航的无服务器项下,选择 VPC 端点。
-
选择创建 VPC 端点。
-
对于名称,输入端点的名称。
-
对于 VPC,请选择您将从中访问 OpenSearch 用户界面应用程序的 VPC。
-
对于子网,请选择一个您要从中访问 OpenSearch 用户界面应用程序的子网。
注意
端点的 IP 地址和 DNS 类型取决于子网类型:
-
双栈:如果所有子网都同时具有 IPv4 和 IPv6 地址范围。
-
IPv6: 如果所有子网都 IPv6 只是子网。
-
IPv4: 如果所有子网都有 IPv4 地址范围。
-
-
对于安全组,选择一个或多个要与端点网络接口关联的安全组。
注意
在此步骤中,您可以在该步骤中限制您授权进入端点的入站流量的端口、协议和源。确保安全组规则允许使用 VPC 终端节点与 OpenSearch UI 应用程序通信的资源也与终端节点网络接口通信。
-
8. 选择创建端点。
在 VPC 和 OpenSearch 用户界面之间创建私有连接 (AWS CLI)
要在 VPC 和 OpenSearch UI 之间创建私有连接,请使用 AWS CLI
运行如下命令。将 placeholder
values 替换为您自己的信息。
aws opensearchserverless create-vpc-endpoint \ --regionregion\ --endpointendpoint\ --namevpc_endpoint_name\ --vpc-idvpc_id\ --subnet-idssubnet_ids
更新 VPC 终端节点策略以允许访问 OpenSearch UI 应用程序
创建私有连接后,通过指定应用程序 ID 更新 VPC 终端节点策略以允许访问 VPC 终端节点策略中的 OpenSearch UI 应用程序。
有关更新 VPC 端点策略的信息,请参阅《AWS PrivateLink 指南》中的 Update a VPC endpoint policy。
确保 VPC 端点策略包含以下语句。将 placeholder value 替换为您自己的信息。
{ "Statement": [{ "Action": ["opensearch:*"], "Effect": "Allow", "Principal": "*", "Resource": "*", "Condition": { "StringEquals": { "opensearch:ApplicationId": ["opensearch-ui-application-id"] } } }] }
在 VPC 终端节点策略中撤消对 OpenSearch UI 的访问权限
OpenSearch 用户界面需要 VPC 终端节点策略中的明确权限才能允许用户从 VPC 访问应用程序。如果您不再希望用户从 VPC 访问用户 OpenSearch 界面,则可以在终端节点策略中删除该权限。此后,用户在尝试访问用户 OpenSearch 界面时会遇到403 forbidden错误消息。
有关更新 VPC 端点策略的信息,请参阅《AWS PrivateLink 指南》中的 Update a VPC endpoint policy。
以下是拒绝从 VPC 访问 UI 应用程序的 VPC 端点策略示例:
{ "Statement": [{ "Action": ["opensearch:*"], "Effect": "Allow", "Principal": "*", "Resource": "*", "Condition": { "StringEquals": { "opensearch:ApplicationId": [""] } } }] }