Manajemen koneksi Amazon Aurora - Amazon Aurora

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

Manajemen koneksi Amazon Aurora

Amazon Aurora biasanya menangani sebuah klaster yang terdiri dari beberapa instans DB, bukan instans tunggal. Setiap koneksi ditangani oleh instans DB tertentu. Saat Anda terhubung ke klaster Aurora, nama dan port host yang Anda tentukan akan mengarah ke sebuah handler perantara yang disebut titik akhir. Aurora menggunakan mekanisme titik akhir untuk menyederhanakan koneksi tersebut. Dengan demikian, Anda tidak perlu melakukan hardcode semua nama host atau menulis logika Anda sendiri untuk menyeimbangkan dan mengalihkan koneksi ketika beberapa instance DB tidak tersedia.

Untuk tugas Aurora tertentu, beberapa instans atau grup instans yang berbeda menjalankan peran yang berbeda. Misalnya, instans primer menangani semua laporan bahasa definisi data (DDL) dan bahasa manipulasi data (DML). Hingga 15 Replika Aurora dapat menangani lalu lintas kueri hanya baca.

Dengan menggunakan titik akhir, Anda dapat memetakan setiap koneksi ke instans atau grup instans yang sesuai berdasarkan kasus penggunaan Anda. Misalnya, untuk melakukan laporan DDL, Anda dapat melakukan koneksi ke instans mana pun yang merupakan instans primer. Untuk melakukan kueri, Anda dapat terhubung ke titik akhir pembaca, dengan Aurora secara otomatis melakukan penyeimbangan koneksi di antara semua Replika Aurora. Untuk klaster dengan instans DB yang memiliki kapasitas atau konfigurasi berbeda, Anda dapat melakukan koneksi ke titik akhir kustom yang terkait dengan subset instans DB yang berbeda. Untuk diagnosis atau penyetelan, Anda dapat melakukan koneksi ke titik akhir instans tertentu untuk memeriksa detail tentang instans DB tertentu.

Jenis titik akhir Aurora

Titik akhir direpresentasikan sebagai URL khusus Aurora yang berisi alamat host dan port. Jenis titik akhir berikut tersedia dari klaster DB Aurora.

Titik akhir klaster

Titik akhir klaster (atau titik akhir penulis) untuk sebuah klaster DB Aurora terhubung ke instans DB primer saat ini untuk klaster DB tersebut. Titik akhir ini adalah satu-satunya yang dapat melakukan operasi tulis seperti laporan DDL. Oleh karena itu, titik akhir klaster adalah titik akhir tempat Anda melakukan koneksi saat Anda pertama kali mengatur klaster atau ketika klaster Anda hanya berisi satu instans DB.

Setiap klaster DB Aurora memiliki satu titik akhir klaster dan satu instans DB primer.

Anda menggunakan titik akhir klaster untuk semua operasi tulis pada klaster DB tersebut, termasuk penyisipan, pembaruan, penghapusan, dan perubahan DDL. Anda juga dapat menggunakan titik akhir klaster untuk operasi baca, seperti kueri.

Titik akhir klaster memberikan dukungan failover untuk koneksi baca/tulis ke klaster DB. Jika instans DB primer saat ini pada sebuah klaster DB gagal, Aurora secara otomatis melakukan failover ke instans DB primer yang baru. Selama failover, klaster DB tersebut terus melayani permintaan koneksi ke titik akhir klaster dari instans DB primer yang baru, dengan interupsi layanan yang minimal.

Contoh berikut mengilustrasikan titik akhir klaster untuk sebuah klaster DB Aurora MySQL.

mydbcluster.cluster-c7tj4example.us-east-1.rds.amazonaws.com:3306
Titik akhir pembaca

Titik akhir pembaca untuk cluster Aurora DB menyediakan dukungan penyeimbangan koneksi untuk koneksi hanya-baca ke cluster DB. Gunakan titik akhir pembaca untuk operasi baca, seperti kueri. Dengan memproses laporan tersebut di Replika Aurora hanya baca, titik akhir ini mengurangi overhead pada instans primer. Hal ini juga membantu klaster menskalakan kapasitas untuk menangani kueri SELECT simultan, berbanding lurus dengan jumlah Replika Aurora di klaster. Setiap klaster DB Aurora memiliki satu titik akhir pembaca.

Jika klaster berisi satu atau lebih Replika Aurora, titik akhir pembaca menyeimbangkan setiap permintaan koneksi di antara Replika Aurora. Dalam hal ini, Anda hanya dapat menjalankan pernyataan hanya baca seperti SELECT dalam sesi tersebut. Jika klaster hanya berisi satu instans primer dan tidak ada Replika Aurora, titik akhir pembaca terhubung ke instans primer. Dengan begitu, Anda dapat melakukan operasi baca melalui titik akhir.

Contoh berikut mengilustrasikan titik akhir pembaca untuk sebuah klaster DB Aurora MySQL.

mydbcluster.cluster-ro-c7tj4example.us-east-1.rds.amazonaws.com:3306
Titik akhir kustom

Titik akhir kustom untuk sebuah klaster Aurora merepresentasikan serangkaian instans DB yang Anda pilih. Saat Anda terhubung ke titik akhir, Aurora melakukan penyeimbangan koneksi dan memilih salah satu instance dalam grup untuk menangani koneksi. Anda menentukan instans mana yang dirujuk oleh titik akhir, dan Anda memutuskan apa tujuan dari titik akhir tersebut.

Sebuah klaster DB Aurora tidak akan memiliki titik akhir kustom sebelum Anda membuatnya. Anda dapat membuat hingga lima titik akhir kustom untuk setiap klaster Aurora terprovisi atau klaster Aurora Serverless v2. Anda tidak dapat menggunakan titik akhir kustom untuk klaster Aurora Serverless v1.

Endpoint kustom menyediakan koneksi database yang seimbang berdasarkan kriteria selain kemampuan baca-saja atau baca/tulis dari instans DB. Misalnya, Anda dapat menentukan titik akhir kustom untuk melakukan koneksi ke instans yang menggunakan kelas instans AWS tertentu atau grup parameter DB tertentu. Selanjutnya Anda dapat memberi tahu kelompok pengguna tertentu tentang titik akhir kustom ini. Misalnya, Anda dapat mengarahkan pengguna internal ke instans berkapasitas rendah untuk pembuatan laporan atau kueri ad hoc (sekali waktu), dan mengarahkan lalu lintas produksi ke instans berkapasitas tinggi.

Karena koneksinya dapat menuju ke setiap instans DB yang dikaitkan dengan titik akhir kustom, kami menyarankan Anda untuk memastikan bahwa semua instans DB yang berada dalam grup tersebut memiliki beberapa karakteristik serupa. Hal tersebut akan memastikan bahwa performa, kapasitas memori, dsb, konsisten untuk semua orang yang melakukan koneksi ke titik akhir tersebut.

Fitur ini ditujukan bagi pengguna tingkat lanjut dengan beban kerja khusus yang kebutuhannya tidak akan terpenuhi jika semua Replika Aurora di klaster tetap identik. Dengan titik akhir kustom, Anda dapat memprediksi kapasitas instans DB yang digunakan untuk setiap koneksi. Saat Anda menggunakan titik akhir kustom, Anda biasanya tidak menggunakan titik akhir pembaca untuk klaster tersebut.

Contoh berikut mengilustrasikan titik akhir kustom untuk sebuah instans DB di sebuah klaster DB Aurora MySQL.

myendpoint.cluster-custom-c7tj4example.us-east-1.rds.amazonaws.com:3306
Titik akhir instans

Titik akhir instans melakukan koneksi ke sebuah instans DB tertentu di dalam klaster Aurora. Setiap instans DB dalam sebuah klaster DB memiliki titik akhir yang unik. Jadi, ada satu titik akhir instans untuk instans DB primer saat ini di klaster DB, dan ada satu titik akhir untuk setiap Replika Aurora di klaster DB tersebut.

Titik akhir instans menyediakan kontrol langsung atas koneksi ke klaster DB untuk skenario yang tidak memungkinkan penggunaan titik akhir klaster atau titik akhir pembaca. Misalnya, aplikasi klien Anda mungkin memerlukan penyeimbangan koneksi yang lebih halus berdasarkan jenis beban kerja. Dalam hal ini, Anda dapat mengonfigurasi beberapa klien untuk melakukan koneksi ke Replika Aurora yang berbeda dalam klaster DB untuk mendistribusikan beban kerja baca. Untuk mengetahui contoh yang menggunakan titik akhir instans untuk meningkatkan kecepatan koneksi setelah failover untuk Aurora PostgreSQL, lihat Failover cepat dengan Amazon Aurora PostgreSQL. Untuk mengetahui contoh yang menggunakan titik akhir instans untuk meningkatkan kecepatan koneksi setelah failover untuk Aurora MySQL, lihat Dukungan failover Connector/J MariaDB – kasus Amazon Aurora.

Contoh berikut mengilustrasikan titik akhir instans untuk sebuah instans DB di sebuah klaster DB Aurora MySQL.

mydbinstance.c7tj4example.us-east-1.rds.amazonaws.com:3306

Melihat titik akhir untuk klaster Aurora

Di AWS Management Console, Anda melihat titik akhir cluster, titik akhir pembaca, dan titik akhir kustom apa pun di halaman detail untuk setiap cluster. Anda melihat titik akhir instans di halaman detail untuk setiap instans. Saat Anda terhubung, Anda harus menambahkan nomor port terkait, setelah simbol titik dua, ke nama titik akhir yang ditampilkan di halaman detail ini.

Dengan AWS CLI, Anda melihat penulis, pembaca, dan titik akhir kustom apa pun dalam output perintah deskripsi-db-cluster. Misalnya, perintah berikut menunjukkan atribut endpoint untuk semua cluster di Region Anda saat ini AWS .

aws rds describe-db-clusters --query '*[].{Endpoint:Endpoint,ReaderEndpoint:ReaderEndpoint,CustomEndpoints:CustomEndpoints}'

Dengan Amazon RDS API, Anda mengambil titik akhir dengan memanggil fungsi describeDB. ClusterEndpoints

Menggunakan endpoint klaster

Karena setiap klaster Aurora memiliki satu titik akhir klaster default, yang nama dan atribut lainnya dikelola oleh Aurora, Anda tidak dapat membuat, menghapus, atau mengubah jenis titik akhir ini.

Anda menggunakan titik akhir klaster saat mengoperasikan klaster Anda, melakukan operasi extract, transform, and load (ETL), atau mengembangkan dan menguji aplikasi. Titik akhir klaster terhubung ke instans primer dari klaster tersebut. Instans primer adalah satu-satunya instans DB yang memungkinkan Anda membuat tabel dan indeks, menjalankan pernyataan INSERT, dan melakukan operasi DDL dan DML lainnya.

Alamat IP fisik yang ditunjuk oleh titik akhir klaster akan berubah ketika mekanisme failover mempromosikan instans DB baru untuk menjadi instans primer baca/tulis untuk klaster tersebut. Jika Anda menggunakan segala bentuk penyatuan koneksi atau multiplexing lainnya, bersiaplah untuk menyiram atau mengurangi informasi DNS yang time-to-live di-cache. Dengan melakukannya, Anda dipastikan tidak akan mencoba membuat koneksi baca/tulis ke instans DB yang menjadi tidak tersedia atau menjadi hanya baca setelah terjadi failover.

Menggunakan titik akhir pembaca

Anda menggunakan titik akhir pembaca untuk koneksi hanya baca untuk klaster Aurora Anda. Titik akhir ini menggunakan mekanisme penyeimbangan koneksi untuk membantu klaster Anda menangani beban kerja intensif kueri. Titik akhir pembaca adalah titik akhir yang Anda berikan ke aplikasi yang melakukan pelaporan atau operasi hanya baca lain pada klaster.

Titik akhir pembaca menyeimbangkan koneksi ke Replika Aurora yang tersedia di cluster Aurora DB. Itu tidak menyeimbangkan kueri individu. Jika Anda ingin menyeimbangkan setiap kueri untuk mendistribusikan beban kerja baca untuk kluster DB, buka koneksi baru ke titik akhir pembaca untuk setiap kueri.

Setiap klaster Aurora memiliki satu titik akhir pembaca default, yang nama dan atribut lainnya dikelola oleh Aurora. Anda tidak dapat membuat, menghapus, atau memodifikasi titik akhir semacam ini.

Jika klaster Anda hanya berisi instans primer dan tidak ada Replika Aurora, titik akhir pembaca akan terhubung ke instans primer. Dalam hal ini, Anda dapat melakukan operasi tulis melalui titik akhir ini.

Tip

Melalui Proksi RDS, Anda dapat membuat titik akhir hanya baca tambahan untuk sebuah klaster Aurora. Titik akhir ini melakukan penyeimbangan koneksi yang sama dengan titik akhir pembaca Aurora. Aplikasi dapat terhubung kembali lebih cepat ke titik akhir proksi daripada titik akhir pembaca Aurora jika instans pembaca menjadi tidak tersedia. Titik akhir proksi juga dapat memanfaatkan fitur proksi lainnya seperti multiplexing. Untuk informasi selengkapnya, lihat Menggunakan titik akhir pembaca dengan klaster Aurora.

Menggunakan titik akhir kustom

Anda menggunakan titik akhir kustom untuk menyederhanakan manajemen koneksi saat klaster Anda berisi beberapa instans DB dengan pengaturan kapasitas dan konfigurasi yang berbeda-beda.

Sebelumnya, Anda mungkin telah menggunakan mekanisme CNAMES untuk mengatur alias Layanan Nama Domain (DNS) dari domain Anda sendiri untuk mendapatkan hasil yang sama. Dengan menggunakan titik akhir kustom, Anda tidak perlu memperbarui catatan CNAME ketika klaster Anda membesar atau menyusut. Titik akhir kustom juga berarti bahwa Anda dapat menggunakan koneksi Keamanan Lapisan Pengangkutan/Lapisan Soket Aman (TLS/SSL).

Daripada menggunakan satu instans DB untuk setiap tujuan khusus dan melakukan koneksi titik akhir instans, Anda dapat memiliki beberapa grup instans DB khusus. Dalam hal ini, setiap grup memiliki titik akhir kustom tersendiri. Dengan cara ini, Aurora dapat melakukan penyeimbangan koneksi di antara semua instance yang didedikasikan untuk tugas-tugas seperti pelaporan atau penanganan produksi atau kueri internal. Endpoint kustom mendistribusikan koneksi di seluruh instance secara pasif, menggunakan DNS untuk mengembalikan alamat IP salah satu instance secara acak. Jika salah satu instans DB dalam sebuah grup tidak tersedia, Aurora mengarahkan koneksi titik akhir kustom berikutnya ke salah satu instans DB yang terkait dengan titik akhir yang sama.

Menentukan properti untuk titik akhir kustom

Panjang maksimum untuk nama titik akhir kustom adalah 63 karakter. Format namanya adalah sebagai berikut:

endpoint_name.cluster-custom-customer_DNS_identifier.AWS_Region.rds.amazonaws.com

Anda tidak dapat menggunakan kembali nama titik akhir kustom yang sama untuk lebih dari satu klaster di Wilayah AWS yang sama. Pengenal DNS pelanggan adalah pengenal unik yang terkait dengan Anda Akun AWS di tempat tertentu. Wilayah AWS

Setiap titik akhir kustom memiliki jenis terkait yang menentukan instans DB mana yang memenuhi syarat untuk dikaitkan dengan titik akhir tersebut. Saat ini, jenisnya bisa berupa READER, WRITER, atau ANY. Pertimbangan berikut berlaku untuk jenis titik akhir kustom:

  • Anda tidak dapat memilih jenis titik akhir kustom di AWS Management Console. Semua titik akhir kustom yang Anda buat melalui AWS Management Console memiliki jenis. ANY

    Anda dapat mengatur dan memodifikasi tipe endpoint kustom menggunakan AWS CLI atau Amazon RDS API.

  • Hanya instans DB pembaca yang dapat menjadi bagian dari titik akhir kustom READER.

  • Instans DB pembaca dan penulis dapat menjadi bagian dari titik akhir kustom ANY. Aurora mengarahkan koneksi ke titik akhir klaster dengan jenis ANY ke instans DB terkait mana saja dengan probabilitas yang sama. Jenis ANY berlaku untuk klaster yang menggunakan topologi replikasi mana pun.

  • Jika Anda mencoba membuat titik akhir kustom dengan jenis yang tidak sesuai berdasarkan konfigurasi replikasi untuk klaster, Aurora akan memunculkan pesan kesalahan.

Aturan keanggotaan untuk titik akhir kustom

Saat Anda menambahkan instans DB ke titik akhir kustom atau menghapusnya dari titik akhir kustom, koneksi apa pun yang ada ke instans DB tersebut tetap aktif.

Anda dapat menetapkan daftar instans DB untuk disertakan dalam, atau dikecualikan dari, sebuah titik akhir kustom. Kami menyebut daftar ini masing-masing sebagai daftar statis dan pengecualian. Anda dapat menggunakan mekanisme penyertaan/pengecualian untuk membagi kembali grup instans DB, dan untuk memastikan bahwa rangkaian titik akhir kustom tersebut telah mencakup semua instans DB dalam klaster. Setiap titik akhir kustom hanya dapat berisi salah satu jenis daftar tersebut.

Dalam AWS Management Console:

  • Pilihannya ditunjukkan oleh kotak centang Lampirkan instans masa depan yang ditambahkan ke klaster ini. Jika Anda membiarkan kotak centang ini kosong, titik akhir kustom akan menggunakan daftar statis yang hanya berisi instans DB yang ditentukan pada halaman. Jika Anda memilih kotak centang ini, titik akhir kustom akan menggunakan daftar pengecualian. Dalam hal ini, titik akhir kustom merepresentasikan semua instans DB di dalam klaster (termasuk yang Anda tambahkan di masa mendatang) kecuali yang tidak dipilih di halaman tersebut.

  • Konsol tidak memungkinkan Anda menentukan jenis titik akhir. Titik akhir kustom apa pun yang dibuat menggunakan konsol akan memiliki jenis ANY.

    Oleh karena itu, Aurora tidak mengubah keanggotaan titik akhir kustom ketika instans DB berganti peran antara penulis dan pembaca karena failover atau promosi.

Di API RDS Amazon AWS CLI dan Amazon:

  • Anda dapat menentukan jenis titik akhir. Oleh karena itu, ketika jenis titik akhir diatur ke READER atau WRITER, keanggotaan titik akhir secara otomatis disesuaikan selama failover dan promosi.

    Misalnya, titik akhir kustom dengan jenis READER mencakup Replika Aurora yang kemudian dipromosikan menjadi instans penulis. Instans penulis baru ini tidak lagi menjadi bagian dari titik akhir kustom.

  • Anda dapat menambahkan anggota individu ke dan menghapusnya dari daftar setelah perannya berubah. Gunakan perintah modify-db-cluster-endpoint atau operasi ModifyDBAWS CLI API. ClusterEndpoint

Anda dapat mengaitkan instans DB dengan lebih dari satu titik akhir kustom. Misalnya, anggaplah Anda menambahkan instans DB baru ke sebuah klaster, atau Aurora menambahkan instans DB secara otomatis melalui mekanisme penskalaan otomatis. Dalam hal ini, instans DB ditambahkan ke semua titik akhir kustom yang memenuhi syarat. Titik akhir mana yang ditambahkan ke instans DB akan ditentukan berdasarkan jenis titik akhir kustom READER, WRITER, atau ANY, ditambah daftar statis atau pengecualian yang ditentukan untuk setiap titik akhir. Misalnya, jika titik akhir tersebut mencakup daftar statis instans DB, Replika Aurora yang baru tidak ditambahkan ke titik akhir tersebut. Sebaliknya, jika titik akhir tersebut memiliki daftar pengecualian, Replika Aurora yang baru akan ditambahkan ke titik akhir, jika tidak disebutkan dalam daftar pengecualian dan perannya cocok dengan jenis titik akhir kustom tersebut.

Jika Replika Aurora menjadi tidak tersedia, Replika Aurora ini akan tetap dikaitkan dengan titik akhir kustom. Misalnya, Replika Aurora tetap menjadi bagian dari titik akhir kustom jika tidak berkondisi baik, dihentikan, di-boot ulang, dan seterusnya. Namun, Anda tidak dapat melakukan koneksi ke Replika Aurora melalui titik akhir tersebut hingga tersedia kembali.

Mengelola titik akhir kustom

Karena klaster Aurora yang baru dibuat tidak memiliki titik akhir kustom, Anda harus membuat dan mengelola objek ini sendiri. Anda melakukannya menggunakan AWS Management Console, AWS CLI, atau Amazon RDS API.

catatan

Anda juga harus membuat dan mengelola titik akhir kustom untuk klaster Aurora yang dipulihkan dari snapshot. Titik akhir kustom tidak disertakan dalam snapshot. Anda membuatnya kembali setelah memulihkan, dan memilih nama titik akhir baru jika klaster yang dipulihkan berada di wilayah yang sama dengan yang asli.

Untuk bekerja dengan titik akhir kustom dari AWS Management Console, Anda menavigasi ke halaman detail untuk klaster Aurora Anda dan menggunakan kontrol di bawah bagian Titik Akhir Kustom.

Untuk bekerja dengan titik akhir kustom dari AWS CLI, Anda dapat menggunakan operasi ini:

Untuk menangani titik akhir kustom melalui API Amazon RDS, Anda dapat menggunakan fungsi berikut:

Membuat titik akhir kustom

Untuk membuat endpoint kustom dengan AWS Management Console, buka halaman detail cluster dan pilih Create custom endpoint tindakan di bagian Endpoints. Pilih nama untuk titik akhir kustom, yang unik untuk ID pengguna dan wilayah Anda. Untuk memilih daftar instans DB yang tetap sama bahkan saat ukuran klaster bertambah, kosongkan kotak centang Lampirkan instans masa depan yang ditambahkan ke klaster ini. Saat Anda memilih kotak centang tersebut, titik akhir kustom akan secara dinamis menambahkan instans baru saat Anda menambahkannya ke klaster.

Anda tidak dapat memilih jenis titik akhir kustom ANY atau READER di AWS Management Console. Semua titik akhir kustom yang Anda buat melalui AWS Management Console memiliki jenis ANY.

Untuk membuat titik akhir kustom dengan AWS CLI, jalankan perintah create-db-cluster-endpoint.

Perintah berikut membuat titik akhir kustom yang dilampirkan ke klaster tertentu. Awalnya, titik akhir ini dikaitkan dengan semua instans Replika Aurora di dalam klaster. Perintah berikutnya mengaitkannya dengan serangkaian instans DB tertentu dalam klaster.

Untuk Linux, macOS, atau Unix:

aws rds create-db-cluster-endpoint --db-cluster-endpoint-identifier custom-endpoint-doc-sample \ --endpoint-type reader \ --db-cluster-identifier cluster_id aws rds modify-db-cluster-endpoint --db-cluster-endpoint-identifier custom-endpoint-doc-sample \ --static-members instance_name_1 instance_name_2

Untuk Windows:

aws rds create-db-cluster-endpoint --db-cluster-endpoint-identifier custom-endpoint-doc-sample ^ --endpoint-type reader ^ --db-cluster-identifier cluster_id aws rds modify-db-cluster-endpoint --db-cluster-endpoint-identifier custom-endpoint-doc-sample ^ --static-members instance_name_1 instance_name_2

Untuk membuat endpoint kustom dengan RDS API, jalankan operasi ClusterEndpointcreateDB.

Melihat titik akhir kustom

Untuk melihat titik akhir kustom dengan AWS Management Console, buka halaman detail cluster untuk cluster dan lihat di bawah bagian Endpoints. Bagian ini berisi informasi tentang titik akhir kustom saja. Detail untuk titik akhir default tercantum dalam bagian Detail utama. Untuk melihat detail titik akhir kustom tertentu, pilih nama titik akhir guna menampilkan halaman detail untuk titik akhir tersebut.

Tangkapan layar berikut menunjukkan bahwa daftar titik akhir kustom untuk klaster Aurora awalnya kosong.

Setelah Anda membuat beberapa titik akhir kustom untuk klaster tersebut, titik akhir ini ditampilkan di bagian Titik Akhir.

Dengan mengklik halaman detail, akan terlihat instans DB mana yang saat ini dikaitkan dengan titik akhir tersebut.

Untuk melihat detail tambahan tentang apakah instans DB yang baru ditambahkan ke klaster juga secara otomatis ditambahkan ke titik akhir, buka halaman Edit untuk titik akhir.

Untuk melihat titik akhir kustom dengan AWS CLI, jalankan perintah describe-db-cluster-endpoints.

Perintah berikut akan menampilkan titik akhir kustom yang terkait dengan klaster tertentu di wilayah tertentu. Output-nya mencakup titik akhir default dan titik akhir kustom.

Untuk Linux, macOS, atau Unix:

aws rds describe-db-cluster-endpoints --region region_name \ --db-cluster-identifier cluster_id

Untuk Windows:

aws rds describe-db-cluster-endpoints --region region_name ^ --db-cluster-identifier cluster_id

Hal berikut menunjukkan beberapa output sampel dari perintah describe-db-cluster-endpoints. EndpointType yang bernilai WRITER atau READER menunjukkan titik akhir baca/tulis dan titik akhir hanya baca default untuk klaster tersebut. EndpointType yang bernilai CUSTOM menunjukkan titik akhir yang Anda buat dan pilih untuk instans DB terkait. Salah satu titik akhir memiliki bidang StaticMembers yang terisi, yang menunjukkan bahwa titik akhir tersebut dikaitkan dengan rangkaian instans DB spesifik. Titik akhir lainnya memiliki bidang ExcludedMembers yang terisi, menunjukkan bahwa titik akhir ini dikaitkan dengan semua instans DB selain yang tercantum dalam ExcludedMembers. Jenis kedua dari titik akhir kustom ini akan bertambah untuk mengakomodasi instans baru saat Anda menambahkannya ke klaster.

{ "DBClusterEndpoints": [ { "Endpoint": "custom-endpoint-demo.cluster-c7tj4example.ca-central-1.rds.amazonaws.com", "Status": "available", "DBClusterIdentifier": "custom-endpoint-demo", "EndpointType": "WRITER" }, { "Endpoint": "custom-endpoint-demo.cluster-ro-c7tj4example.ca-central-1.rds.amazonaws.com", "Status": "available", "DBClusterIdentifier": "custom-endpoint-demo", "EndpointType": "READER" }, { "CustomEndpointType": "ANY", "DBClusterEndpointIdentifier": "powers-of-2", "ExcludedMembers": [], "DBClusterIdentifier": "custom-endpoint-demo", "Status": "available", "EndpointType": "CUSTOM", "Endpoint": "powers-of-2.cluster-custom-c7tj4example.ca-central-1.rds.amazonaws.com", "StaticMembers": [ "custom-endpoint-demo-04", "custom-endpoint-demo-08", "custom-endpoint-demo-01", "custom-endpoint-demo-02" ], "DBClusterEndpointResourceIdentifier": "cluster-endpoint-W7PE3TLLFNSHXQKFU6J6NV5FHU", "DBClusterEndpointArn": "arn:aws:rds:ca-central-1:111122223333:cluster-endpoint:powers-of-2" }, { "CustomEndpointType": "ANY", "DBClusterEndpointIdentifier": "eight-and-higher", "ExcludedMembers": [ "custom-endpoint-demo-04", "custom-endpoint-demo-02", "custom-endpoint-demo-07", "custom-endpoint-demo-05", "custom-endpoint-demo-03", "custom-endpoint-demo-06", "custom-endpoint-demo-01" ], "DBClusterIdentifier": "custom-endpoint-demo", "Status": "available", "EndpointType": "CUSTOM", "Endpoint": "eight-and-higher.cluster-custom-123456789012.ca-central-1.rds.amazonaws.com", "StaticMembers": [], "DBClusterEndpointResourceIdentifier": "cluster-endpoint-W7PE3TLLFNSHYQKFU6J6NV5FHU", "DBClusterEndpointArn": "arn:aws:rds:ca-central-1:111122223333:cluster-endpoint:eight-and-higher" } ] }

Untuk melihat titik akhir kustom dengan RDS API, jalankan operasi ClusterEndpointsDescribeDB .html.

Mengedit titik akhir kustom

Anda dapat mengubah mengedit titik akhir kustom untuk mengubah instans DB mana yang dikaitkan dengan titik akhir tersebut. Anda juga dapat mengubah titik akhir di antara daftar statis dan daftar pengecualian. Jika Anda membutuhkan detail selengkapnya tentang properti titik akhir ini, lihat Aturan keanggotaan untuk titik akhir kustom.

Anda dapat terus terhubung ke dan menggunakan titik akhir kustom saat perubahan dari tindakan edit sedang berlangsung.

Untuk mengedit titik akhir kustom dengan AWS Management Console, Anda dapat memilih titik akhir pada halaman detail cluster, atau memunculkan halaman detail untuk titik akhir, dan memilih tindakan Edit.

Untuk mengedit titik akhir kustom dengan AWS CLI, jalankan perintah modify-db-cluster-endpoint.

Perintah berikut akan mengubah rangkaian instans DB yang diterapkan ke titik akhir kustom dan secara opsional beralih di antara perilaku daftar statis atau daftar pengecualian. Parameter --static-members dan --excluded-members mengambil daftar pengidentifikasi instans DB yang dipisahkan oleh spasi.

Untuk Linux, macOS, atau Unix:

aws rds modify-db-cluster-endpoint --db-cluster-endpoint-identifier my-custom-endpoint \ --static-members db-instance-id-1 db-instance-id-2 db-instance-id-3 \ --region region_name aws rds modify-db-cluster-endpoint --db-cluster-endpoint-identifier my-custom-endpoint \ --excluded-members db-instance-id-4 db-instance-id-5 \ --region region_name

Untuk Windows:

aws rds modify-db-cluster-endpoint --db-cluster-endpoint-identifier my-custom-endpoint ^ --static-members db-instance-id-1 db-instance-id-2 db-instance-id-3 ^ --region region_name aws rds modify-db-cluster-endpoint --db-cluster-endpoint-identifier my-custom-endpoint ^ --excluded-members db-instance-id-4 db-instance-id-5 ^ --region region_name

Untuk mengedit titik akhir kustom dengan RDS API, jalankan operasi ModifyDB ClusterEndpoint .html.

Menghapus titik akhir kustom

Untuk menghapus titik akhir kustom dengan AWS Management Console, buka halaman detail cluster, pilih titik akhir kustom yang sesuai, dan pilih tindakan Hapus.

Untuk menghapus titik akhir kustom dengan AWS CLI, jalankan perintah delete-db-cluster-endpoint.

Perintah berikut akan menghapus titik akhir kustom. Anda tidak perlu menentukan klaster terkait, tetapi Anda harus menentukan wilayah.

Untuk Linux, macOS, atau Unix:

aws rds delete-db-cluster-endpoint --db-cluster-endpoint-identifier custom-end-point-id \ --region region_name

Untuk Windows:

aws rds delete-db-cluster-endpoint --db-cluster-endpoint-identifier custom-end-point-id ^ --region region_name

Untuk menghapus titik akhir kustom dengan RDS API, jalankan operasi ClusterEndpointDeleteDB.

AWS CLI Contoh ujung ke ujung untuk titik akhir khusus

Tutorial berikut menggunakan AWS CLI contoh dengan sintaks shell Unix untuk menunjukkan bahwa Anda mungkin mendefinisikan cluster dengan beberapa instance DB “kecil” dan beberapa instance DB “besar”, dan membuat titik akhir khusus untuk terhubung ke setiap set instance DB. Untuk menjalankan perintah serupa pada sistem Anda sendiri, Anda harus cukup akrab dengan dasar-dasar bekerja dengan cluster Aurora dan AWS CLI penggunaan untuk menyediakan nilai Anda sendiri untuk parameter seperti wilayah, grup subnet, dan grup keamanan VPC.

Contoh ini menunjukkan langkah pengaturan awal: membuat klaster Aurora dan menambahkan instans DB ke dalamnya. Ini adalah klaster heterogen, yang berarti tidak semua instans DB memiliki kapasitas yang sama. Sebagian besar instance menggunakan kelas AWS instancedb.r4.4xlarge, tetapi dua instance DB terakhir menggunakan. db.r4.16xlarge Masing-masing sampel perintah create-db-instance ini mencetak output-nya ke layar dan menyimpan salinan JSON dalam file untuk pemeriksaan di lain waktu.

aws rds create-db-cluster --db-cluster-identifier custom-endpoint-demo --engine aurora-mysql \ --engine-version 8.0.mysql_aurora.3.02.0 --master-username $MASTER_USER --manage-master-user-password \ --db-subnet-group-name $SUBNET_GROUP --vpc-security-group-ids $VPC_SECURITY_GROUP \ --region $REGION for i in 01 02 03 04 05 06 07 08 do aws rds create-db-instance --db-instance-identifier custom-endpoint-demo-${i} \ --engine aurora --db-cluster-identifier custom-endpoint-demo --db-instance-class db.r4.4xlarge \ --region $REGION \ | tee custom-endpoint-demo-${i}.json done for i in 09 10 do aws rds create-db-instance --db-instance-identifier custom-endpoint-demo-${i} \ --engine aurora --db-cluster-identifier custom-endpoint-demo --db-instance-class db.r4.16xlarge \ --region $REGION \ | tee custom-endpoint-demo-${i}.json done

Instans yang lebih besar dicadangkan untuk jenis kueri pelaporan khusus. Agar instans tersebut tidak dipromosikan menjadi instans primer, contoh berikut ini mengubah tingkat promosinya ke prioritas terendah. Contoh ini menentukan opsi --manage-master-user-password untuk menghasilkan kata sandi pengguna master dan mengelolanya di Secrets Manager. Untuk informasi selengkapnya, lihat Manajemen kata sandi dengan dan AWS Secrets Manager. Alternatifnya, Anda dapat menggunakan opsi --master-password untuk menentukan dan mengelola kata sandi sendiri.

for i in 09 10 do aws rds modify-db-instance --db-instance-identifier custom-endpoint-demo-${i} \ --region $REGION --promotion-tier 15 done

Misalnya, Anda ingin menggunakan dua instans “lebih besar” hanya untuk kueri yang membutuhkan banyak sumber daya. Untuk melakukannya, Anda dapat membuat titik akhir hanya baca kustom. Kemudian Anda dapat menambahkan daftar statis anggota sehingga titik akhir hanya terhubung ke instans DB tersebut. Instans tersebut sudah berada di tingkat promosi terendah, sehingga tidak mungkin dipromosikan menjadi instans primer. Jika salah satunya dipromosikan menjadi instans utama, instans tersebut menjadi tidak dapat dijangkau melalui titik akhir ini karena kita menetapkan jenis READER dan bukan jenis ANY.

Contoh berikut menunjukkan perintah pembuatan dan modifikasi titik akhir, serta sampel output JSON yang menunjukkan status awal dan status yang dimodifikasi untuk titik akhir kustom tersebut.

$ aws rds create-db-cluster-endpoint --region $REGION \ --db-cluster-identifier custom-endpoint-demo \ --db-cluster-endpoint-identifier big-instances --endpoint-type reader { "EndpointType": "CUSTOM", "Endpoint": "big-instances.cluster-custom-c7tj4example.ca-central-1.rds.amazonaws.com", "DBClusterEndpointIdentifier": "big-instances", "DBClusterIdentifier": "custom-endpoint-demo", "StaticMembers": [], "DBClusterEndpointResourceIdentifier": "cluster-endpoint-W7PE3TLLFNSHXQKFU6J6NV5FHU", "ExcludedMembers": [], "CustomEndpointType": "READER", "Status": "creating", "DBClusterEndpointArn": "arn:aws:rds:ca-central-1:111122223333:cluster-endpoint:big-instances" } $ aws rds modify-db-cluster-endpoint --db-cluster-endpoint-identifier big-instances \ --static-members custom-endpoint-demo-09 custom-endpoint-demo-10 --region $REGION { "EndpointType": "CUSTOM", "ExcludedMembers": [], "DBClusterEndpointIdentifier": "big-instances", "DBClusterEndpointResourceIdentifier": "cluster-endpoint-W7PE3TLLFNSHXQKFU6J6NV5FHU", "CustomEndpointType": "READER", "DBClusterEndpointArn": "arn:aws:rds:ca-central-1:111122223333:cluster-endpoint:big-instances", "StaticMembers": [ "custom-endpoint-demo-10", "custom-endpoint-demo-09" ], "Status": "modifying", "Endpoint": "big-instances.cluster-custom-c7tj4example.ca-central-1.rds.amazonaws.com", "DBClusterIdentifier": "custom-endpoint-demo" }

Titik akhir READER default untuk klaster dapat terhubung ke instans DB “kecil” atau “besar”, sehingga tidak praktis untuk memprediksi performa dan skalabilitas kueri ketika klaster menjadi sibuk. Untuk membagi beban kerja secara merata di antara sejumlah rangkaian instans DB, Anda dapat mengabaikan titik akhir READER default dan membuat titik akhir kustom kedua yang terhubung ke semua instans DB lainnya. Contoh berikut melakukannya dengan membuat titik akhir kustom, lalu menambahkan daftar pengecualian. Instans DB lain yang Anda tambahkan ke klaster di masa mendatang akan secara otomatis ditambahkan ke titik akhir ini. Jenis ANY berarti bahwa titik akhir ini terkait dengan total delapan instans: instans primer dan tujuh Replika Aurora lainnya. Jika contohnya menggunakan jenis READER, titik akhir kustom hanya akan dikaitkan dengan tujuh Replika Aurora.

$ aws rds create-db-cluster-endpoint --region $REGION --db-cluster-identifier custom-endpoint-demo \ --db-cluster-endpoint-identifier small-instances --endpoint-type any { "Status": "creating", "DBClusterEndpointIdentifier": "small-instances", "CustomEndpointType": "ANY", "EndpointType": "CUSTOM", "Endpoint": "small-instances.cluster-custom-c7tj4example.ca-central-1.rds.amazonaws.com", "StaticMembers": [], "ExcludedMembers": [], "DBClusterIdentifier": "custom-endpoint-demo", "DBClusterEndpointArn": "arn:aws:rds:ca-central-1:111122223333:cluster-endpoint:small-instances", "DBClusterEndpointResourceIdentifier": "cluster-endpoint-6RDDXQOC3AKKZT2PRD7ST37BMY" } $ aws rds modify-db-cluster-endpoint --db-cluster-endpoint-identifier small-instances \ --excluded-members custom-endpoint-demo-09 custom-endpoint-demo-10 --region $REGION { "DBClusterEndpointIdentifier": "small-instances", "DBClusterEndpointArn": "arn:aws:rds:ca-central-1:c7tj4example:cluster-endpoint:small-instances", "DBClusterEndpointResourceIdentifier": "cluster-endpoint-6RDDXQOC3AKKZT2PRD7ST37BMY", "CustomEndpointType": "ANY", "Endpoint": "small-instances.cluster-custom-c7tj4example.ca-central-1.rds.amazonaws.com", "EndpointType": "CUSTOM", "ExcludedMembers": [ "custom-endpoint-demo-09", "custom-endpoint-demo-10" ], "StaticMembers": [], "DBClusterIdentifier": "custom-endpoint-demo", "Status": "modifying" }

Contoh berikut memeriksa status titik akhir untuk klaster ini. Klaster ini masih memiliki titik akhir klaster aslinya, dengan EndPointType yang bernilai WRITER, yang masih akan Anda gunakan untuk operasi administrasi, ETL, dan operasi tulis lainnya. Klaster ini masih memiliki titik akhir READER aslinya, yang tidak akan Anda gunakan karena setiap koneksi yang diterimanya dapat diarahkan ke instans DB "kecil" atau "besar". Dengan titik akhir kustom, perilaku tersebut menjadi dapat diprediksi, dengan koneksi yang dipastikan akan menggunakan salah satu instans DB “kecil” atau “besar” berdasarkan titik akhir yang Anda tentukan.

$ aws rds describe-db-cluster-endpoints --region $REGION { "DBClusterEndpoints": [ { "EndpointType": "WRITER", "Endpoint": "custom-endpoint-demo.cluster-c7tj4example.ca-central-1.rds.amazonaws.com", "Status": "available", "DBClusterIdentifier": "custom-endpoint-demo" }, { "EndpointType": "READER", "Endpoint": "custom-endpoint-demo.cluster-ro-c7tj4example.ca-central-1.rds.amazonaws.com", "Status": "available", "DBClusterIdentifier": "custom-endpoint-demo" }, { "Endpoint": "small-instances.cluster-custom-c7tj4example.ca-central-1.rds.amazonaws.com", "CustomEndpointType": "ANY", "DBClusterEndpointArn": "arn:aws:rds:ca-central-1:111122223333:cluster-endpoint:small-instances", "ExcludedMembers": [ "custom-endpoint-demo-09", "custom-endpoint-demo-10" ], "DBClusterEndpointResourceIdentifier": "cluster-endpoint-6RDDXQOC3AKKZT2PRD7ST37BMY", "DBClusterIdentifier": "custom-endpoint-demo", "StaticMembers": [], "EndpointType": "CUSTOM", "DBClusterEndpointIdentifier": "small-instances", "Status": "modifying" }, { "Endpoint": "big-instances.cluster-custom-c7tj4example.ca-central-1.rds.amazonaws.com", "CustomEndpointType": "READER", "DBClusterEndpointArn": "arn:aws:rds:ca-central-1:111122223333:cluster-endpoint:big-instances", "ExcludedMembers": [], "DBClusterEndpointResourceIdentifier": "cluster-endpoint-W7PE3TLLFNSHXQKFU6J6NV5FHU", "DBClusterIdentifier": "custom-endpoint-demo", "StaticMembers": [ "custom-endpoint-demo-10", "custom-endpoint-demo-09" ], "EndpointType": "CUSTOM", "DBClusterEndpointIdentifier": "big-instances", "Status": "available" } ] }

Contoh terakhir menunjukkan koneksi basis data berurutan ke titik akhir kustom terhubung dengan berbagai instans DB dalam klaster Aurora. Titik akhir small-instances selalu terhubung ke instans DB db.r4.4xlarge, yang merupakan host bernomor lebih rendah dalam klaster ini.

$ mysql -h small-instances.cluster-custom-c7tj4example.ca-central-1.rds.amazonaws.com -u $MYUSER -p mysql> select @@aurora_server_id; +-------------------------+ | @@aurora_server_id | +-------------------------+ | custom-endpoint-demo-02 | +-------------------------+ $ mysql -h small-instances.cluster-custom-c7tj4example.ca-central-1.rds.amazonaws.com -u $MYUSER -p mysql> select @@aurora_server_id; +-------------------------+ | @@aurora_server_id | +-------------------------+ | custom-endpoint-demo-07 | +-------------------------+ $ mysql -h small-instances.cluster-custom-c7tj4example.ca-central-1.rds.amazonaws.com -u $MYUSER -p mysql> select @@aurora_server_id; +-------------------------+ | @@aurora_server_id | +-------------------------+ | custom-endpoint-demo-01 | +-------------------------+

Titik akhir big-instances selalu terhubung ke instans DB db.r4.16xlarge, yang merupakan dua host dengan nomor tertinggi dalam klaster ini.

$ mysql -h big-instances.cluster-custom-c7tj4example.ca-central-1.rds.amazonaws.com -u $MYUSER -p mysql> select @@aurora_server_id; +-------------------------+ | @@aurora_server_id | +-------------------------+ | custom-endpoint-demo-10 | +-------------------------+ $ mysql -h big-instances.cluster-custom-c7tj4example.ca-central-1.rds.amazonaws.com -u $MYUSER -p mysql> select @@aurora_server_id; +-------------------------+ | @@aurora_server_id | +-------------------------+ | custom-endpoint-demo-09 | +-------------------------+

Menggunakan titik akhir instans

Setiap instans DB dalam klaster Aurora memiliki titik akhir instans default, yang nama dan atribut lainnya dikelola oleh Aurora. Anda tidak dapat membuat, menghapus, atau memodifikasi titik akhir semacam ini. Anda mungkin sudah paham tentang titik akhir instans jika Anda menggunakan Amazon RDS. Namun, dengan Aurora, Anda biasanya lebih sering menggunakan titik akhir penulis dan pembaca dibandingkan titik akhir instans.

Dalam operasi day-to-day Aurora, cara utama Anda menggunakan titik akhir instans adalah dengan mendiagnosis masalah kapasitas atau kinerja yang memengaruhi satu instance tertentu dalam klaster Aurora. Saat terhubung dengan instans tertentu, Anda dapat memeriksa variabel status, metrik, dan sebagainya. Dengan melakukan hal tersebut, Anda dapat menentukan apa yang terjadi untuk instans itu yang berbeda dengan apa yang terjadi untuk instans lain dalam klaster.

Dalam kasus penggunaan tingkat lanjut, Anda mungkin mengonfigurasi beberapa instans DB secara berbeda dari yang lain. Dalam hal ini, gunakan titik akhir instans untuk terhubung langsung ke instans yang lebih kecil, lebih besar, atau yang memiliki karakteristik yang berbeda dari yang lain. Selain itu, siapkan prioritas failover agar instans DB khusus ini menjadi pilihan terakhir untuk mengambil alih sebagai instans primer. Kami menyarankan Anda menggunakan titik akhir kustom dan bukan titik akhir instans dalam kasus tersebut. Tindakan tersebut akan menyederhanakan pengelolaan koneksi dan ketersediaan yang tinggi saat Anda menambahkan lebih banyak instans DB ke klaster Anda.

Bagaimana titik akhir Aurora berfungsi dengan ketersediaan tinggi

Untuk klaster yang mementingkan ketersediaan tinggi, gunakan titik akhir penulis untuk koneksi baca/tulis atau koneksi tujuan umum dan titik akhir pembaca untuk koneksi hanya baca. Titik akhir penulis dan pembaca mengelola failover instans DB secara lebih baik daripada titik akhir instans. Tidak seperti titik akhir instans, titik akhir penulis dan pembaca secara otomatis mengubah instans DB untuk koneksi jika instans DB di klaster Anda menjadi tidak tersedia.

Jika instans DB primer dari klaster DB gagal, Aurora secara otomatis melakukan failover ke instans DB primer yang baru. Hal tersebut dilakukan dengan mempromosikan Replika Aurora yang sudah ada ke instans DB primer yang baru, atau membuat instans DB primer yang baru. Jika terjadi failover, Anda dapat menggunakan titik akhir penulis untuk melakukan koneksi kembali ke instans DB primer yang baru dipromosikan atau dibuat, atau menggunakan titik akhir pembaca untuk melakukan koneksi kembali ke salah satu Replika Aurora di klaster DB. Selama failover, titik akhir pembaca mungkin akan mengarahkan koneksi ke instans DB primer yang baru dari klaster DB untuk waktu yang singkat setelah Replika Aurora dipromosikan menjadi instans DB primer yang baru.

Jika Anda merancang logika aplikasi Anda sendiri untuk mengelola koneksi untuk titik akhir instans, Anda dapat secara manual atau programatis menemukan serangkaian instans DB yang tersedia dalam klaster DB. Gunakan AWS CLI perintah describe-db-clusters atau operasi DescribedBClusters RDS API untuk menemukan cluster DB dan titik akhir pembaca, instans DB, apakah instans DB adalah pembaca, dan tingkatan promosinya. Anda kemudian dapat mengonfirmasi kelas instansnya setelah failover, dan melakukan koneksi ke titik akhir instans yang sesuai.

Untuk informasi selengkapnya tentang failover, lihat Toleransi kesalahan untuk klaster DB Aurora.