如何将数据从 CloudWatch Logs 流式传输到另一个账户中基于 VPC 的 Amazon OpenSearch Service 集群?

2 分钟阅读
0

我正在尝试使用另一个账户中的虚拟私有云 (VPC) 将数据从 Amazon CloudWatch Logs 传输到 Amazon OpenSearch Service 集群。但是,我收到“请输入有效的 Amazon OpenSearch Service 端点”的错误消息。

简短描述

要将数据从 CloudWatch Logs 流式传输到另一个账户中的 OpenSearch Service 集群,请执行以下步骤:

1.    在账户 A 中设置 CloudWatch Logs。

2.    在账户 A 中配置 AWS Lambda。

3.    在账户之间配置 Amazon Virtual Private Cloud (Amazon VPC)。

解决方法

在账户 A 中设置 CloudWatch Logs

1.    在账户 A 中打开 CloudWatch Logs 控制台,然后选择您的日志组。

2.    选择操作

3.    选择创建 OpenSearch 订阅筛选器。

4.    对于选择账户选项,选择当前账户

5.    在 OpenSearch Service 集群下拉列表中,为账户 A 选择一个已有集群。

6.    选择有权调用所选 OpenSearch Service 集群的 Lambda IAM 执行角色

7.    将 AWSLambdaVPCAccessExecutionRole 策略附加到您的角色。

8.    在配置日志格式和筛选器中,选择您的日志格式订阅筛选器模式

9.    选择下一步

10.    输入订阅筛选器的名称,然后选择开始流式传输。有关流式传输的更多信息,请参阅将 CloudWatch Logs 数据流式传输到 Amazon OpenSearch Service

在账户 A 中配置 Lambda

1.    在账户 A 中,打开 Lambda 控制台

2.选择您为了对日志进行流式传输而创建的 Lambda 函数。

3.    在函数代码中,更新账户 B 中 OpenSearch Service 集群的端点变量。此更新允许 Lambda 函数向账户 B 中的 OpenSearch Service 域发送数据。

4.    选择配置

5.    选择 VPC

6.    在 VPC, 下选择编辑

7.    选择您的 VPC、子网和安全组。

**注意:**这种选择可确保 Lambda 函数在 VPC 内运行,使用 VPC 路由将数据发送回 OpenSearch Service 域。有关 Amazon Virtual Private Cloud (Amazon VPC) 配置的更多信息,请参阅配置 Lambda 函数以访问 VPC 中的资源

8.    选择保存

在账户之间配置 VPC 对等连接

1.    在账户 A 和账户 B 中打开 Amazon VPC 控制台

**注意:**确保您的 VPC 没有重叠的 CIDR 块。

2.    在两个自定义 VPC(Lambda 和 OpenSearch Service)之间创建 VPC 对等会话。此 VPC 对等会话允许 Lambda 向您的 OpenSearch Service 域发送数据。有关 VPC 对等连接的更多信息,请参阅创建 VPC 对等连接

3.    更新两个 VPC 的路由表。有关路由表的更多信息,请参阅更新 VPC 对等连接的路由表

4.    在账户 A 中,转到安全组

5.    选择分配至设有 Lambda 的子网的安全组。

注意: 在这种情况下,“安全组”是指子网网络 ACL。

6.    添加入站规则以允许来自 OpenSearch Service 子网的通信。

7.    在账户 B 中,选择分配至设有 OpenSearch Service 的子网的安全组。

8.    添加入站规则以允许来自 Lambda 子网的通信。

9.    在账户 B 中,打开 OpenSearch Service 控制台

10.    选择操作

11.    选择修改访问策略,然后附加以下策略:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {

    "AWS": "arn:aws:iam::<AWS Account A>:role/<Lambda Execution Role>"
      },
      "Action": "es:*",
      "Resource": "arn:aws:es:us-east-1: ::<AWS
    Account B>:domain/<OpenSearch Domain Name>/*"
    }
  ]
}

此策略允许 OpenSearch Service 通过 Lambda 函数的执行角色进行调用。

12.    在 Lambda 控制台中检查错误计数和成功率指标。此指标验证日志是否成功传输到 OpenSearch Service。

13.    检查 OpenSearch Service 中的索引率指标,确认数据是否已发送。CloudWatch Logs 现在可通过您的 Amazon VPC 中的两个账户进行流式传输。

AWS 官方
AWS 官方已更新 2 年前