无法从EC2实例连接到AWS Elasticsearch实例

2024-06-16 09:12:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我在同一个vpc中有一个EC2实例和一个Elasticsearch实例。我正在尝试通过requests_aws4auth包和python elasticsearch连接器进行连接。在

host = cfg.AWS_HOST # For example, my-test-domain.us-east-1.es.amazonaws.com
region = cfg.AWS_REGION # e.g. us-west-1

service = 'es'

awsauth = AWS4Auth(cfg.AWS_ACCESS_KEY, cfg.AWS_SECRET_KEY, region, service)

es = Elasticsearch(
hosts = [{'host': host, 'port': 443}],
http_auth = awsauth,
use_ssl = True,
verify_certs = True,
connection_class = RequestsHttpConnection
)

我在尝试连接时遇到这个错误

^{pr2}$

Tags: 实例keyawstruehostesserviceelasticsearch
2条回答

您可能还需要将会话令牌信息作为参数传递。在

像这样。。在

auth = AWS4Auth(credentials.access_key, credentials.secret_key, 
              region, service, session_token=credentials.token)

如图here

如果您在同一专有网络内连接,您不希望使用外部主机地址。相反,根据您的ES设置,使用弹性机器的内部ip或内部负载平衡器。在

相关问题 更多 >