本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用界面端點存取 Amazon OpenSearch 無伺服器 ()AWS PrivateLink
您可以使 AWS PrivateLink 用在 VPC 和 Amazon OpenSearch 無伺服器之間建立私人連線。您可以像在 VPC 中一樣存取 OpenSearch 無伺服器,而無需使用網際網路閘道、NAT 裝置、VPN 連線或 AWS Direct Connect 連線。VPC 中的執行個體不需要公用 IP 位址即可存取無 OpenSearch 伺服器。
您可以建立由 AWS PrivateLink提供支援的介面端點來建立此私有連線。我們會在您為介面端點指定的每個子網路中建立端點網路介面。這些是由請求者管理的網路介面,可做為無伺服器流量的進入點。 OpenSearch
如需詳細資訊,請參閱《AWS PrivateLink 指南》中的透過 AWS PrivateLink存取 AWS 服務。
收集端點的 DNS 解析
建立 VPC 端點時,服務會建立新的 Amazon Route 53 私有託管區域並將其附加至 VPC。此私有託管區域由一筆記錄組成,可將 OpenSearch 無伺服器集合 (*.aoss.us-east-1.amazonaws.com
) 的萬用字元 DNS 記錄解析為用於端點的介面位址。您只需要 VPC 中的一個 OpenSearch 無伺服器 VPC 端點即可存取每個端點中的任何和所有集合和儀表板。 AWS 區域每個具有 OpenSearch 無伺服器端點的 VPC 都附加了自己的私有託管區域。
OpenSearch 無伺服器也會為區域中的所有系列建立公用 Route 53 萬用字元 DNS 記錄。DNS 名稱會解析為 OpenSearch 無伺服器公用 IP 位址。VPC 中沒有 OpenSearch 無伺服器 VPC 端點或公用網路中的用戶端的用戶端可以使用公用 Route 53 解析器,並使用這些 IP 位址存取集合和儀表板。VPC 端點的 IP 位址類型 (IPv4、IPv6 或 Dualstack) 是根據您為無伺服器建立介面端點時提供的子網路來決定。 OpenSearch
注意
您可以使用中update-vpc-endpoint的命令,將現有的 IPv4 VPC 端點更新為雙堆疊。 AWS CLI
指定虛擬私人雲端的 DNS 解析器位址是 VPC 人雲端 CIDR 的 VPC 二個 IP 位址。VPC 中的任何用戶端都需要使用該解析器來取得任何集合的 VPC 端點位址。解析器使用由 OpenSearch 無服務器創建的私有託管區域。對任何帳戶中的所有集合使用該解析器就足夠了。您也可以將 VPC 解析器用於某些收集端點,並為其他端點使用公開解析程式,但通常不需要這樣做。
VPC 和網路存取原則
若要為集合授與 OpenSearch API 和儀表板的網路權限,您可以使用 OpenSearch 無伺服器網路存取原則。您可以從 VPC 端點或公用網際網路控制此網路存取。由於您的網路原則僅控制流量權限,因此您還必須設定資料存取原則,以指定對集合中的資料及其索引進行操作的權限。將 OpenSearch 無伺服器 VPC 端點視為服務的存取點,將網路存取原則視為集合和儀表板的網路層級存取點,而資料存取原則則則則是針對集合中資料的任何作業進行精細存取控制的存取點。
由於您可以在網路原則中指定多個 VPC 端點 ID,因此建議您為每個需要存取集合的 VPC 建立 VPC 端點。這些 VPC 可以屬於擁有 OpenSearch 無伺服器集合和網路原則的帳戶不同 AWS 的帳戶。我們不建議您在兩個帳戶之間建立虛擬私人雲端對等或其他 Proxy 解決方案,以便一個帳戶的 VPC 可以使用另一個帳戶的 VPC 端點。與擁有自己端點的每個 VPC 相比,這樣的安全性和成本效益較低。其他 VPC 的管理員無法輕易看到第一個 VPC,他們已在網路政策中設定對該 VPC 端點的存取權。
VPC 和端點原則
Amazon OpenSearch 無伺服器支援虛擬私人雲端的端點政策。端點政策是一種基於 IAM 資源的政策,您可以將其連接到 VPC 端點,以控制哪些 AWS 主體可以使用端點存取您的服務。 AWS 如需詳細資訊,請參閱使用端點策略控制對 VPC 端點的存取。
若要使用端點策略,您必須先建立介面端點。您可以使用無伺服器主控台或 OpenSearch 無伺服器 API 建立介面端點。 OpenSearch 建立介面端點之後,您需要將端點原則新增至端點。如需詳細資訊,請參閱使用界面端點存取 Amazon OpenSearch 無伺服器 (AWS PrivateLink)。
注意
您無法直接在 OpenSearch 服務主控台中定義端點策略。
端點策略不會覆寫或取代您可能已設定的其他身分型政策、以資源為基礎的策略、網路策略或資料存取策略。如需更新端點策略的詳細資訊,請參閱使用端點策略控制對 VPC 端點的存取。
依預設,端點原則會授與 VPC 端點的完整存取權。
{ "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "*", "Resource": "*" } ] }
雖然預設 VPC 端點原則授與完整端點存取權,但您可以設定 VPC 端點原則以允許存取特定角色和使用者。若要這麼做,請參閱下列範例:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "
123456789012
", "987654321098
" ] }, "Action": "*", "Resource": "*" } ] }
您可以指定要包含在 VPC 端點策略中作為條件元素的 OpenSearch 無伺服器集合。若要這麼做,請參閱下列範例:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "*", "Resource": "*", "Condition": { "StringEquals": { "aws:CollectionName": [ "
coll-abc
" ] } } } ] }
您可以在 VPC 端點原則中使用 SAML 身分識別來判斷 VPC 端點存取。您必須在 VPC 端點策略(*)
的主體區段中使用萬用字元。若要這麼做,請參閱下列範例:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "*", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:SamlGroups": [ "
saml/123456789012/idp123/group/football
", "saml/123456789012/idp123/group/soccer
", "saml/123456789012/idp123/group/cricket
" ] } } } ] }
此外,您可以設定端點原則以包含特定的 SAML 主體原則。若要這麼做,請參閱下列內容:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "*", "Resource": "*", "Condition": { "StringEquals": { "aws:SamlPrincipal": [ "
saml/123456789012/idp123/user/user1234
"] } } } ] }
如需將 SAML 身份驗證與 Amazon 無伺服器搭配使用的詳細資訊,請參閱適用於 Amazon OpenSearch 無伺服器的 SAML 身份驗證。 OpenSearch
您也可以在相同的 VPC 端點政策中包含 IAM 和 SAML 使用者。若要這麼做,請參閱下列範例:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "*", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:SamlGroups": [ "
saml/123456789012/idp123/group/football
", "saml/123456789012/idp123/group/soccer
", "saml/123456789012/idp123/group/cricket
" ] } } }, { "Effect": "Allow", "Principal": { "AWS": [ "123456789012
" ] }, "Action": "*", "Resource": "*" } ] }
考量事項
在為 OpenSearch 無伺服器設定介面端點之前,請考慮下列事項:
-
OpenSearch 無伺服器支援透過介面端點呼叫所有支援OpenSearch 的 API 作業 (非組態 API 作業)。
-
建立 OpenSearch 無伺服器的介面端點之後,您仍需要將其包含在網路存取原則中,才能存取無伺服器集合。
-
依預設,允許透過介面端點完整存取 OpenSearch 無伺服器。您可以將安全群組與端點網路介面建立關聯,以透過介面端點控制傳送至 OpenSearch 無伺服器的流量。
-
每個端點最多 AWS 帳戶 可以有 50 個 OpenSearch 無伺服器 VPC 端點。
-
如果您在網路原則中啟用公用網際網路存取集合的 API 或儀表板,則任何 VPC 和公用網際網路都可以存取您的集合。
-
如果您位於內部部署和 VPC 以外,則無法直接將 DNS 解析器用於 OpenSearch 無伺服器 VPC 端點解析。如果您需要 VPN 存取,則 VPC 需要 DNS 代理解析程式供外部用戶端使用。Route 53 提供輸入端點選項,可用於從內部部署網路或其他 VPC 解析對 VPC 的 DNS 查詢。
-
OpenSearch 無伺服器建立並附加至 VPC 的私有託管區域由服務管理,但會顯示在您的 Amazon Route 53 資源中,並從您的帳戶中收取費用。
-
如需其他考量,請參閱《AWS PrivateLink 指南》中的考量事項。
必要許可
OpenSearch 無伺服器的 VPC 存取使用下列 AWS Identity and Access Management (IAM) 許可。您可以指定 IAM 條件,將使用者限制在特定集合內。
-
aoss:CreateVpcEndpoint
:建立 VPC 端點。 -
aoss:ListVpcEndpoints
:列出所有 VPC 端點。 -
aoss:BatchGetVpcEndpoint
:查看有關 VPC 端點子集的詳細資訊。 -
aoss:UpdateVpcEndpoint
:修改 VPC 端點。 -
aoss:DeleteVpcEndpoint
:刪除 VPC 端點。
此外,您需要下列 Amazon EC2 和 Route 53 許可,才能建立 VPC 端點。
-
ec2:CreateTags
-
ec2:CreateVpcEndpoint
-
ec2:DeleteVpcEndPoints
-
ec2:DescribeSecurityGroups
-
ec2:DescribeSubnets
-
ec2:DescribeVpcEndpoints
-
ec2:DescribeVpcs
-
ec2:ModifyVpcEndPoint
-
route53:AssociateVPCWithHostedZone
-
route53:ChangeResourceRecordSets
-
route53:CreateHostedZone
-
route53:DeleteHostedZone
-
route53:GetChange
-
route53:GetHostedZone
-
route53:ListHostedZonesByName
-
route53:ListHostedZonesByVPC
-
route53:ListResourceRecordSets
建立 OpenSearch 無伺服器的介面端點
您可以使用主控台或 OpenSearch 無伺服器 API 為無伺服 OpenSearch 器建立介面端點。
建立 OpenSearch 無伺服器集合的介面端點
-
打開 Amazon OpenSearch 服務控制台 https://console.aws.amazon.com/aos/home
. -
在左側導覽窗格中,展開 Serverless (無伺服器),然後選擇 VPC endpoints (VPC 端點)。
-
選擇 Create VPC endpoint (建立 VPC 端點)。
-
提供端點的名稱。
-
對於 VPC,請選取您要從中存取 OpenSearch 無伺服器的 VPC。
-
對於子網路,請選取一個您要從中存取 OpenSearch 無伺服器的子網路。
-
端點的 IP 位址和 DNS 類型取決於子網路類型
-
雙堆疊:如果所有子網路同時具有 IPv4 和 IPv6 位址範圍
-
IPv6:如果所有子網路都只有 IPv6 子網路
-
IPv4:如果所有子網路都有 IPv4 位址範圍
-
-
-
對於 Security group (安全群組),選取要與端點網路介面建立關聯的安全群組。這是一個關鍵步驟,其中您需限制正授權進入端點之傳入流量的連接埠、通訊協定和來源。請確定安全群組規則允許將使用 VPC 端點的資源與 OpenSearch 無伺服器通訊,以便與端點網路介面進行通訊。
-
選擇建立端點。
若要使用 OpenSearch 無伺服器 API 建立 VPC 端點,請使用指CreateVpcEndpoint
令。
注意
建立端點後,請記下其 ID (例如 vpce-050f79086ee71ac05
)。若要提供端點存取權給您的集合,您必須在一個或多個網路存取政策中包含此 ID。
下一步:授予端點存取權給集合
建立介面端點後,您必須透過網路存取政策,為其提供集合的存取權。如需詳細資訊,請參閱 Amazon OpenSearch 無伺服器的網路存取。