代码之家  ›  专栏  ›  技术社区  ›  Adam Cooper

将ElasticSearch添加为AWS数据迁移服务的目标时,连接失败

  •  0
  • Adam Cooper  · 技术社区  · 3 年前

    我试图在DMS中设置ElasticSearch端点,但无论我在测试连接时尝试了什么,我都会遇到以下一般错误:

    测试终结点失败:应用程序状态:1020912,应用程序消息:终结点初始化失败。

    我创建了一个dms信任的角色。亚马逊。通用域名格式:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid": "1",
          "Effect": "Allow",
          "Principal": {
            "Service": "dms.amazonaws.com"
          },
          "Action": "sts:AssumeRole"
        }
      ]
    }
    

    并给予它所有的许可:

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "*"
                ],
                "Resource": "*"
            }
        ]
    }
    

    我还将我的Elasticsearch域配置为公共域,我可以连接到它并访问Kibana。

    我遵循了这个“教程”,但现在我被困在哪里寻找Elastic的日志/潜在问题。

    enter image description here

    0 回复  |  直到 3 年前
        1
  •  1
  •   Adam Cooper    3 年前

    事实证明,这里的原因是弹性url中的尾部斜杠。我将url设置为:

    https://my-elastic-search-name-1lllsyiodfokjalksnd.eu-west-1.es.amazonaws.com/
    

    当我切换到将url设置为:

    https://my-elastic-search-name-1lllsyiodfokjalksnd.eu-west-1.es.amazonaws.com
    

    一切都开始工作了··希望很快就能修复一个bug。

        2
  •  1
  •   ostrumvulpes    3 年前

    我遇到了同样的问题,不得不修改Elasticsearch域的访问策略,以允许附加到我的DMS目标端点的角色访问它。

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::{accountNumber}:role/{serviceRoleUsedForDmsTargetEndpoint}"
          },
          "Action": [
            "es:ESHttpDelete",
            "es:ESHttpGet",
            "es:ESHttpHead",
            "es:ESHttpPost",
            "es:ESHttpPut"
          ],
          "Resource": "{yourElasticsearchDomainArn}"
        }
      ]
    }
    

    这不是我通过教程/文档找到的解决方案,而是通过一个支持案例找到的。