Untuk menyiapkan cache data dalam memori yang terdistribusi untuk layanan Cloud Run, Anda dapat menggunakan Memorystore untuk Redis. Dengan Memorystore for Redis, Anda menggunakan penyimpanan data Redis dalam memori untuk menyimpan cache aplikasi dengan skala, keamanan, dan ketersediaan tinggi. Anda dapat terhubung ke instance Redis langsung dari layanan Cloud Run Anda, tetapi cara ini memerlukan langkah tambahan untuk menyiapkan konektor Akses VPC Serverless.
Dengan menggunakan integrasi Cloud Run (Pratinjau) yang dijelaskan di halaman ini, Anda dapat dengan cepat menghubungkan layanan Cloud Run ke cache Redis baru menggunakan Memorystore tanpa harus menyiapkan konektor Akses VPC Serverless. Jika Anda ingin menghubungkan layanan Cloud Run ke instance redis yang sudah ada, lihat bagian Menghubungkan ke instance Redis dari layanan Cloud Run.
Sebelum memulai
- Pastikan layanan Cloud Run yang ingin Anda integrasikan sudah di-deploy.
- Tinjau halaman harga Memorystore. Anda akan dikenai biaya untuk setiap resource yang digunakan dalam integrasi.
Peran yang diperlukan
Untuk menggunakan integrasi Cloud Run, Anda atau administrator Anda harus memberikan peran IAM pada dua akun utama yang berbeda.
Klik untuk melihat peran yang diperlukan untuk Akun Google Anda
Untuk mendapatkan izin yang diperlukan untuk menggunakan integrasi Cloud Run, minta administrator Anda untuk memberikan peran IAM berikut pada Akun Google Anda pada project Anda:
- Developer Cloud Run (
roles/run.developer
) - Viewer Compute (
roles/compute.viewer
) - Serverless Integrations Developer (
roles/runapps.developer
) - Serverless Integrations Operator (
roles/runapps.operator
) - Service Account User (
roles/iam.serviceAccountUser
)
Klik untuk melihat peran yang diperlukan untuk akun layanan
Untuk men-deploy layanan Cloud Run, Anda dapat menggunakan akun layanan default Compute Engine yang dibuat otomatis, atau menentukan akun layanan yang dikelola pengguna. Akun layanan harus memiliki peran berikut:
- Developer Cloud Run (
roles/run.developer
) - Penulis Bucket Log (
roles/logging.bucketWriter
) - Service Account User (
roles/iam.serviceAccountUser
) - Storage Admin (
roles/storage.admin
) - Admin Redis Cloud Memorystore (
roles/redis.admin
) - Viewer Compute (
roles/compute.viewer
) - Admin Akses VPC Serverless (
roles/vpcaccess.admin
)
Hubungkan layanan ke cache Redis baru
Setiap perubahan konfigurasi akan menghasilkan revisi baru. Revisi berikutnya juga akan otomatis mendapatkan setelan konfigurasi ini, kecuali jika Anda melakukan pembaruan eksplisit untuk mengubahnya.
Anda dapat menghubungkan layanan Cloud Run ke cache Redis menggunakan konsol atau command line. Jika Anda tidak menentukan ukuran memori, cache sebesar 1 gigabyte akan digunakan.
Konsol
Pada konsol Google Cloud, buka halaman Cloud Run.
Klik layanan dalam daftar layanan yang ingin Anda gunakan dalam integrasi ini.
Klik tab Integrations.
Klik Tambahkan integrasi.
Klik Redis - Google Cloud MemoryStore.
Setujui default atau ubah nama dan ukuran cache ke nilai yang ingin Anda gunakan.
Jika diminta untuk mengaktifkan daftar API, klik Enable dan tunggu hingga API diaktifkan.
Di bagian Resource, catat resource baru yang akan dibuat sebagai hasil dari integrasi ini.
Klik Submit dan tunggu hingga integrasi dan resource dibuat. Proses ini dapat memerlukan waktu hingga 15 menit.
Command line
Update ke Google Cloud CLI terbaru:
gcloud components update
Buat integrasi:
gcloud beta run integrations create \ --type=redis \ --service=SERVICE \ --parameters=memory-size-gb=MEMORY-SIZE
Ganti:
- SERVICE dengan nama layanan Cloud Run Anda.
- MEMORY-SIZE dengan ukuran yang Anda inginkan dalam gigabyte cache. Defaultnya adalah 1 GB.
Secara opsional, sertakan flag
--service-account=SERVICE_ACCOUNT_EMAIL
.Ganti SERVICE_ACCOUNT_EMAIL dengan alamat email akun layanan yang dikelola pengguna (
PROJECT_NUMBER-compute@developer.gserviceaccount.com
) yang digunakan untuk men-deploy layanan. Hapus flag ini jika Anda ingin menggunakan akun layanan komputasi default (SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com
).Untuk terus menggunakan akun layanan yang ditentukan saat men-deploy integrasi Cloud Run, jalankan:
gcloud config set runapps/deployment-service-account
Tunggu hingga 15 menit, dan selama waktu ini, cache Redis yang dikonfigurasi sepenuhnya akan dibuat dan terhubung. Selain itu, revisi Cloud Run baru akan dibuat, termasuk konfigurasi jaringan dan variabel lingkungan yang diperlukan untuk cache Redis. Setelah prosesnya selesai, pesan berikut akan ditampilkan:
[redis] integration [redis-xxx] has been updated successfully. To connect to the Redis instance, utilize the environment variables REDISHOST and REDISPORT. These have been added to the Cloud Run service for you.
Anda dapat memeriksa status menggunakan
gcloud beta run integrations describe
Mengupdate integrasi cache Redis
Jika integrasi diperbarui, semua resource Google Cloud yang terkait dengan integrasi tersebut akan diperbarui. Untuk mengupdate integrasi cache Redis dari layanan Cloud Run Anda:
Konsol
Pada konsol Google Cloud, buka halaman Cloud Run.
Klik layanan yang ingin Anda update.
Klik tab Integrations.
Temukan integrasi cache Redis, lalu klik Edit.
Setelah selesai memperbarui kolom, klik Perbarui.
Command line
Gunakan perintah berikut untuk mendapatkan daftar integrasi yang tersedia:
gcloud beta run integrations list
Jalankan perintah untuk memperbarui integrasi:
gcloud beta run integrations update INTEGRATION_NAME
Ganti:
- INTEGRATION_NAME dengan nama integrasi cache Redis Anda.
Secara opsional, Anda dapat menggunakan opsi tanda berikut:
Opsi Deskripsi --parameters
Ukuran memori dalam gigabyte untuk cache. --service-account
Alamat email akun layanan yang dikelola pengguna yang akan ditentukan saat mengupdate layanan. Akun layanan ini mengganti akun layanan sebelumnya yang digunakan saat deployment.
Lihat integrasi cache Redis
Untuk melihat status integrasi cache Redis saat ini untuk layanan Cloud Run Anda:
Konsol
Pada konsol Google Cloud, buka halaman Cloud Run.
Klik layanan dalam daftar layanan yang ingin Anda gunakan dalam integrasi ini.
Klik tab Integrations.
Temukan integrasi cache Redis yang Anda inginkan, lalu klik Lihat detail.
Command line
Gunakan perintah berikut untuk mendapatkan daftar integrasi yang tersedia:
gcloud beta run integrations list
Menggunakan nama dari daftar yang ditampilkan, tampilkan detailnya:
gcloud beta run integrations describe INTEGRATION_NAME
Ganti INTEGRATION_NAME dengan nama integrasi cache Redis Anda.
Hapus integrasi cache Redis
Menghapus integrasi juga akan menghapus semua resource Google Cloud yang terkait dengan integrasi tersebut, tetapi tidak akan menghapus layanan Cloud Run Anda.
Untuk menghapus integrasi cache Redis dari layanan Cloud Run Anda:
Konsol
Pada konsol Google Cloud, buka halaman Cloud Run.
Klik layanan yang integrasinya ingin Anda hapus.
Klik tab Integrations.
Temukan integrasi cache Redis yang Anda inginkan dan klik ikon elipsis di sebelah kanan integrasi, lalu klik Hapus.
Command line
Gunakan perintah berikut untuk mendapatkan daftar integrasi yang tersedia:
gcloud beta run integrations list
Dengan menggunakan nama dari daftar yang ditampilkan, hapus integrasi:
gcloud beta run integrations delete INTEGRATION_NAME
Ganti:
- INTEGRATION_NAME dengan nama integrasi cache Redis Anda.
Secara opsional, Anda dapat menggunakan opsi tanda berikut:
Opsi Deskripsi --service-account
Alamat email akun layanan yang dikelola pengguna untuk melakukan operasi penghapusan.
Mengakses cache Redis dalam kode Anda
Perlu diperhatikan bahwa sebagai hasil dari penyelesaian integrasi yang dijelaskan di halaman ini, variabel lingkungan REDISHOST
dan REDISPORT
akan otomatis ditambahkan dan tersedia untuk digunakan oleh kode layanan Cloud Run Anda.
Kode sampel untuk layanan yang menggunakan Redis
Lihat dokumentasi Memorystore untuk menyelesaikan contoh kode Cloud Run dan Redis dalam beberapa bahasa yang menggunakan Redis.
Batasan
- Integrasi Cloud Run hanya didukung di region tertentu. Jika Anda perlu menggunakan region yang tidak didukung oleh integrasi Cloud Run, lihat Menghubungkan ke instance Redis dari layanan Cloud Run.
- Hanya konektor VPC dalam jaringan VPC default yang didukung. Jaringan lama tidak didukung.