AWS Firehose交付到VPC中的跨账户Elasticsearch

时间:2020-05-06 17:07:58

标签: amazon-web-services elasticsearch amazon-kinesis amazon-kinesis-firehose aws-elasticsearch

我在帐户A中运行的VPC中有一个Elasticsearch。

我想将日志从帐户B中的Firehose传递到帐户A中的Elasticsearch。

有可能吗?

当我尝试从AWS CLI创建交付流时,出现异常,

$: /usr/local/bin/aws firehose create-delivery-stream --cli-input-json file://input.json --profile devops
An error occurred (InvalidArgumentException) when calling the CreateDeliveryStream operation: Verify that the IAM role has access to the ElasticSearch domain.

当修改为账户B中的Elasticsearch时,相同的IAM角色和相同的input.json起作用。我在AWS账户之间启用了Transit网关连接,并且我可以从账户B中的EC2实例将telnet连接到账户A中的Elasticsearch

添加我完整的terraform代码(我在AWS CLI和Terraform中都遇到了相同的异常): https://gist.github.com/karthikeayan/a67e93b4937a7958716dfecaa6ff7767

2 个答案:

答案 0 :(得分:0)

您似乎没有为创建流时使用的角色授予足够的权限(从CLI示例中提供,我猜它的角色名为“ devops”)。至少您将需要firehose: CreateDeliveryStream

我建议为您的角色添加以下权限:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "firehose:PutRecord",
                "firehose:CreateDeliveryStream",
                "firehose:UpdateDestination"
            ],
            "Resource": "*"
        }
    ]
}

答案 1 :(得分:0)

https://vuejs.org/v2/guide/mixins.html

我从AWS论坛获悉当前不支持此功能。