프로젝트 데이터 스토리지 - Amazon CloudWatch

프로젝트 데이터 스토리지

Evidently는 다음과 같은 두 가지 유형의 이벤트를 수집합니다.

  • 평가 이벤트는 사용자 세션에 할당된 기능 변형과 관련이 있습니다. Evidently는 이러한 이벤트를 사용하여 지표, 기타 실험 및 출시 데이터를 생성하며, 생성된 결과물은 Evidently 콘솔에서 볼 수 있습니다.

    또한 Amazon CloudWatch Logs 또는 Amazon S3에 이러한 평가 이벤트를 저장하도록 할 수 있습니다.

  • 사용자 지정 이벤트는 클릭 및 체크아웃 등의 사용자 작업에서 지표를 생성하는 데 사용됩니다. Evidently는 사용자 지정 이벤트를 저장하는 방법을 제공하지 않습니다. 해당 이벤트를 저장하려면 애플리케이션 코드를 수정해 Evidently 외부의 스토리지 옵션으로 전송해야 합니다.

평가 이벤트 로그 형식

CloudWatch Logs 또는 Amazon S3에서 평가 이벤트 저장을 선택하면 각 평가 이벤트가 다음과 같은 형식의 로그 이벤트로 저장됩니다.

{ "event_timestamp": 1642624900215, "event_type": "evaluation", "version": "1.0.0", "project_arn": "arn:aws:evidently:us-east-1:123456789012:project/petfood", "feature": "petfood-upsell-text", "variation": "Variation1", "entity_id": "7", "entity_attributes": {}, "evaluation_type": "EXPERIMENT_RULE_MATCH", "treatment": "Variation1", "experiment": "petfood-experiment-2" }

앞의 평가 이벤트 형식에 대한 자세한 내용은 다음과 같습니다.

  • 타임스탬프는 밀리초 단위의 UNIX 시간입니다.

  • 변형은 이 사용자 세션에 할당된 기능의 변형 이름입니다.

  • 엔터티 ID는 문자열입니다.

  • 엔터티 속성은 클라이언트 측에서 보낸 임의 값 해시입니다. 예: entityId가 파란색 또는 녹색으로 매핑되면 userID, 세션 데이터 또는 상관관계 및 데이터 웨어하우스 관점에서 원하는 항목을 선택적으로 보낼 수 있습니다.

Amazon S3의 평가 이벤트 스토리지에 대한 IAM 정책 및 암호화

Amazon S3를 사용하여 평가 이벤트를 저장하려는 경우 Evidently에서 Amazon S3 버킷에 로그를 게시할 수 있도록 다음과 같은 IAM 정책을 추가해야 합니다. Amazon S3 버킷과 버킷에 포함된 객체는 비공개이며 기본적으로 다른 서비스에 대한 액세스를 허용하지 않기 때문입니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSLogDeliveryWrite", "Effect": "Allow", "Principal": {"Service": "delivery.logs.amazonaws.com"}, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::bucket_name/optional_folder/AWSLogs/account_id/*", "Condition": {"StringEquals": {"s3:x-amz-acl": "bucket-owner-full-control"}} }, { "Sid": "AWSLogDeliveryCheck", "Effect": "Allow", "Principal": {"Service": "delivery.logs.amazonaws.com"}, "Action": ["s3:GetBucketAcl", "s3:ListBucket"], "Resource": "arn:aws:s3:::bucket_name" } ] }

Amazon S3에 Evidently 데이터를 저장하는 경우 AWS Key Management Service 키(SSE-KMS)로 서버 측 암호화를 사용하여 데이터를 암호화하도록 선택할 수도 있습니다. 자세한 내용은 서버 측 암호화를 사용하여 데이터 보호를 참조하세요.

AWS KMS에서 고객 관리형 키를 사용하는 경우 키에 대한 IAM 정책에 다음을 추가해야 합니다. 이를 통해 Evidently는 버킷에 쓸 수 있습니다.

{ "Sid": "AllowEvidentlyToUseCustomerManagedKey", "Effect": "Allow", "Principal": { "Service": [ "delivery.logs.amazonaws.com" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }