Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memulai dengan Aurora DSQL
Amazon Aurora DSQL adalah database relasional terdistribusi tanpa server yang dioptimalkan untuk beban kerja transaksional. Di bagian berikut, Anda akan belajar cara membuat kluster DSQL Aurora wilayah tunggal dan Multi-wilayah, menghubungkannya, dan membuat serta memuat skema sampel. Anda akan mengakses cluster dengan AWS Management Console dan berinteraksi dengan database Anda menggunakan psql
utilitas. Pada akhirnya, Anda akan memiliki cluster Aurora DSQL yang berfungsi dan siap digunakan untuk beban kerja pengujian atau produksi.
Topik
Prasyarat
Sebelum Anda dapat mulai menggunakan Aurora DSQL, pastikan Anda memenuhi prasyarat berikut:
-
Identitas IAM Anda harus memiliki izin untuk masuk ke. AWS Management Console
-
Identitas IAM Anda harus memenuhi salah satu kriteria berikut:
-
Akses untuk melakukan tindakan apa pun pada sumber daya apa pun di Akun AWS
-
Izin IAM
iam:CreateServiceLinkedRole
dan kemampuan untuk mendapatkan akses ke tindakan kebijakan IAMdsql:*
-
-
Jika Anda menggunakan lingkungan mirip Unix, pastikan bahwa Python versi 3.8+ dan versi 14+ diinstal. AWS CLI
psql
Untuk memeriksa versi aplikasi Anda, jalankan perintah berikut.python3 --version psql --version
Jika Anda menggunakan AWS CLI di lingkungan yang berbeda, pastikan bahwa Anda secara manual mengatur Python versi 3.8+ dan versi 14+.
psql
-
Jika Anda berniat mengakses Aurora DSQL menggunakan, AWS CloudShell Python versi 3.8+ dan
psql
versi 14+ disediakan tanpa pengaturan tambahan. Untuk informasi lebih lanjut tentang AWS CloudShell, lihat Apa itu AWS CloudShell? . -
Jika Anda berniat mengakses Aurora DSQL menggunakan GUI, gunakan atau. DBeaver JetBrains DataGrip Untuk informasi selengkapnya, lihat Mengakses Aurora DSQL dengan DBeaver dan Mengakses Aurora DSQL dengan JetBrains DataGrip.
Mengakses Aurora DSQL
Anda dapat mengakses Aurora DSQL melalui teknik berikut. Untuk mempelajari cara menggunakan CLI,, dan APIs SDKs, lihat. Mengakses Aurora DSQL
Topik
Mengakses Aurora DSQL melalui AWS Management Console
Anda dapat mengakses AWS Management Console untuk Aurora DSQL di. https://console.aws.amazon.com/dsql
Mengakses Aurora DSQL menggunakan klien SQL
Aurora DSQL menggunakan protokol PostgreSQL. Gunakan klien interaktif pilihan Anda dengan menyediakan token autentikasi IAM yang ditandatangani sebagai kata sandi saat menghubungkan ke klaster Anda. Token otentikasi adalah string karakter unik yang dihasilkan Aurora DSQL secara dinamis AWS menggunakan Signature Version 4.
Aurora DSQL menggunakan token hanya untuk otentikasi. Token tidak memengaruhi koneksi setelah dibuat. Jika Anda mencoba menyambung kembali menggunakan token kedaluwarsa, permintaan koneksi ditolak. Untuk informasi selengkapnya, lihat Menghasilkan token otentikasi di Amazon Aurora DSQL.
Topik
Mengakses Aurora DSQL dengan psql (terminal interaktif PostgreSQL)
psql
Utilitas adalah front-end berbasis terminal untuk PostgreSQL. Ini memungkinkan Anda untuk mengetik kueri secara interaktif, menerbitkannya ke PostgreSQL, dan melihat hasil kueri. Untuk meningkatkan waktu respons kueri, gunakan klien PostgreSQL versi 17.
Unduh installer sistem operasi Anda dari halaman Unduhan PostgreSQLpsql
, lihat https://www.postgresql. org/docs/current/app
Jika Anda sudah AWS CLI menginstal, gunakan contoh berikut untuk terhubung ke cluster Anda. Anda dapat menggunakan AWS CloudShell, yang dilengkapi dengan psql
prainstal, atau Anda dapat menginstal psql
langsung.
# Aurora DSQL requires a valid IAM token as the password when connecting. # Aurora DSQL provides tools for this and here we're using Python. export PGPASSWORD=$(aws dsql generate-db-connect-admin-auth-token \ --region
us-east-1
\ --expires-in 3600 \ --hostnameyour_cluster_endpoint
) # Aurora DSQL requires SSL and will reject your connection without it. export PGSSLMODE=require # Connect with psql, which automatically uses the values set in PGPASSWORD and PGSSLMODE. # Quiet mode suppresses unnecessary warnings and chatty responses but still outputs errors. psql --quiet \ --username admin \ --dbname postgres \ --hostyour_cluster_endpoint
Mengakses Aurora DSQL dengan DBeaver
DBeaver adalah alat basis data berbasis GUI open-source. Anda dapat menggunakannya untuk terhubung dan mengelola database Anda. Untuk mengunduh DBeaver, lihat halaman unduhan
Untuk mengatur koneksi Aurora DSQL baru di DBeaver
-
Pilih Koneksi Database Baru.
-
Di jendela New Database Connection, pilih PostgreSQL.
-
Di tab Pengaturan Koneksi/Utama, pilih Connect by: Host dan masukkan informasi berikut.
-
Host — Gunakan endpoint cluster Anda.
Database — Masukkan
postgres
Otentikasi - Pilih
Database Native
Nama Pengguna — Masukkan
admin
Kata Sandi — Hasilkan token otentikasi. Salin token yang dihasilkan dan gunakan sebagai kata sandi Anda.
-
-
Abaikan peringatan apa pun dan tempel token otentikasi Anda ke bidang DBeaverKata Sandi.
catatan
Anda harus mengatur mode SSL di koneksi klien. Aurora DSQL mendukung.
SSLMODE=require
Aurora DSQL memberlakukan komunikasi SSL di sisi server dan menolak koneksi non-SSL. -
Anda harus terhubung ke cluster Anda dan dapat mulai menjalankan pernyataan SQL.
penting
Fitur administratif yang disediakan oleh DBeaver database PostgreSQL (seperti Session Manager dan Lock Manager) tidak berlaku untuk database, karena arsitekturnya yang unik. Meskipun dapat diakses, layar ini tidak memberikan informasi yang dapat dipercaya tentang kesehatan atau status database.
Otentikasi kredensi kedaluwarsa untuk DBeaver
Sesi yang ditetapkan tetap diautentikasi selama maksimal 1 jam atau sampai DBeaver terputus atau waktu habis. Untuk membuat koneksi baru, berikan token otentikasi yang valid di bidang Kata Sandi pengaturan koneksi. Mencoba membuka sesi baru (misalnya, untuk membuat daftar tabel baru, atau konsol SQL baru) memaksa upaya otentikasi baru. Jika token otentikasi yang dikonfigurasi dalam pengaturan Koneksi tidak lagi valid, sesi baru gagal, dan DBeaver membatalkan semua sesi yang dibuka sebelumnya. Ingatlah hal ini saat memilih durasi token otentikasi IAM Anda dengan opsi. expires-in
Mengakses Aurora DSQL dengan JetBrains DataGrip
JetBrains DataGrip adalah IDE lintas platform untuk bekerja dengan SQL dan database, termasuk PostgreSQL. DataGrip termasuk GUI yang kuat dengan editor SQL cerdas. Untuk mengunduh DataGrip, buka halaman unduhan
Untuk mengatur koneksi Aurora DSQL baru di JetBrains DataGrip
-
Pilih Sumber Data Baru dan pilih PostgreSQL.
-
Di Sources/General tab Data, masukkan informasi berikut:
-
Host — Gunakan endpoint cluster Anda.
Port - Aurora DSQL menggunakan PostgreSQL default:
5432
Database - Aurora DSQL menggunakan PostgreSQL default dari
postgres
Otentikasi — Pilih
User & Password
.Nama Pengguna — Masukkan
admin
.Kata sandi — Buat token dan tempelkan ke bidang ini.
URL - Jangan ubah bidang ini. Ini akan diisi secara otomatis berdasarkan bidang lain.
-
-
Kata sandi — Berikan ini dengan membuat token otentikasi. Salin output yang dihasilkan dari generator token dan tempel ke bidang kata sandi.
catatan
Anda harus mengatur mode SSL di koneksi klien. Aurora DSQL mendukung.
PGSSLMODE=require
Aurora DSQL memberlakukan komunikasi SSL di sisi server dan akan menolak koneksi non-SSL. -
Anda harus terhubung ke cluster Anda dan dapat mulai menjalankan pernyataan SQL:
penting
Beberapa tampilan yang DataGrip disediakan oleh database PostgreSQL (seperti Sessions) tidak berlaku untuk database karena arsitekturnya yang unik. Meskipun dapat diakses, layar ini tidak memberikan informasi yang dapat dipercaya tentang sesi aktual yang terhubung ke database.
Kedaluwarsa kredensi otentikasi
Sesi yang ditetapkan tetap diautentikasi selama maksimal 1 jam atau sampai pemutusan eksplisit atau batas waktu sisi klien terjadi. Jika koneksi baru perlu dibuat, token Otentikasi baru harus dibuat dan disediakan di bidang Kata Sandi Properti Sumber Data. Mencoba membuka sesi baru (misalnya, untuk membuat daftar tabel baru, atau konsol SQL baru) memaksa upaya otentikasi baru. Jika token otentikasi yang dikonfigurasi dalam pengaturan Koneksi tidak lagi valid, sesi baru itu akan gagal dan semua sesi yang dibuka sebelumnya akan menjadi tidak valid.
Menggunakan protokol PostgreSQL dengan Aurora DSQL
PostgreSQL menggunakan protokol berbasis pesan untuk komunikasi antara klien dan server. Protokol ini didukung TCP/IP berulang-ulang melalui soket unix-domain. Tabel berikut menunjukkan bagaimana Aurora DSQL mendukung protokol PostgreSQL.
PostgreSQL | Aurora DSQL | Catatan |
---|---|---|
Peran (juga dikenal sebagai Pengguna atau Grup) | Peran Database | Aurora DSQL menciptakan peran untuk Anda bernama. admin Saat membuat peran basis data kustom, Anda harus menggunakan peran tersebut untuk mengaitkannya dengan admin peran IAM untuk mengautentikasi saat menghubungkan ke klaster Anda. Untuk informasi selengkapnya, lihat Mengonfigurasi peran basis data kustom. |
Host (juga dikenal sebagai hostname atau hostspec) | Titik Akhir klaster | Aurora DSQL Kluster wilayah tunggal menyediakan satu titik akhir terkelola dan secara otomatis mengarahkan lalu lintas jika tidak tersedia di dalam Wilayah. |
Port | N/A - gunakan default 5432 |
Ini adalah PostgreSQL default. |
Database (dbname) | menggunakan postgres |
Aurora DSQL membuat database ini untuk Anda saat Anda membuat cluster. |
Modus SSL | SSL selalu diaktifkan di sisi server | Di Aurora DSQL, Aurora DSQL mendukung Mode SSL. require Koneksi tanpa SSL ditolak oleh Aurora DSQL. |
Kata sandi | Token Otentikasi | Aurora DSQL membutuhkan token otentikasi sementara alih-alih kata sandi berumur panjang. Untuk mempelajari selengkapnya, lihat Menghasilkan token otentikasi di Amazon Aurora DSQL. |
Langkah 1: Buat cluster Aurora DSQL Single-region
Unit dasar Aurora DSQL adalah cluster, yang merupakan tempat Anda menyimpan data Anda. Dalam tugas ini, Anda membuat cluster dalam satu Wilayah AWS.
Untuk membuat cluster Single-region di Aurora DSQL
-
Masuk ke AWS Management Console dan buka konsol Aurora DSQL di. https://console.aws.amazon.com/dsql
-
Pilih Buat cluster dan kemudian Single-Region.
-
(Opsional) Dalam pengaturan Cluster, pilih salah satu opsi berikut:
-
Pilih Sesuaikan pengaturan enkripsi (lanjutan) untuk memilih atau membuat AWS KMS key.
-
Pilih Aktifkan perlindungan penghapusan untuk mencegah operasi penghapusan klaster Anda. Secara default, perlindungan penghapusan dipilih.
-
-
(Opsional) Di Tag, pilih atau masukkan tag untuk cluster ini.
-
Pilih Buat klaster.
Langkah 2: Hubungkan ke cluster Aurora DSQL Anda
Titik akhir cluster secara otomatis dihasilkan saat Anda membuat cluster Aurora DSQL berdasarkan ID cluster dan Region. Format penamaan adalah
. Klien menggunakan endpoint untuk membuat koneksi jaringan ke cluster Anda.clusterid
.dsql.region
.on.aws
Otentikasi dikelola menggunakan IAM sehingga Anda tidak perlu menyimpan kredensi dalam database. Token otentikasi adalah string karakter unik yang dihasilkan secara dinamis. Token hanya digunakan untuk otentikasi dan tidak memengaruhi koneksi setelah dibuat. Sebelum mencoba terhubung, pastikan identitas IAM Anda memiliki dsql:DbConnectAdmin
izin, seperti yang dijelaskan dalam. Prasyarat
catatan
Untuk mengoptimalkan kecepatan koneksi database, gunakan klien PostgreSQL versi 17 dan atur untuk mengarahkan:. PGSSLNEGOTIATION
PGSSLNEGOTIATION=direct
Untuk terhubung ke klaster Anda dengan token otentikasi
-
Di konsol Aurora DSQL, pilih cluster yang ingin Anda sambungkan.
-
Pilih Hubungkan.
-
Salin titik akhir dari Endpoint (Host).
-
Pastikan Anda Connect as admin dipilih di bagian Authentication token (Password).
-
Salin token otentikasi yang dihasilkan. Token ini berlaku selama 15 menit.
-
Pada baris perintah sistem operasi, gunakan perintah berikut untuk memulai
psql
dan terhubung ke cluster Anda. Ganti
dengan titik akhir cluster yang Anda salin sebelumnya.your_cluster_endpoint
PGSSLMODE=require \ psql --dbname postgres \ --username admin \ --host
your_cluster_endpoint
Saat diminta kata sandi, masukkan token otentikasi yang Anda salin sebelumnya. Jika Anda mencoba menyambung kembali menggunakan token kedaluwarsa, permintaan koneksi ditolak. Untuk informasi selengkapnya, lihat Menghasilkan token otentikasi di Amazon Aurora DSQL.
-
Tekan Enter. Anda akan melihat prompt PostgreSQL.
postgres=>
Jika Anda mendapatkan kesalahan akses ditolak, pastikan identitas IAM Anda memiliki
dsql:DbConnectAdmin
izin. Jika Anda memiliki izin dan terus mendapatkan kesalahan penolakan akses, lihat Memecahkan masalah IAM dan Bagaimana saya bisa memecahkan masalah kesalahan operasi yang ditolak atau tidak sahdengan kebijakan IAM? .
Langkah 3: Jalankan contoh perintah SQL di Aurora DSQL
Uji cluster Aurora DSQL Anda dengan menjalankan pernyataan SQL. Pernyataan contoh berikut memerlukan file data bernama department-insert-multirow.sql
daninvoice.csv
, yang dapat Anda unduh dari aurora-dsql-samplesaws-samples/
Untuk menjalankan contoh perintah SQL di Aurora DSQL
-
Buat skema bernama
example
.CREATE SCHEMA example;
-
Buat tabel faktur yang menggunakan UUID yang dibuat secara otomatis sebagai kunci utama.
CREATE TABLE example.invoice( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), created timestamp, purchaser int, amount float);
-
Buat indeks sekunder yang menggunakan tabel kosong.
CREATE INDEX ASYNC invoice_created_idx on example.invoice(created);
-
Buat tabel departemen.
CREATE TABLE example.department(id INT PRIMARY KEY UNIQUE, name text, email text);
-
Gunakan perintah
psql \include
untuk memuat file bernamadepartment-insert-multirow.sql
yang Anda unduh dari aurora-dsql-samplesaws-samples/repositori aktif. GitHub Ganti my-path
dengan jalur ke salinan lokal Anda.\include
my-path
/department-insert-multirow.sql -
Gunakan perintah
psql \copy
untuk memuat file bernamainvoice.csv
yang Anda unduh dari aurora-dsql-samplesaws-samples/repositori aktif. GitHub Ganti my-path
dengan jalur ke salinan lokal Anda.\copy example.invoice(created, purchaser, amount) from
my-path
/invoice.csv csv -
Tanyakan departemen dan urutkan berdasarkan total penjualan mereka.
SELECT name, sum(amount) AS sum_amount FROM example.department LEFT JOIN example.invoice ON department.id=invoice.purchaser GROUP BY name HAVING sum(amount) > 0 ORDER BY sum_amount DESC;
Output sampel berikut menunjukkan bahwa Departemen Tiga memiliki penjualan terbanyak.
name | sum_amount --------------------------+-------------------- Example Department Three | 54061.67752854594 Example Department Seven | 53869.65965365204 Example Department Eight | 52199.73742066634 Example Department One | 52034.078869900826 Example Department Six | 50886.15556256385 Example Department Two | 50589.98422247931 Example Department Five | 49549.852635496005 Example Department Four | 49266.15578027619 (8 rows)
Langkah 4: Buat cluster Multi-region
Saat Anda membuat cluster Multi-region, Anda menentukan Wilayah berikut:
- Wilayah Terpencil
-
Ini adalah Wilayah tempat Anda membuat cluster kedua. Anda membuat cluster kedua di Region ini dan mengintip ke cluster awal Anda. Aurora DSQL mereplikasi semua penulisan pada cluster awal ke cluster jarak jauh. Anda dapat membaca dan menulis di cluster mana pun.
- Wilayah Saksi
-
Wilayah ini menerima semua data yang ditulis ke cluster Multi-region. Namun, Wilayah saksi tidak meng-host titik akhir klien dan tidak menyediakan akses data pengguna. Jendela terbatas dari log transaksi terenkripsi dipertahankan di Wilayah saksi. Log ini memfasilitasi pemulihan dan mendukung kuorum transaksional jika suatu Wilayah menjadi tidak tersedia.
Contoh berikut menunjukkan cara membuat cluster awal, membuat cluster kedua di Region yang berbeda, dan kemudian mengintip dua cluster untuk membuat cluster Multi-region. Ini juga menunjukkan replikasi penulisan lintas wilayah dan pembacaan yang konsisten dari kedua titik akhir Regional.
Untuk membuat cluster Multi-region
-
Masuk ke AWS Management Console dan buka konsol Aurora DSQL di. https://console.aws.amazon.com/dsql
-
Pada panel navigasi, silakan pilih Klaster.
-
Pilih Buat cluster dan kemudian Multi-Region.
-
(Opsional) Dalam pengaturan Cluster, pilih salah satu opsi berikut untuk klaster awal Anda:
-
Pilih Sesuaikan pengaturan enkripsi (lanjutan) untuk memilih atau membuat AWS KMS key.
-
Pilih Aktifkan perlindungan penghapusan untuk mencegah operasi penghapusan klaster Anda. Secara default, perlindungan penghapusan dipilih.
-
-
Di pengaturan Multi-Region, pilih opsi berikut untuk klaster awal Anda:
-
Di Wilayah Saksi, pilih Wilayah. Saat ini, hanya Wilayah yang berbasis di AS yang didukung untuk menyaksikan Wilayah di klaster Multi-wilayah.
-
(Opsional) Di ARN cluster Remote Region, masukkan ARN untuk cluster yang ada di Wilayah lain. Jika tidak ada klaster yang berfungsi sebagai klaster kedua di klaster Multi-region Anda, selesaikan penyiapan setelah Anda membuat klaster awal.
-
-
(Opsional) Pilih tag untuk klaster awal Anda.
-
Pilih Buat klaster untuk membuat klaster awal Anda. Jika Anda tidak memasukkan ARN pada langkah sebelumnya, konsol akan menampilkan pemberitahuan tertunda pengaturan Cluster.
-
Dalam pemberitahuan tertunda penyiapan klaster, pilih Selesaikan pengaturan klaster Multi-wilayah. Tindakan ini memulai pembuatan cluster kedua di Wilayah lain.
-
Pilih salah satu opsi berikut untuk cluster kedua Anda:
-
Tambahkan ARN cluster Region jarak jauh — Pilih opsi ini jika ada cluster, dan Anda ingin itu menjadi cluster kedua di cluster Multi-region Anda.
-
Buat cluster di Wilayah lain - Pilih opsi ini untuk membuat cluster kedua. Di Remote Region, pilih Region untuk cluster kedua ini.
-
-
Pilih Buat cluster di
your-second-region
, diyour-second-region
mana lokasi cluster kedua Anda. Konsol terbuka di Wilayah kedua Anda. -
(Opsional) Pilih pengaturan cluster untuk cluster kedua Anda. Misalnya, Anda dapat memilih AWS KMS key.
-
Pilih Buat cluster untuk membuat cluster kedua Anda.
-
Pilih Peer in
initial-cluster-region
, di manainitial-cluster-region
adalah Region yang menghosting cluster pertama yang Anda buat. -
Saat diminta, pilih Konfirmasi. Langkah ini melengkapi pembuatan cluster Multi-region Anda.
Untuk terhubung ke cluster kedua
-
Buka konsol Aurora DSQL dan pilih Region untuk cluster kedua Anda.
-
Pilih Klaster.
-
Pilih baris untuk cluster kedua di cluster Multi-region Anda.
-
Dalam Tindakan, pilih Buka di CloudShell.
-
Pilih Connect sebagai admin.
-
Pilih Luncurkan CloudShell.
-
Pilih Jalankan.
-
Buat skema sampel dengan mengikuti langkah-langkah diLangkah 3: Jalankan contoh perintah SQL di Aurora DSQL.
Contoh transaksi
CREATE SCHEMA example; CREATE TABLE example.invoice(id UUID PRIMARY KEY DEFAULT gen_random_uuid(), created timestamp, purchaser int, amount float); CREATE INDEX ASYNC invoice_created_idx on example.invoice(created); CREATE TABLE example.department(id INT PRIMARY KEY UNIQUE, name text, email text);
-
Gunakan
psql
copy
daninclude
perintah untuk memuat data sampel. Untuk informasi selengkapnya, lihat Langkah 3: Jalankan contoh perintah SQL di Aurora DSQL.\copy example.invoice(created, purchaser, amount) from samples/invoice.csv csv \include samples/department-insert-multirow.sql
Untuk melakukan kueri data di klaster kedua dari Region yang menghosting klaster awal Anda
-
Di konsol Aurora DSQL, pilih Region untuk cluster awal Anda.
-
Pilih Klaster.
-
Pilih baris untuk cluster kedua di cluster Multi-region Anda.
-
Dalam Tindakan, pilih Buka di CloudShell.
-
Pilih Connect sebagai admin.
-
Pilih Luncurkan CloudShell.
-
Pilih Jalankan.
-
Kueri data yang Anda masukkan ke dalam cluster kedua.
SELECT name, sum(amount) AS sum_amount FROM example.department LEFT JOIN example.invoice ON department.id=invoice.purchaser GROUP BY name HAVING sum(amount) > 0 ORDER BY sum_amount DESC;