标签: aws-elasticsearch

通过邮递员使用AWS4签名进行CRUD弹性操作

我正在尝试使用AWS4签名方法将数据发布到AWS管理的Elasticsearch.我想通过postman pre-script实现这一目标.我尝试使用下面的脚本,它完美地用于弹性搜索的GET操作,但它不适用于POST或PUT或DELETE操作并继续给我一个错误消息,签名与POST操作不匹配.有人可以帮助我修复邮差中的前脚本吗?

var date = new Date().toISOString();
var amzdate = date.replace(/[:\-]|\.\d{3}/g, "");
var dateStamp = amzdate.slice(0, -8);

pm.environment.set('authorization', getAuthHeader(request.method, request.url, request.data));
pm.environment.set('xAmzDate', amzdate);

function getPath(url) {
    var pathRegex = /.+?\:\/\/.+?(\/.+?)(?:#|\?|$)/;
    var result = url.match(pathRegex);
    return result && result.length > 1 ? result[1] : '';
}

function getQueryString(url) {
    var arrSplit = url.split('?');
    return arrSplit.length > 1 ? url.substring(url.indexOf('?') + 1) : '';
}

function getSignatureKey(secretKey, dateStamp, regionName, serviceName) {
    var kDate = sign("AWS4" + secretKey, dateStamp);
    var kRegion = sign(kDate, …
Run Code Online (Sandbox Code Playgroud)

javascript amazon-web-services elasticsearch postman aws-elasticsearch

7
推荐指数
1
解决办法
370
查看次数

AWS 控制台中的 Elastic Search 更新服务软件发布

在 AWS 控制台中按下更新服务软件版本后,出现以下消息:已请求发布 ******** 的更新,但正在等待。在更新开始之前,您可以随时取消。”

现在我等了 1 天 - 仍然悬而未决。

任何想法需要多长时间,或者我需要做什么才能将其从待处理状态转移到更新状态,以及我是否应该预计更新过程中会出现任何停机时间,请在此处输入图像描述

amazon-web-services elasticsearch aws-elasticsearch

7
推荐指数
1
解决办法
1349
查看次数

如何将 AWS Elasticsearch 移动到另一个账户

我正在将每个服务下的所有实例从旧的 AWS 账户移动到新的 AWS 账户。我找到了将 EC2 和 RDS 移动到另一个帐户的方法。

  • 为了移动 EC2 实例,我创建了一个 AMI 并与新的 AWS 账户共享。使用该图像我创建了一个实例
  • 为了移动 RDS 实例,我创建了一个快照并与新的 AWS 账户共享。我已在新帐户中恢复了共享快照

现在我需要将 Elasticsearch 从旧帐户移动到新帐户。我无法找到移动 Elasticsearch 的方法。谁可以帮我这个事?

amazon-web-services aws-elasticsearch

6
推荐指数
1
解决办法
3096
查看次数

AWS Elasticsearch服务获取NodeId(实例ID)

我使用 Terraform 预置 AWS Elasticsearch 服务,并希望使用 Terraform 为某些指标(例如 CPU 使用率等)设置 CloudWatch 警报。

为了做到这一点,我必须投入NodeId资源aws_cloudwatch_metric_alarm在此输入图像描述

问题是aws_elasticsearch_domain资源没有合适的属性引用

而且我还没有在aws es cli https://docs.aws.amazon.com/cli/latest/reference/es/index.html中找到任何合适的内容

有什么想法如何让它NodeId在 Terraform 中使用吗?

aws-elasticsearch

6
推荐指数
1
解决办法
1057
查看次数

通过 CloudFormation 部署的 AWS Elasticsearch 域。如何在不更换的情况下更新 ES 版本?

我们有一个通过 CloudFormation 创建的 AWS Elasticsearch 域,运行 ES 6.3 版。当我们更新ElasticsearchVersion模板中的属性时,它会用一个运行新版本的新域替换 Elasticsearch 域,而不是更新现有域。

如果不进行就地升级,如何升级使用 CF 部署的 Elasticsearch 域?我现在几乎在想我需要通过 boto3 创建和管理我的 ES 域。

任何见解或想法将不胜感激。

aws-cloudformation aws-elasticsearch

6
推荐指数
2
解决办法
1322
查看次数

AWS ElasticSearch 控制台:如何访问我的 ES 域中的索引选项卡

我无法在 AWS ElasticSearch 控制台中访问我的 ES 域的索引选项卡。这是它在控制台中的样子:

在此处输入图片说明

即使我将我的 IAM ARN (arn:aws:iam::NNNNNNNNNNNNNN:root) 添加到控制台的访问策略中,我仍然收到此错误:

/_stats: {
    "error":{
      "root_cause":[
         {
            "type":"security_exception",
            "reason":"no permissions for [indices:monitor/stats] and User [name=arn:aws:iam::NNNNNNNNNNNNN:root, backend_roles=[], requestedTenant=null]"
         }
      ],
      "type":"security_exception",
      "reason":"no permissions for [indices:monitor/stats] and User [name=arn:aws:iam::NNNNNNNNNNNNN:root, backend_roles=[], requestedTenant=null]"
   },
   "status":403
}
Run Code Online (Sandbox Code Playgroud)

知道出了什么问题吗?该域也具有使用主密码的访问控制。

amazon-web-services elasticsearch amazon-iam aws-elasticsearch

6
推荐指数
2
解决办法
3125
查看次数

Logstash 在与 AWS Elasticservice 连接时抛出 401

我有 AWS Elastic 服务域设置,我正在尝试通过 Logstash 将一些数据从 ec2 实例推送到 AWS elasticservice。

我已经使用Open access policy - Allow all traffic. 我还启用Fine Grained Control并设置了一个master user帐户来访问 AWS ES 服务。

Kibana对于常规调用来说,这一切都可以正常工作cURL,但是logstash 会因请求发送到https://<my_es_hostname>/_license响应而失败401

我无法弄清楚为什么会发生这个电话。当我尝试在浏览器中点击这个时,我得到{"Message":"Your request: '/_license' is not allowed."}

这是我从logstash 获得的示例日志:

[INFO ] 2021-06-02 11:40:18.858 [[main]-pipeline-manager] elasticsearch - New Elasticsearch output {:class=>"LogStash::Outputs::ElasticSearch", :hosts=>["https://<host-name-partxxxx>.us-east-2.es.amazonaws.com:443"]}
[INFO ] 2021-06-02 11:40:19.902 [[main]-pipeline-manager] elasticsearch - Elasticsearch pool URLs updated {:changes=>{:removed=>[], :added=>[https://<username>:<password>@<host-name-partxxxx>.us-east-2.es.amazonaws.com:443/]}}
[WARN ] 2021-06-02 11:40:20.760 [[main]-pipeline-manager] elasticsearch - …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services elasticsearch logstash aws-elasticsearch

6
推荐指数
1
解决办法
3370
查看次数

可以在 ElasticSearch/Kibana 中漂亮地打印 JSON 日志消息

我的日志由 ElasticSearch 从应用程序服务器的标准输出建立索引。无需修改写入日志的源,是否可以“漂亮地打印”任何 JSON 日志消息?如果我尝试从记录器中漂亮地打印 JSON,则每一行都会在 ES 中记录为单独的条目。

如果没有,我的 Kibana/OpenSearch 仪表板中会显示此消息,如下所示:

在此输入图像描述

我们使用最新的 AWS OpenSearch 1.1。

elasticsearch kibana aws-elasticsearch

6
推荐指数
0
解决办法
720
查看次数

使用 AWS Cognito 连接到基于 VPC 的 Kibana

我是 AWS 的初学者,对 AWS Cognito 系统有点困惑。

我在 VPC 后面有一个 AWS Elasticsearch 服务。我正在尝试使用 AWS Cognito 访问 Kibana 端点,但是当我导航到登录屏幕时,我看到一个空白页面。

我正在尝试做的事情是否可行,或者我是否需要先通过 VPN 进入 VPC 才能进入登录屏幕?如果是这样,我如何授予公共用户访问 Kibana 的权限(没有 VPN 的麻烦?)更好的解决方案是将反向代理指向 Kibana 并将其与 AWS Cognito 结合使用吗?谢谢你的帮助。

注意:我使用的是 Elasticsearch 6.2

amazon-web-services kibana aws-cognito aws-elasticsearch

5
推荐指数
1
解决办法
2675
查看次数

使用密钥凭证连接到 AWS 中的 Elasticsearch

我正在尝试使用我的accessKey和secretKey使用curl向我在AWS中的es集群发布请求。我已经通过邮递员成功完成了此操作(详细信息请参见此处),您可以在其中指定 AWS 凭证,但我想使用curl 来完成此操作。邮递员可以为您自动生成您的卷曲请求,但我得到的只是错误。

这是生成的curl请求和响应

curl -X GET \
  https://search-00000000000001.eu-west-1.es.amazonaws.com/_cat/indices \
  -H 'Authorization: AWS4-HMAC-SHA256 Credential=11111111111111111111/20181119/eu-west-1/es/aws4_request, SignedHeaders=cache-control;content-type;host;postman-token;x-amz-date, Signature=11111111116401882398f46011f14fdb9d55e012a4fb912706d67c1111111111' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H 'Host: search-00000000000001.eu-west-1.es.amazonaws.com' \
  -H 'Postman-Token: 00000000-0000-4001-8006-9291e208a000' \
  -H 'X-Amz-Date: 20181119T220000Z' \
  -H 'cache-control: no-cache'

{"message":"The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details."}%
Run Code Online (Sandbox Code Playgroud)

为了保护无辜者,身份证已被更改。

我已经检查了我所有的密钥和区域,就像我说的,这可以通过邮递员进行。是否可以通过curl 使用我的密钥访问此AWS 服务?

curl amazon-web-services elasticsearch aws-elasticsearch

5
推荐指数
1
解决办法
1万
查看次数