CloudWatch Logs의 데이터를 다른 계정의 VPC 기반 Amazon OpenSearch Service 클러스터로 스트리밍하려면 어떻게 해야 합니까?

3분 분량
0

다른 계정의 Virtual Private Cloud(VPC)를 사용하여 Amazon CloudWatch Logs의 데이터를 Amazon OpenSearch Service 클러스터로 스트리밍하려고 합니다. 하지만 “유효한 Amazon OpenSearch 서비스 엔드포인트를 입력하십시오.”라는 오류 메시지가 나타납니다.

간략한 설명

CloudWatch 로그에서 다른 계정의 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.    구독 필터 이름을 입력하고 스트리밍 시작을 선택합니다. 스트리밍에 대한 자세한 내용은 Amazon OpenSearch 서비스로 CloudWatch Logs 데이터 스트리밍을 참조하십시오.

계정 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) 구성에 대한 자세한 내용은 VPC의 리소스에 액세스하도록 Lambda 함수 구성을 참조하십시오.

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년 전