Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Azure Managed Instance for Apache Cassandra adalah layanan terkelola penuh untuk kluster Apache Cassandra sumber terbuka murni. Layanan tersebut juga memungkinkan konfigurasi untuk ditentukan ulang, tergantung pada kebutuhan spesifik setiap beban kerja, untuk fleksibilitas dan kontrol maksimum.
Panduan cepat ini menunjukkan cara menggunakan perintah Azure CLI untuk membuat kluster dengan Instance Terkelola Azure untuk Apache Cassandra. Ini juga menunjukkan cara membuat pusat data dan menskalakan simpul ke atas atau ke bawah dalam pusat data.
Prasyarat
Gunakan lingkungan Bash di Azure Cloud Shell. Untuk informasi selengkapnya, lihat Mulai menggunakan Azure Cloud Shell.
Jika Anda lebih suka menjalankan perintah referensi CLI secara lokal, instal Azure CLI. Jika Anda menjalankan Windows atau macOS, pertimbangkan untuk menjalankan Azure CLI dalam kontainer Docker. Untuk informasi lebih lanjut, lihat Cara menjalankan Azure CLI di kontainer Docker.
Jika Anda menggunakan instalasi lokal, masuk ke Azure CLI dengan menggunakan perintah login az. Untuk menyelesaikan proses autentikasi, ikuti langkah-langkah yang ditampilkan di terminal Anda. Untuk opsi masuk lainnya, lihat Mengautentikasi ke Azure menggunakan Azure CLI.
Saat Anda diminta, instal ekstensi Azure CLI pada penggunaan pertama. Untuk informasi selengkapnya tentang ekstensi, lihat Menggunakan dan mengelola ekstensi dengan Azure CLI.
Jalankan versi az untuk menemukan versi dan pustaka dependen yang diinstal. Untuk meningkatkan ke versi terbaru, jalankan peningkatan az.
- Gunakan jaringan virtual Azure dengan konektivitas ke lingkungan yang dihost sendiri atau lokal. Untuk informasi selengkapnya tentang cara menyambungkan lingkungan lokal ke Azure, lihat Menyambungkan jaringan lokal ke Azure.
- Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.
Penting
Artikel ini memerlukan Azure CLI versi 2.30.0 atau yang lebih baru. Jika Anda menggunakan Azure Cloud Shell, versi terbaru sudah diinstal.
Membuat kluster instans terkelola
Masuk ke portal Azure.
Atur ID langganan Anda di Azure CLI:
az account set --subscription <Subscription_ID>Buat jaringan virtual dengan subnet khusus di grup sumber daya Anda:
az network vnet create --name <VNet_Name> --location eastus2 \ --resource-group <Resource_Group_Name> --subnet-name <Subnet Name>Penyebaran instans Azure Managed Instance for Apache Cassandra memerlukan akses internet. Penyebaran akan gagal di lingkungan ketika akses internet terbatas. Pastikan Anda tidak memblokir akses di jaringan virtual Anda ke layanan Azure berikut yang diperlukan agar Azure Managed Instance for Apache Cassandra berfungsi dengan baik:
- Azure Storage
- Azure Key Vault
- Set Skala Mesin Virtual Azure
- Azure Monitor
- Microsoft Entra ID
- Microsoft Defender untuk Cloud
Terapkan izin khusus ini ke jaringan virtual. Instans terkelola memerlukannya.
az role assignment createGunakan perintah , dan ganti<subscriptionID>,<resourceGroupName>, dan<vnetName>dengan nilai yang sesuai:az role assignment create \ --assignee a232010e-820c-4083-83bb-3ace5fc29d0b \ --role 4d97b98b-1d4f-4787-a291-c67834d212e7 \ --scope /subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/virtualNetworks/<vnetName>Nilai
assigneedanroleadalah nilai tetap. Masukkan nilai-nilai ini persis seperti yang disebutkan dalam perintah. Tidak melakukannya menyebabkan kesalahan saat Anda membuat kluster. Jika Anda mengalami kesalahan saat menjalankan perintah ini, Anda mungkin tidak memiliki izin untuk menjalankannya. Hubungi admin Azure Anda untuk izin.Buat kluster di jaringan virtual anda yang baru dibuat dengan menggunakan perintah az managed-cassandra cluster create . Jalankan perintah berikut dengan nilai
delegatedManagementSubnetIdvariabel . (NilaidelegatedManagementSubnetIdadalah nama jaringan virtual yang sama dengan yang izinnya diterapkan.)resourceGroupName='<Resource_Group_Name>' clusterName='<Cluster_Name>' location='eastus2' delegatedManagementSubnetId='/subscriptions/<subscription ID>/resourceGroups/<resource group name>/providers/Microsoft.Network/virtualNetworks/<VNet name>/subnets/<subnet name>' initialCassandraAdminPassword='myPassword' cassandraVersion='5.0' # set to 4.0 for a Cassandra 4.0 cluster az managed-cassandra cluster create \ --cluster-name $clusterName \ --resource-group $resourceGroupName \ --location $location \ --delegated-management-subnet-id $delegatedManagementSubnetId \ --initial-cassandra-admin-password $initialCassandraAdminPassword \ --cassandra-version $cassandraVersion \ --debugBuat pusat data untuk kluster dengan tiga komputer virtual (VM). Gunakan pengaturan konfigurasi berikut:
- Ukuran VM: Standar E8s v5
- Disk data: 4 disk P30 terpasang pada setiap VM yang disebarkan
Setelah semua informasi di tempat, gunakan perintah az managed-cassandra datacenter create :
dataCenterName='dc1' dataCenterLocation='eastus2' virtualMachineSKU='Standard_D8s_v4' noOfDisksPerNode=4 az managed-cassandra datacenter create \ --resource-group $resourceGroupName \ --cluster-name $clusterName \ --data-center-name $dataCenterName \ --data-center-location $dataCenterLocation \ --delegated-subnet-id $delegatedManagementSubnetId \ --node-count 3 \ --sku $virtualMachineSKU \ --disk-capacity $noOfDisksPerNode \ --availability-zone falsePilih nilai untuk
--skudari ukuran VM yang tersedia berikut ini:- Standard_E8s_v5
- Standard_E16s_v5
- Standard_E20s_v5
- Standard_E32s_v5
Secara default,
--availability-zonediatur kefalse. Untuk mengaktifkan zona ketersediaan, atur ketrue. Zona ketersediaan membantu meningkatkan ketersediaan layanan. Untuk informasi selengkapnya, lihat Perjanjian tingkat layanan untuk layanan online.Zona ketersediaan tidak didukung di semua wilayah Azure. Penyebaran gagal jika Anda memilih wilayah tempat zona ketersediaan tidak didukung. Untuk wilayah yang didukung, lihat daftar wilayah Azure.
Penyebaran zona ketersediaan yang berhasil tunduk pada ketersediaan sumber daya komputasi di semua zona di wilayah yang Anda pilih. Penyebaran gagal jika ukuran VM yang Anda pilih tidak tersedia di wilayah yang Anda pilih.
Setelah pusat data dibuat, Anda dapat menjalankan perintah az managed-cassandra datacenter update untuk menurunkan skala atau meningkatkan kluster Anda. Ubah nilai
node-countparameter menjadi nilai yang Anda inginkan:resourceGroupName='<Resource_Group_Name>' clusterName='<Cluster Name>' dataCenterName='dc1' dataCenterLocation='eastus2' az managed-cassandra datacenter update \ --resource-group $resourceGroupName \ --cluster-name $clusterName \ --data-center-name $dataCenterName \ --node-count 9
Menyambungkan ke kluster Anda
Azure Managed Instance for Apache Cassandra tidak membuat simpul dengan alamat IP publik. Untuk terhubung ke kluster Cassandra baru, Anda harus membuat sumber daya lain di dalam jaringan virtual yang sama. Sumber daya ini dapat berupa aplikasi atau VM dengan Cassandra Query Language Shell (CQLSH) yang diinstal. CQLSH adalah alat kueri sumber terbuka Apache.
Anda dapat menggunakan templat Azure Resource Manager untuk menyebarkan VM Ubuntu.
Karena beberapa masalah yang diketahui dengan versi Python, kami sarankan Anda menggunakan gambar Ubuntu 22.04 yang dilengkapi dengan Python3.10.12 atau lingkungan virtual Python untuk menjalankan CQLSH.
Terhubung dari CQLSH
Setelah VM disebarkan, gunakan Secure Shell untuk menyambungkan ke komputer dan menginstal CQLSH. Gunakan perintah berikut:
# Install default-jre and default-jdk
sudo apt update
sudo apt install openjdk-8-jdk openjdk-8-jre
Periksa versi Cassandra mana yang masih didukung dan pilih versi yang Anda butuhkan. Kami menyarankan agar Anda menggunakan versi stabil.
Instal pustaka Cassandra untuk mendapatkan CQLSH. Ikuti langkah-langkah resmi dari dokumentasi Cassandra.
Menghubungkan dari aplikasi
Seperti halnya CQLSH, ketika Anda menggunakan salah satu driver klien Apache Cassandra yang didukung untuk terhubung dari aplikasi, enkripsi Transport Layer Security/Secure Sockets Layer (TLS/SSL) harus diaktifkan dan verifikasi sertifikat harus dinonaktifkan. Untuk sampel, lihat Java, .NET, Node.js, dan Python.
Sebaiknya nonaktifkan verifikasi sertifikat karena tidak berfungsi kecuali Anda memetakan alamat IP node kluster Anda ke domain yang sesuai. Jika kebijakan internal mengamanatkan bahwa Anda melakukan verifikasi sertifikat TLS/SSL untuk aplikasi apa pun, tambahkan entri seperti 10.0.1.5 host1.managedcassandra.cosmos.azure.com dalam file host Anda untuk setiap simpul untuk memfasilitasi penyiapan ini. Jika Anda mengambil pendekatan ini, Anda juga perlu menambahkan entri baru setiap kali Anda meningkatkan simpul.
Untuk Java, kami sarankan Anda mengaktifkan kebijakan eksekusi spekulatif di mana aplikasi sensitif terhadap latensi ekor. Untuk demo yang menggambarkan cara kerja pendekatan ini dan untuk melihat cara mengaktifkan kebijakan, lihat Menerapkan kebijakan eksekusi spekulatif.
Anda biasanya tidak perlu mengonfigurasi sertifikat (seperti rootCA, , node, clientatau truststore) untuk menyambungkan ke Azure Managed Instance for Apache Cassandra. Enkripsi TLS/SSL menggunakan penyimpanan kepercayaan default dan kata sandi runtime yang dipilih klien. Untuk kode sampel, lihat Java, .NET, Node.js, dan Python). Sertifikat dipercaya secara default. Jika tidak, tambahkan ke trust store.
Mengonfigurasi sertifikat klien (opsional)
Mengonfigurasi sertifikat klien bersifat opsional. Aplikasi klien dapat terhubung ke Azure Managed Instance for Apache Cassandra setelah Anda mengikuti langkah-langkah sebelumnya. Jika mau, Anda juga dapat membuat dan mengonfigurasi sertifikat klien untuk autentikasi. Secara umum, ada dua cara untuk membuat sertifikat:
- Sertifikat yang ditandatangani sendiri: Sertifikat privat dan publik tanpa Otoritas Sertifikat (CA) untuk setiap simpul. Dalam hal ini, semua sertifikat publik diperlukan.
- Sertifikat yang ditandatangani oleh CA: Sertifikat yang dikeluarkan oleh CA yang ditandatangani sendiri atau CA publik. Untuk penyiapan ini, Anda memerlukan sertifikat CA root dan semua sertifikat perantara, jika berlaku. Untuk informasi selengkapnya, lihat Menyiapkan sertifikat SSL untuk produksi.
Untuk menerapkan autentikasi sertifikat klien-ke-simpul atau Keamanan Lapisan Transportasi bersama, berikan sertifikat dengan menggunakan Azure CLI. Perintah berikut mengunggah dan menerapkan sertifikat klien Anda ke penyimpanan kepercayaan untuk kluster Azure Managed Instance for Apache Cassandra Anda. Anda tidak perlu mengubah cassandra.yaml pengaturan. Setelah sertifikat diterapkan, kluster memerlukan Cassandra untuk memverifikasi sertifikat selama koneksi klien. Untuk informasi selengkapnya, lihat require_client_auth: true di Cassandra client_encryption_options.
resourceGroupName='<Resource_Group_Name>'
clusterName='<Cluster Name>'
az managed-cassandra cluster update \
--resource-group $resourceGroupName \
--cluster-name $clusterName \
--client-certificates /usr/csuser/clouddrive/rootCert.pem /usr/csuser/clouddrive/intermediateCert.pem
Pemecahan Masalah
Jika Anda mengalami kesalahan saat menerapkan izin ke jaringan virtual dengan menggunakan Azure CLI, Anda dapat menerapkan izin yang sama secara manual dari portal Microsoft Azure. Contoh kesalahan tersebut adalah "Tidak dapat menemukan pengguna atau perwakilan layanan dalam database grafik untuk e5007d2c-4b13-4a74-9b6a-605d99f03501." Untuk informasi selengkapnya, lihat Menggunakan portal Microsoft Azure untuk menambahkan perwakilan layanan Azure Cosmos DB.
Penetapan peran Azure Cosmos DB digunakan hanya untuk tujuan penyebaran. Azure Managed Instanced for Apache Cassandra tidak memiliki dependensi back-end pada Azure Cosmos DB.
Membersihkan sumber daya
Saat sumber daya Anda tidak lagi diperlukan, gunakan az group delete perintah untuk menghapus grup sumber daya, instans terkelola, dan semua sumber daya terkait:
az group delete --name <Resource_Group_Name>
Langkah selanjutnya
Dalam panduan memulai cepat ini, Anda telah mempelajari cara membuat sebuah kluster *Azure Managed Instance for Apache Cassandra* dengan menggunakan Azure CLI. Sekarang, Anda dapat mulai bekerja menggunakan kluster: