Menggunakan Amazon Neptune Tanpa Server - Amazon Neptune

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

Menggunakan Amazon Neptune Tanpa Server

Anda dapat membuat cluster DB Neptunus baru sebagai kluster tanpa server, atau dalam beberapa kasus Anda dapat mengonversi cluster DB yang ada untuk menggunakan tanpa server. Anda juga dapat mengonversi instans DB dalam cluster DB tanpa server ke dan dari instans tanpa server. Anda hanya dapat menggunakan Neptunus Tanpa Server di salah Wilayah AWS satu tempat yang didukung, dengan beberapa batasan lainnya (lihat). Kendala Amazon Neptunus Tanpa Server

Anda juga dapat menggunakan tumpukan AWS CloudFormation Neptunus untuk membuat cluster DB Neptunus Tanpa Server.

Membuat cluster DB baru yang menggunakan Serverless

Untuk membuat cluster DB Neptunus yang menggunakan tanpa server, Anda dapat melakukannya dengan cara yang sama seperti yang Anda lakukan untuk membuat cluster yang disediakan. AWS Management Console Perbedaannya adalah bahwa di bawah ukuran instans DB, Anda perlu mengatur kelas instance DB ke tanpa server. Ketika Anda melakukannya, Anda kemudian perlu mengatur rentang kapasitas tanpa server untuk cluster.

Anda juga dapat membuat cluster DB tanpa server menggunakan perintah AWS CLI with seperti ini (di Windows, ganti '\' dengan '^'):

aws neptune create-db-cluster \ --region (an Wilayah AWS region that supports serverless) \ --db-cluster-identifier (ID for the new serverless DB cluster) \ --engine neptune \ --engine-version (optional: 1.2.0.1 or above) \ --serverless-v2-scaling-configuration "MinCapacity=1.0, MaxCapacity=128.0"

Anda juga dapat menentukan serverless-v2-scaling-configuration parameter seperti ini:

--serverless-v2-scaling-configuration '{"MinCapacity":1.0, "MaxCapacity":128.0}'

Anda kemudian dapat menjalankan describe-db-clusters perintah untuk ServerlessV2ScalingConfiguration atribut, yang akan mengembalikan pengaturan rentang kapasitas yang Anda tentukan:

"ServerlessV2ScalingConfiguration": { "MinCapacity": (the specified minimum number of NCUs), "MaxCapacity": (the specified maximum number of NCUs) }

Mengonversi cluster atau instance DB yang ada ke Tanpa Server

Jika Anda memiliki cluster DB Neptunus yang menggunakan engine versi 1.2.0.1 atau lebih tinggi, Anda dapat mengonversinya menjadi tanpa server. Proses ini memang menimbulkan beberapa downtime.

Langkah pertama adalah menambahkan rentang kapasitas ke cluster yang ada. Anda dapat melakukannya menggunakan AWS Management Console, atau dengan menggunakan AWS CLI perintah seperti ini (pada Windows, ganti '\' dengan '^'):

aws neptune modify-db-cluster \ --db-cluster-identifier (your DB cluster ID) \ --serverless-v2-scaling-configuration \ MinCapacity=(minimum number of NCUs, such as 2.0), \ MaxCapacity=(maximum number of NCUs, such as 24.0)

Langkah selanjutnya adalah membuat instance DB tanpa server baru untuk menggantikan instance primer yang ada (penulis) di cluster. Sekali lagi, Anda dapat melakukan ini dan semua langkah selanjutnya menggunakan salah satu AWS Management Console atau AWS CLI. Dalam kedua kasus, tentukan kelas instance DB sebagai tanpa server. AWS CLI Perintah akan terlihat seperti ini (di Windows, ganti '\' dengan '^'):

aws neptune create-db-instance \ --db-instance-identifier (an instance ID for the new writer instance) \ --db-cluster-identifier (ID of the DB cluster) \ --db-instance-class db.serverless --engine neptune

Ketika instance penulis baru telah tersedia, lakukan failover untuk menjadikannya instance penulis untuk cluster:

aws neptune failover-db-cluster \ --db-cluster-identifier (ID of the DB cluster) \ --target-db-instance-identifier (instance ID of the new serverless instance)

Selanjutnya, hapus contoh penulis lama:

aws neptune delete-db-instance \ --db-instance-identifier (instance ID of the old writer instance) \ --skip-final-snapshot

Terakhir, lakukan hal yang sama untuk membuat instance tanpa server baru untuk menggantikan setiap instance pembaca yang ada yang ingin Anda ubah menjadi instance tanpa server, dan hapus instance yang disediakan yang ada (tidak diperlukan failover untuk instance pembaca).

Memodifikasi rentang kapasitas cluster DB tanpa server yang ada

Anda dapat mengubah rentang kapasitas cluster DB Neptunus Tanpa Server menggunakan AWS CLI seperti ini (di Windows, ganti '\' dengan '^'):

aws neptune modify-db-cluster \ --region (an AWS region that supports serverless) \ --db-cluster-identifier (ID of the serverless DB cluster) \ --apply-immediately \ --serverless-v2-scaling-configuration MinCapacity=4.0, MaxCapacity=32

Mengubah rentang kapasitas menyebabkan perubahan pada nilai default dari beberapa parameter konfigurasi. Neptunus dapat segera menerapkan beberapa default baru tersebut, tetapi beberapa perubahan parameter dinamis hanya berlaku setelah reboot. Status pending-reboot menunjukkan bahwa Anda memerlukan reboot untuk menerapkan beberapa perubahan parameter.

Mengubah instans DB Tanpa Server menjadi disediakan

Yang perlu Anda lakukan untuk mengonversi instance Neptunus Tanpa Server ke instance yang disediakan adalah mengubah kelas instance-nya ke salah satu kelas instance yang disediakan. Lihat Memodifikasi instans DB Neptune (dan Menerapkan Segera).

Memantau kapasitas tanpa server dengan Amazon CloudWatch

Anda dapat menggunakannya CloudWatch untuk memantau kapasitas dan pemanfaatan instance tanpa server Neptunus di cluster DB Anda. Ada dua CloudWatch metrik yang memungkinkan Anda melacak kapasitas tanpa server saat ini baik di tingkat cluster maupun di tingkat instans:

  • ServerlessDatabaseCapacity— Sebagai metrik tingkat instance, ServerlessDatabaseCapacity laporkan kapasitas instans saat ini, di NCU. Sebagai metrik tingkat cluster, ia melaporkan rata-rata semua ServerlessDatabaseCapacity nilai dari semua instance DB di cluster.

  • NCUUtilizationMetrik ini melaporkan persentase kapasitas yang mungkin digunakan. Ini dihitung sebagai arus ServerlessDatabaseCapacity (baik pada tingkat instans atau di tingkat cluster) dibagi dengan pengaturan kapasitas maksimum untuk cluster DB.

    Jika metrik ini mendekati 100% pada tingkat cluster, yang berarti bahwa cluster telah berskala setinggi mungkin, pertimbangkan untuk meningkatkan pengaturan kapasitas maksimum.

    Jika mendekati 100% untuk instance pembaca sementara instance penulis tidak mendekati kapasitas maksimum, pertimbangkan untuk menambahkan lebih banyak instance pembaca untuk mendistribusikan beban kerja baca.

Perhatikan bahwa FreeableMemory metrik CPUUtilization dan memiliki arti yang sedikit berbeda untuk instance tanpa server daripada untuk instance yang disediakan. Dalam konteks tanpa server, CPUUtilization adalah persentase yang dihitung sebagai jumlah CPU yang saat ini digunakan dibagi dengan jumlah CPU yang akan tersedia pada kapasitas maksimum. Demikian pula, FreeableMemory melaporkan jumlah memori yang dapat dibebaskan yang akan tersedia jika sebuah instance berada pada kapasitas maksimum.

Contoh berikut menunjukkan bagaimana menggunakan AWS CLI on Linux untuk mengambil nilai kapasitas minimum, maksimum, dan rata-rata untuk instans DB tertentu, diukur setiap 10 menit selama satu jam. Perintah date Linux menentukan waktu mulai dan akhir secara relatif terhadap tanggal dan waktu saat ini. sort_byFungsi dalam --query parameter mengurutkan hasil secara kronologis berdasarkan bidang: Timestamp

aws cloudwatch get-metric-statistics \ --metric-name "ServerlessDatabaseCapacity" \ --start-time "$(date -d '1 hour ago')" \ --end-time "$(date -d 'now')" \ --period 600 \ --namespace "AWS/Neptune" --statistics Minimum Maximum Average \ --dimensions Name=DBInstanceIdentifier,Value=(instance ID) \ --query 'sort_by(Datapoints[*].{min:Minimum,max:Maximum,avg:Average,ts:Timestamp},&ts)' \ --output table