← Semua pembelajaran / AWS untuk AI Engineer
Fase 7 · Observability, Biaya & Evaluasi

Model invocation logging

Berbeda dari CloudTrail yang mencatat siapa memanggil apa, invocation logging mencatat isi permintaan dan jawabannya. Ini alat debugging terbaik sekaligus risiko privasi terbesar.

Intisari

  • Mencatat data permintaan, respons, dan metadata untuk seluruh pemanggilan di satu region.
  • Mati secara default. Setelah dinyalakan, log tersimpan sampai konfigurasinya dihapus.
  • Tujuan: CloudWatch Logs dan/atau S3 — harus di akun dan region yang sama.
  • Hanya untuk panggilan lewat endpoint bedrock-runtime.
  • Data gambar dan dokumen dari Converse dicatat ke S3 bila pengiriman dan logging gambar diaktifkan.

Bedanya dengan CloudTrail

CloudTrailModel invocation logging
MencatatSiapa memanggil apa, kapan, dari manaIsi prompt dan isi respons
DefaultAktif (event management)Mati
Risiko privasiRendahTinggi
Dipakai untukAudit dan tata kelolaDebugging, evaluasi, analisis kualitas

Mengaktifkan

kelola = boto3.client("bedrock")

kelola.put_model_invocation_logging_configuration(
    loggingConfig={
        "cloudWatchConfig": {
            "logGroupName": "/aws/bedrock/invocations",
            "roleArn": "arn:aws:iam::123456789012:role/BedrockLoggingRole",
            "largeDataDeliveryS3Config": {"bucketName": "bedrock-log-besar"},
        },
        "s3Config": {"bucketName": "bedrock-log-arsip", "keyPrefix": "invocations/"},
        "textDataDeliveryEnabled": True,
        "imageDataDeliveryEnabled": False,      # matikan kalau tidak dibutuhkan
        "embeddingDataDeliveryEnabled": False,
    }
)

Ini keputusan privasi, bukan keputusan operasional. Menyalakannya berarti setiap pertanyaan yang diketik pengguna — termasuk yang mengandung data pribadi — tersimpan di akunmu, dan tetap tersimpan sampai konfigurasinya dihapus. Sebelum menyalakan: tetapkan retensi, tetapkan siapa yang boleh membaca, enkripsi tujuannya, dan pastikan kebijakan privasimu memang mengizinkannya.

Pengaman yang harus menyertainya

PengamanCara
Retensi terbatasRetensi log group CloudWatch, S3 Lifecycle
EnkripsiKunci KMS milikmu untuk log group dan bucket
Akses sempitHanya role investigasi yang boleh membaca
Sensor PIIComprehend sebelum data masuk prompt, karena log mencatat apa adanya
Alarm bila dimatikanCloudTrail + EventBridge pada PutModelInvocationLoggingConfiguration

Menanyakan log

fields @timestamp, modelId,
       input.inputTokenCount   as token_masuk,
       output.outputTokenCount as token_keluar
| filter output.outputTokenCount > 2000
| sort @timestamp desc
| limit 50

Beberapa pertanyaan yang cuma bisa dijawab dari sini:

Bahan evaluasi

Manfaat jangka panjang terbesarnya: log ini adalah sumber dataset evaluasi nyata. Pertanyaan yang benar-benar ditanyakan pengguna jauh lebih berharga daripada pertanyaan yang kamu karang sendiri. Ambil sampel berkala, sensor, beri jawaban acuan, dan pakai sebagai dataset uji di materi evaluasi.

TujuanCocok untuk
CloudWatch LogsInvestigasi cepat, Logs Insights, alarm
S3Arsip murah, analisis Athena, sumber dataset evaluasi
KeduanyaPola yang lazim di produksi

Latihan: aktifkan invocation logging ke CloudWatch dengan retensi 7 hari. Jalankan lima pertanyaan, lalu cari lewat Logs Insights mana yang menghasilkan token keluaran terbanyak. Terakhir, pasang rule EventBridge yang memberi tahu kalau konfigurasi logging ini diubah atau dimatikan.

Rangkuman ini sengaja dipangkas ke bagian yang dipakai di roadmap. Buka sumber aslinya saat kamu butuh detail lengkap atau referensi parameter.