View a markdown version of this page

Memecahkan masalah di Aurora DSQL - Amazon Aurora DSQL

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

Memecahkan masalah di Aurora DSQL

catatan

Topik berikut memberikan saran pemecahan masalah untuk kesalahan dan masalah yang mungkin Anda temui saat menggunakan Aurora DSQL. Jika Anda menemukan masalah yang tidak tercantum di sini, hubungi AWS dukungan

Memecahkan masalah kesalahan koneksi

kesalahan: kode kesalahan SSL tidak dikenali: 6 atau tidak dapat menerima koneksi, sni tidak diterima

Anda mungkin menggunakan versi psql lebih awal dari versi 14, yang tidak mendukung Server Name Indication (SNI). SNI diperlukan saat menghubungkan ke Aurora DSQL.

Anda dapat memeriksa versi klien Anda denganpsql --version.

kesalahan: NetworkUnreachable

Kes NetworkUnreachable alahan selama upaya koneksi mungkin menunjukkan bahwa klien Anda tidak mendukung koneksi IPv6, alih-alih menandakan masalah jaringan yang sebenarnya. Kesalahan ini biasanya terjadi pada IPv4-only instance karena bagaimana klien PostgreSQL menangani koneksi dual-stack. Ketika server mendukung mode dual-stack, klien ini pertama-tama menyelesaikan nama host ke alamat IPv4 dan IPv6. Mereka mencoba koneksi IPv4 terlebih dahulu, kemudian mencoba IPv6 jika koneksi awal gagal. Jika sistem Anda tidak mendukung IPv6, Anda akan melihat NetworkUnreachable kesalahan umum alih-alih pesan “IPv6 tidak didukung” yang jelas.

Memecahkan masalah kesalahan otentikasi

Otentikasi IAM gagal untuk pengguna “...”

Saat Anda membuat token otentikasi Aurora DSQL IAM, durasi maksimum yang dapat Anda tetapkan adalah 1 minggu. Setelah satu minggu, Anda tidak dapat mengotentikasi dengan token itu.

Selain itu, Aurora DSQL menolak permintaan koneksi Anda jika peran yang Anda asumsikan telah kedaluwarsa. Misalnya, jika Anda mencoba menghubungkan dengan peran IAM sementara meskipun token otentikasi Anda belum kedaluwarsa, Aurora DSQL akan menolak permintaan koneksi.

Untuk mempelajari selengkapnya tentang cara kerja IAM dengan Aurora DSQL, lihat Mem ahami otentikasi dan otorisasi untuk Aurora DSQL dan AWS Identity and Access Management di Aurora DSQL.

Terjadi kesalahan (InvalidAccessKeyId) saat memanggil GetObject operasi: ID K AWS unci Akses yang Anda berikan tidak ada dalam catatan kami

IAM menolak permintaan Anda. Untuk informasi selengkapnya, lihat Mengapa permintaan ditandatangani.

Peran IAM <role>tidak ada

Aurora DSQL tidak dapat menemukan peran IAM Anda. Untuk informasi selengkapnya, lihat peran https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html IAM.

Peran IAM harus terlihat seperti IAM ARN

Lihat Pen gidentifikasi IAM - ARN IAM untuk informasi selengkapnya.

Pemetaan tindakan pengguna yang salah

Kesalahan ini terjadi ketika jenis token otentikasi tidak cocok dengan peran database. Aurora DSQL menggunakan dua jenis token: DbConnectAdmin untuk admin peran dan DbConnect untuk peran database khusus.

  • Jika Anda melihatWrong user to action mapping. user: admin, action: DbConnect, gunakan al generate-db-connect-admin-auth-token ih-alihgenerate-db-connect-auth-token.

  • Jika Anda melihatWrong user to action mapping. user: myusername, action: DbConnectAdmin, gunakan al generate-db-connect-auth-token ih-alihgenerate-db-connect-admin-auth-token.

Memecahkan masalah kesalahan otorisasi

Per <role>an tidak didukung

Aurora DSQL tidak mendukung GRANT operasi. Lihat Subset perintah SQL yang didukung di Aurora DS QL.

Tidak dapat membangun kepercayaan dengan peran <role>

Aurora DSQL tidak mendukung GRANT operasi. Lihat Subset perintah SQL yang didukung di Aurora DS QL.

Per <role>an tidak ada

Aurora DSQL tidak dapat menemukan pengguna database tertentu. Lihat Mengotorisasi peran database kustom untuk terhubung ke cluster.

KESALAHAN: izin ditolak untuk memberikan kepercayaan IAM dengan peran <role>

Untuk memberikan akses ke peran database, Anda harus terhubung ke cluster Anda dengan peran admin. Untuk mempelajari selengkapnya, lihat Mengotorisasi peran database untuk menggunakan SQL dalam database.

ERROR: peran <role>harus memiliki atribut LOGIN

Setiap peran database yang Anda buat harus memiliki LOGIN izin.

Untuk mengatasi kesalahan ini, pastikan Anda telah membuat Peran PostgreSQL dengan izin tersebutLOGIN. Untuk informasi selengkapnya, lihat CREATE ROLE dan ALTER ROLE dalam dokumentasi PostgreSQL.

KESALAHAN: peran <role>tidak dapat dijatuhkan karena beberapa objek bergantung padanya

Aurora DSQL mengembalikan kesalahan jika Anda menghapus peran database dengan hubungan IAM hingga Anda mencabut hubungan menggunakan. AWS IAM REVOKE Untuk mempelajari selengkapnya, lihat Penc abutan otorisasi.

Memecahkan masalah kesalahan SQL

Kesalahan: Tidak didukung

Aurora DSQL tidak mendukung semua PostgreSQL-based dialek. Untuk mempelajari tentang apa yang didukung, lihat Fitur PostgreSQL yang didukung di Aurora DSQL.

Kesalahan: gunakan sebagai CREATE INDEX ASYNC gantinya

Untuk membuat indeks pada tabel dengan baris yang ada, Anda harus menggunakan CREATE INDEX ASYNC perintah. Untuk mempelajari selengkapnya, lihat Membuat indeks secara asinkron di Aurora DSQL.

Kesalahan: server tidak tersedia (SQLSTATE XX000)

Kesalahan server tidak tersedia menunjukkan kondisi layanan sementara. Koneksi Anda tetap aktif, sehingga Anda dapat mencoba lagi tanpa menyambung kembali.

Selalu coba lagi seluruh transaksi dari awal, termasuk COMMIT perintah, dengan backoff dan jitter eksponensial.

Hasil komit yang tidak pasti

Jika kesalahan terjadi saat melakukan transaksi, transaksi mungkin telah dilakukan meskipun aplikasi Anda menerima kesalahan.

Rancang transaksi untuk menjadi idempoten bila memungkinkan. Untuk transaksi non-idempotent, konfirmasikan apakah Aurora DSQL menerapkan penulisan sebelum Anda mencoba lagi transaksi.

Pantau tingkat kesalahan server yang tidak tersedia. Harapkan percobaan ulang sesekali. Jika kesalahan berlanjut atau memengaruhi kinerja aplikasi, hubungi AWS Dukungan.

Memecahkan masalah respons kontrol konkurensi

OC000 “ERROR: perubahan konflik dengan transaksi lain (OC000)”

Transaksi ini mencoba untuk memodifikasi tupel yang sama dengan transaksi bersamaan lainnya. Ini menunjukkan perselisihan pada tupel yang dimodifikasi. Untuk mempelajari lebih lanjut, lihat Kontrol konkur ensi di Aurora DS QL.

OC001 “KESALAHAN: skema telah diperbarui oleh transaksi lain (OC001)”

Sesi Anda memiliki salinan katalog skema yang di-cache di versi V1, dimuat pada waktu T1.

Transaksi terpisah memperbarui katalog ke versi V2 pada waktu T2.

Pada saat T3, saat sesi Anda menjalankan kueri, ia mendeteksi bahwa itu ada di belakang dan mencoba untuk melakukan rebase ke perubahan katalog baru. Dalam beberapa situasi rebase tidak dapat berhasil, dan Aurora DSQL mengembalikan respons 40001 OC001. Waktu antara T2 dan T3 dapat berkisar dari milidetik hingga menit, karena prosesor kueri menemukan perubahan katalog secara reaktif daripada menerima pembaruan proaktif.

Saat Anda mencoba lagi dari sesi yang sama, Aurora DSQL menyegarkan cache katalog. Transaksi yang dicoba ulang menggunakan katalog V2 dan berhasil selama tidak ada perubahan katalog lebih lanjut yang terjadi sejak T2.

Pemecahan SSL/TLS masalah koneksi

Kesalahan SSL: verifikasi sertifikat gagal

Kesalahan ini menunjukkan bahwa klien tidak dapat memverifikasi sertifikat server. Pastikan bahwa:

  1. Sertifikat Amazon Root CA 1 diinstal dengan benar. Lihat Mengkonfigurasi SSL/TLS sertifikat untuk koneksi Aurora DSQL petunjuk tentang cara memvalidasi dan menginstal sertifikat ini.

  2. Vari PGSSLROOTCERT abel lingkungan menunjuk ke file sertifikat yang benar.

  3. File sertifikat memiliki izin yang benar.

Kode kesalahan SSL tidak dikenali: 6

Kesalahan ini terjadi dengan klien PostgreSQL di bawah versi 14. Tingkatkan klien PostgreSQL Anda ke versi 17 untuk mengatasi masalah ini.

Kesalahan SSL: skema tidak terdaftar (Windows)

Ini adalah masalah yang diketahui dengan klien psql Windows saat menggunakan sertifikat sistem. Gunakan metode file sertifikat yang diunduh yang dijelaskan dalam Menghubungkan dari Windows instruksi.

Memecahkan masalah metrik yang hilang dari konsol Amazon CloudWatch Database Insights

Cluster Aurora DSQL tidak muncul di konsol Amazon CloudWatch Database Insights

Amazon CloudWatch Database Insights mengisi pemilih klasternya menggunakan data aktivitas dari wawasan database Aurora DSQL. Untuk informasi selengkapnya tentang wawasan database Aurora DSQL, lihatMemantau cluster Aurora DSQL dengan Aurora DSQL Database Insights. Cluster menjadi terlihat di Database Insights hanya setelah cluster menghasilkan beban dalam delapan hari terakhir yang ditangkap oleh sampler riwayat sesi aktif (DASH) Aurora DSQL.

DASH menggunakan sampling 1 detik, yang mungkin melewatkan transaksi cepat dan jarang yang diselesaikan dalam milidetik.

Gunakan langkah-langkah berikut untuk mengonfirmasi apakah ini menjelaskan apa yang Anda lihat:

  1. Konfirmasikan bahwa Anda telah menjalankan transaksi di cluster dalam delapan hari terakhir. Cluster yang telah menganggur lebih lama dari itu tidak muncul di Database Insights terlepas dari bagaimana Anda menggunakannya sebelumnya. Untuk memeriksa aktivitas terbaru, lihat TotalTransactions metrik untuk cluster Anda di CloudWatch. Untuk informasi selengkapnya tentang metrik ini, lihat Pengamatan dan kinerja.

  2. Jalankan beban kerja berkelanjutan terhadap cluster sehingga setidaknya satu sesi tetap aktif. Contohnya termasuk skrip pengujian beban, kumpulan sisipan, atau kueri yang berjalan lama. Karena sampel DASH sekali per detik, beban kerja singkat mungkin tidak ditangkap, jadi semakin kontinu aktivitas, semakin besar kemungkinan untuk muncul.

  3. Tunggu beberapa menit setelah menjalankan beban kerja itu, lalu segarkan konsol Database Insights.

  4. Verifikasi bahwa Anda melihat Wil AWS ayah dan akun yang sama tempat cluster dibuat. Memilih Wilayah atau akun yang salah adalah alasan umum cluster tampaknya hilang.