プロジェクトデータストレージ - Amazon CloudWatch

プロジェクトデータストレージ

Evidently は次の 2 つのタイプのイベントを収集します。

  • 評価イベントは、ユーザーセッションに割り当てられる機能のバリエーションに関連しています。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 を使用して評価イベントを保存する場合、次のような IAM ポリシーを追加して、Evidently が Amazon S3 バケットにログを公開できるようにする必要があります。これは、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" } ] }

Evidently データを Amazon S3 に保存する場合は、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": "*" }