Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
AWS CLI contoh untuk titik akhir khusus untuk Amazon Aurora
Tutorial berikut menggunakan AWS CLI contoh dengan sintaks shell Unix untuk menunjukkan bagaimana Anda dapat 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 VPC keamanan.
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 contoh menggunakan AWS kelas instancedb.r4.4xlarge
, tetapi dua instance DB terakhir digunakandb.r4.16xlarge
. Masing-masing create-db-instance
perintah sampel ini mencetak outputnya ke layar dan menyimpan salinan file JSON dalam file untuk pemeriksaan nanti.
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 create and modify endpoint, dan contoh JSON output yang menunjukkan status awal dan modifikasi dari endpoint kustom.
$
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. Cluster masih memiliki titik akhir cluster aslinya, dengan EndPointType
ofWRITER
, yang masih akan Anda gunakan untuk administrasiETL, dan operasi penulisan 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 -pmysql>
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 -pmysql>
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 -pmysql>
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 -pmysql>
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 -pmysql>
select @@aurora_server_id;+-------------------------+ | @@aurora_server_id | +-------------------------+ | custom-endpoint-demo-09 | +-------------------------+