要使用 AWS Elasticsearch VPC 端点和私有 VPC 域名,可以按照以下步骤进行设置:
在 AWS 控制台上创建一个 VPC,或者使用现有的 VPC。
在 VPC 子网中创建一个或多个子网,并确保它们与你的 Elasticsearch 集群在同一个 VPC 内。
在 VPC 的路由表中添加一个或多个路由,以确保 Elasticsearch 的流量可以正确路由到 VPC 子网。
在 AWS 控制台上创建一个 Elasticsearch 集群,并选择使用 VPC。确保选择的 VPC 与你在第 1 步中创建的 VPC 相同。
在 VPC 子网中创建一个或多个安全组,并将其与 Elasticsearch 集群相关联。确保安全组允许必要的流量进出。
现在,你可以使用以下代码示例来访问 AWS Elasticsearch VPC 端点和私有 VPC 域名:
import boto3
from requests_aws4auth import AWS4Auth
from elasticsearch import Elasticsearch, RequestsHttpConnection
# 获取 AWS 安全凭证
session = boto3.Session()
credentials = session.get_credentials()
awsauth = AWS4Auth(credentials.access_key, credentials.secret_key, session.region_name, 'es', session_token=credentials.token)
# 创建 Elasticsearch 连接
es = Elasticsearch(
hosts=[{'host': '', 'port': 443}],
http_auth=awsauth,
use_ssl=True,
verify_certs=True,
connection_class=RequestsHttpConnection
)
# 在 Elasticsearch 上执行查询
result = es.search(index='your-index', body={'query': {'match_all': {}}})
# 处理查询结果
for hit in result['hits']['hits']:
print(hit['_source'])
请确保将
替换为你的 AWS Elasticsearch VPC 端点。这将允许你使用 AWS 安全凭证与 Elasticsearch 进行身份验证,并使用私有 VPC 域名连接到 Elasticsearch 集群。