View a markdown version of this page

Log akses untuk Amazon VPC Lattice - Amazon VPC Lattice

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Log akses untuk Amazon VPC Lattice

Log akses menangkap informasi terperinci tentang layanan VPC Lattice dan konfigurasi sumber daya Anda. Anda dapat menggunakan log akses ini untuk menganalisis pola lalu lintas dan mengaudit semua layanan dalam jaringan. Untuk layanan VPC Lattice, kami menerbitkan VpcLatticeAccessLogs dan untuk konfigurasi sumber daya, kami menerbitkan VpcLatticeResourceAccessLogs yang perlu dikonfigurasi secara terpisah.

Log akses bersifat opsional dan dinonaktifkan secara default. Setelah Anda mengaktifkan log akses, Anda dapat menonaktifkannya kapan saja.

Harga

Biaya berlaku saat log akses dipublikasikan. Log yang AWS diterbitkan secara asli atas nama Anda disebut log yang dijual. Untuk informasi selengkapnya tentang penetapan harga untuk log yang dijual, lihat CloudWatch Harga Amazon, pilih Log, dan lihat harga di bawah Log yang Di jual.

Izin IAM diperlukan untuk mengaktifkan log akses

Untuk mengaktifkan log akses dan mengirim log ke tujuannya, Anda harus memiliki tindakan berikut dalam kebijakan yang dilampirkan ke pengguna, grup, atau peran IAM yang Anda gunakan.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "ManageVPCLatticeAccessLogSetup", "Action": [ "logs:CreateLogDelivery", "logs:GetLogDelivery", "logs:UpdateLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries", "vpc-lattice:CreateAccessLogSubscription", "vpc-lattice:GetAccessLogSubscription", "vpc-lattice:UpdateAccessLogSubscription", "vpc-lattice:DeleteAccessLogSubscription", "vpc-lattice:ListAccessLogSubscriptions" ], "Resource": [ "*" ] } ] }

Untuk informasi selengkapnya, lihat Men ambahkan dan menghapus izin identitas IAM di Panduan AWS Identity and Access Management Pengguna.

Setelah memperbarui kebijakan yang dilampirkan ke pengguna, grup, atau peran IAM yang Anda gunakan, buka. Aktifkan log akses

Akses tujuan log

Anda dapat mengirim log akses ke tujuan berikut.

CloudWatch Log Amazon
  • VPC Lattice biasanya mengirimkan log ke CloudWatch Log dalam waktu 2 menit. Namun, perlu diingat bahwa waktu pengiriman log yang sebenarnya didasarkan pada upaya terbaik dan mungkin ada latensi tambahan.

  • Kebijakan sumber daya dibuat secara otomatis dan ditambahkan ke grup CloudWatch log jika grup log tidak memiliki izin tertentu. Untuk informasi selengkapnya, lihat Log dikirim ke CloudWatch Log di Panduan CloudWatch Pengguna Amazon.

  • Anda dapat menemukan log akses yang dikirim ke CloudWatch bawah Grup Log di CloudWatch konsol. Untuk informasi selengkapnya, lihat Melihat data CloudWatch log yang dikirim ke Log di Panduan CloudWatch Pengguna Amazon.

Amazon S3
  • VPC Lattice biasanya mengirimkan log ke Amazon S3 dalam waktu 6 menit. Namun, perlu diingat bahwa waktu pengiriman log yang sebenarnya didasarkan pada upaya terbaik dan mungkin ada latensi tambahan.

  • Kebijakan bucket akan dibuat secara otomatis dan ditambahkan ke bucket Amazon S3 Anda jika bucket tidak memiliki izin tertentu. Untuk informasi selengkapnya, lihat Log yang dikirim ke Amazon S3 di Panduan CloudWatch Pengguna Amazon.

  • Log akses yang dikirim ke Amazon S3 menggunakan konvensi penamaan berikut:

    [bucket]/[prefix]/AWSLogs/[accountId]/VpcLattice/AccessLogs/[region]/[YYYY/MM/DD]/[resource-id]/[accountId]_VpcLatticeAccessLogs_[region]_[resource-id]_YYYYMMDDTHHmmZ_[hash].json.gz
  • VpcLatticeResourceAccessLogs yang dikirim ke Amazon S3 menggunakan konvensi penamaan berikut:

    [bucket]/[prefix]/AWSLogs/[accountId]/VpcLattice/ResourceAccessLogs/[region]/[YYYY/MM/DD]/[resource-id]/[accountId]_VpcLatticeResourceAccessLogs_[region]_[resource-id]_YYYYMMDDTHHmmZ_[hash].json.gz
Amazon Data Firehose
  • VPC Lattice biasanya mengirimkan log ke Firehose dalam waktu 2 menit. Namun, perlu diingat bahwa waktu pengiriman log yang sebenarnya didasarkan pada upaya terbaik dan mungkin ada latensi tambahan.

  • Peran terkait layanan dibuat secara otomatis yang memberikan izin VPC Lattice untuk mengirim log akses ke. Amazon Data Firehose Agar pembuatan peran otomatis berhasil, pengguna harus memiliki izin untuk tindakan iam:CreateServiceLinkedRole nyata. Untuk informasi selengkapnya, lihat Log dikirim ke Amazon Data Firehose dalam Panduan CloudWatch Pengguna Amazon.

  • Untuk informasi selengkapnya tentang melihat log yang dikirim ke Amazon Data Firehose, lihat Mem antau Aliran Data Amazon Kinesis di Panduan Peng Amazon Data Firehose embang.

Aktifkan log akses

Selesaikan prosedur berikut untuk mengonfigurasi log akses untuk menangkap dan mengirimkan log akses ke tujuan yang Anda pilih.

Aktifkan log akses menggunakan konsol

Anda dapat mengaktifkan log akses untuk jaringan layanan, layanan, atau konfigurasi sumber daya selama pembuatan. Anda juga dapat mengaktifkan log akses setelah Anda membuat konfigurasi jaringan layanan, layanan, atau sumber daya seperti yang dijelaskan dalam prosedur berikut.

Untuk membuat layanan dasar menggunakan konsol
  1. Buka konsol Amazon VPC di https://console.aws.amazon.com/vpc/.

  2. Pilih konfigurasi jaringan layanan, layanan, atau sumber daya.

  3. Pilih T ind akan, Edit pengaturan log.

  4. Aktifkan sak elar sakelar log Akses.

  5. Tambahkan tujuan pengiriman untuk log akses Anda sebagai berikut:

    • Pilih Grup CloudWatch log dan pilih grup log. Untuk membuat grup log, pilih Buat grup log di CloudWatch.

    • Pilih bucket S3 dan masukkan jalur bucket S3, termasuk awalan apa pun. Untuk mencari bucket S3 Anda, pilih Jelajahi S3.

    • Pilih aliran pengiriman Kinesis Data Firehose dan pilih aliran pengiriman. Untuk membuat aliran pengiriman, pilih Buat aliran pengiriman di Kinesis.

  6. Pilih Simpan perubahan.

Aktifkan log akses menggunakan AWS CLI

Gunakan perintah CLI create-access-log-subscription untuk mengaktifkan log akses untuk jaringan layanan atau layanan.

Minta pelacakan

VPC Lattice mendukung pelacakan permintaan dan korelasi di seluruh klien, target, dan log untuk pengamatan dan debugging dengan header x-amzn-requestid. Header ini dapat diatur dan dikirim oleh klien atau dihasilkan oleh VPC Lattice dan dikirim ke target dan juga tersedia di log akses.

Perilaku default
  • VPC Lattice secara otomatis menghasilkan header ini untuk setiap permintaan.

  • Nilainya adalah pengidentifikasi yang dihasilkan secara acak (secara UUID-style default).

  • Pengidentifikasi yang dihasilkan adalah:

    • Diperbanyak ke target hilir.

    • Dikembalikan sebagai header tanggapan ke klien.

    • Log akses masuk

Contoh (respons default)

Berikut ini adalah contoh respons yang dikirim ke klien dengan perilaku default VPC Lattice menghasilkan nilai acak untuk header valu eof x-amzn-requestid.

{ "HTTP/1.1 200 OK x-amzn-requestid: a9f2c7a1-6b4f-4c79-9e87-ff5a1234a001" }
Klien mengatur nilai
  • Klien dapat secara opsional mengatur header ini pada permintaan masuk untuk mengganti nilai yang dihasilkan secara otomatis.

  • Pertimbangan-pertimbangan

    • Nilai header tidak perlu mengikuti format UUID.

    • Jika nilai header melebihi 512 byte, VPC Lattice akan memotongnya menjadi 512.

  • Ketika berhasil diganti, nilai header yang disediakan akan:

    • Muncul di header respons

    • Disebarkan ke target

    • Muncul di log akses dan metrik

Contoh (ganti kebutuhan klien)

Berikut ini adalah contoh dari permintaan yang dikirim oleh klien dengan nilai header.

{ "GET /my-service/endpoint HTTP/1.1 Host: my-api.example.com x-amzn-requestid: trace-request-foobar" }
Contoh (respons penggantian default)

Berikut ini adalah contoh respons yang dikirim ke klien dengan nilai yang diganti.

{ "HTTP/1.1 200 OK x-amzn-requestid: trace-request-foobar" }

Akses konten log

Tabel berikut menjelaskan bidang entri log akses.

Bidang Deskripsi Format
callerPrincipalTags

PrincipalTags Dalam permintaan.

JSON

hostHeader

Header otoritas permintaan.

string

sslCipher

Nama OpenSSL untuk kumpulan cipher yang digunakan untuk membuat koneksi TLS klien.

string

serviceNetworkArn

Jaringan layanan ARN.

arn:aws:vpc-latex: ::servicenetwork/ region account id

resolvedUser

ARN pengguna saat otentikasi diaktifkan dan otentikasi dilakukan.

null | ARN | “Anonim” | “Tidak Diketahui”

authDeniedReason

Alasan bahwa akses ditolak saat otentikasi diaktifkan.

null | “Layanan” | “Jaringan” | “Identitas”

requestMethod

Header metode permintaan.

string

targetGroupArn

Grup host target tempat host target berada.

string

tlsVersion

Versi TLS.

TlSV x

userAgent

Header agen pengguna.

string

serverNameIndication

[Hanya HTTPS] Nilai yang ditetapkan pada soket koneksi ssl untuk Server Name Indication (SNI).

string

destinationVpcId

ID VPC tujuan.

vpc- xxxxxxxx

sourceIpPort

Alamat IP dan:port sumber.

ip:port

targetIpPort

Alamat IP dan port target.

ip:port

serviceArn

Layanan ARN.

arn:aws:vpc-latex: ::layanan/ region account id

sourceVpcId

ID VPC sumber.

vpc- xxxxxxxx

requestPath

Jalur permintaan.

LatticePath?:path

startTime

Waktu mulai permintaan.

YYYY- MM - DD THH:MM: SS Z

protocol

Protokol. Saat ini salah HTTP/1.1 satu atau HTTP/2.

string

responseCode

Kode respon HTTP. Hanya kode respons untuk header akhir yang dicatat. Untuk informasi selengkapnya, lihat Memecahkan masalah log akses.

integer

bytesReceived

Byte tubuh dan header diterima.

integer

bytesSent

Byte body dan header dikirim.

integer

duration

Total durasi dalam milidetik permintaan dari waktu mulai hingga byte terakhir keluar.

integer

requestToTargetDuration

Total durasi dalam milidetik permintaan dari waktu mulai hingga byte terakhir yang dikirim ke target.

integer

responseFromTargetDuration

Total durasi dalam milidetik permintaan dari byte pertama yang dibaca dari host target ke byte terakhir yang dikirim ke klien.

integer

grpcResponseCode

Kode respons gRPC. Untuk informasi selengkapnya, lihat Kode status dan penggunaannya di gRPC. Bidang ini dicatat hanya jika layanan mendukung gRPC.

integer

requestId

Ini pengidentifikasi unik yang secara otomatis disertakan dalam respons sebagai nilai header x-amzn-requestid. Ini memungkinkan korelasi permintaan di seluruh klien, target, dan log untuk pengamatan dan debugging.

string

callerPrincipal

Prinsipal yang diautentikasi.

string

callerX509SubjectCN

Nama subjek (CN).

string

callerX509IssuerOU

Penerbit (OU).

string

callerX509SANNameCN

Alternatif penerbit (Name/CN).

string

callerX509SANDNS

Nama alternatif subjek (DNS).

string

callerX509SANURI

Nama alternatif subjek (URI).

string

sourceVpcArn

ARN dari VPC tempat permintaan berasal.

arn: aws:ec2: ::vpc/regionaccountid

failureReason

Menunjukkan alasan permintaan gagal. Nilai yang mungkin adalah sebagai berikut:

  • TargetConnectionError- Permintaan gagal terhubung ke target dalam kelompok target.

  • TargetProtocolError- Target tidak merespons dengan data yang valid. Ini mungkin menunjukkan target memiliki catatan TLS yang tidak valid atau menggunakan protokol grup target yang tidak valid.

  • TargetDataTimeout- Waktu tunggu idle tercapai.

  • TargetConnectionClosed- Target menutup koneksi sebelum menyelesaikan respons.

  • ClientConnectionClosed- Klien menutup koneksi sebelum menerima respons lengkap.

  • ClientRateLimited- Klien melebihi batas koneksi dan VPC Lattice membatasi tarif.

  • ClientAccessDenied- VPC Lattice menolak akses ke sumber daya. Gunakan authDeniedReason untuk informasi lebih lanjut tentang mengapa VPC Lattice menolak akses.

  • ClientProtocolError- Klien mengirim data yang tidak dipahami. Ini mungkin menunjukkan klien menggunakan catatan TLS yang tidak valid atau protokol yang tidak valid.

  • ConnectionDurationExceeded- Koneksi mencapai batas durasi koneksi maksimum.

  • InternalError- Terjadi kesalahan internal saat memproses permintaan.

string
Contoh

Berikut ini adalah contoh entri log.

{ "callerPrincipalTags" : "{ "TagA": "ValA", "TagB": "ValB", ... }", "hostHeader": "example.com", "sslCipher": "-", "serviceNetworkArn": "arn:aws:vpc-lattice:us-west-2:123456789012:servicenetwork/svn-1a2b3c4d", "resolvedUser": "Unknown", "authDeniedReason": "null", "requestMethod": "GET", "targetGroupArn": "arn:aws:vpc-lattice:us-west-2:123456789012:targetgroup/tg-1a2b3c4d", "tlsVersion": "-", "userAgent": "-", "serverNameIndication": "-", "destinationVpcId": "vpc-0abcdef1234567890", "sourceIpPort": "178.0.181.150:80", "targetIpPort": "131.31.44.176:80", "serviceArn": "arn:aws:vpc-lattice:us-west-2:123456789012:service/svc-1a2b3c4d", "sourceVpcId": "vpc-0abcdef1234567890", "requestPath": "/billing", "startTime": "2023-07-28T20:48:45Z", "protocol": "HTTP/1.1", "responseCode": 200, "bytesReceived": 42, "bytesSent": 42, "duration": 375, "requestToTargetDuration": 1, "responseFromTargetDuration": 1, "grpcResponseCode": 1, "requestId": "a9f2c7a1-6b4f-4c79-9e87-ff5a1234a001" }

Konten log akses sumber daya

Tabel berikut menjelaskan bidang entri log akses sumber daya.

Bidang Deskripsi Format
serviceNetworkArn

Jaringan layanan ARN.

arn: partition vpc-latex: ::servicenetwork/ region account id

serviceNetworkResourceAssociationId

ID sumber daya jaringan layanan.

snra-xxx

vpcEndpointId

ID titik akhir yang digunakan untuk mengakses sumber daya.

string

sourceVpcArn

Sumber VPC ARN atau VPC dari mana koneksi dimulai.

string

resourceConfigurationArn

ARN konfigurasi sumber daya yang diakses.

string

protocol

Protokol yang digunakan untuk berkomunikasi dengan konfigurasi sumber daya. Saat ini hanya tcp yang didukung.

string

sourceIpPort

Alamat IP dan port sumber yang memulai koneksi.

ip:port

destinationIpPort

Alamat IP dan port tempat koneksi dimulai. Ini akan menjadi IP dari SN-E/SN-A.

ip:port

gatewayIpPort

Alamat IP dan port yang digunakan oleh gateway sumber daya untuk mengakses sumber daya.

ip:port

resourceIpPort

Alamat IP dan port sumber daya.

ip:port

Contoh

Berikut ini adalah contoh entri log.

{ "eventTimestamp": "2024-12-02T10:10:10.123Z", "serviceNetworkArn": "arn:aws:vpc-lattice:us-west-2:1234567890:servicenetwork/sn-1a2b3c4d", "serviceNetworkResourceAssociationId": "snra-1a2b3c4d", "vpcEndpointId": "vpce-01a2b3c4d", "sourceVpcArn": "arn:aws:ec2:us-west-2:1234567890:vpc/vpc-01a2b3c4d", "resourceConfigurationArn": "arn:aws:vpc-lattice:us-west-2:0987654321:resourceconfiguration/rcfg-01a2b3c4d", "protocol": "tcp", "sourceIpPort": "172.31.23.56:44076", "destinationIpPort": "172.31.31.226:80", "gatewayIpPort": "10.0.28.57:49288", "resourceIpPort": "10.0.18.190:80" }

Memecahkan masalah log akses

Bagian ini berisi penjelasan tentang kode kesalahan HTTP yang mungkin Anda lihat di log akses.

Kode kesalahan Kemungkinan penyebab

HTTP 400: Permintaan Buruk

  • Klien mengirim permintaan yang salah format yang tidak memenuhi spesifikasi HTTP.

  • Header permintaan melebihi 60K untuk seluruh header permintaan atau lebih dari 100 header.

  • Klien menutup koneksi sebelum mengirim seluruh isi permintaan.

HTTP 403: Terlarang

Otentikasi telah dikonfigurasi untuk layanan, tetapi permintaan masuk tidak diautentikasi atau diotorisasi.

HTTP 404: Layanan Tidak Ada

Anda mencoba untuk terhubung ke layanan yang tidak ada atau tidak terdaftar ke jaringan layanan yang tepat.

HTTP 500: Kesalahan Server Internal

VPC Lattice mengalami kesalahan, seperti kegagalan untuk terhubung ke target.

HTTP 502: Gerbang Buruk

VPC Lattice mengalami kesalahan.