Anda dapat mengirim permintaan HTTPS dari apa pun yang dapat membuat permintaan HTTPS untuk memicu layanan yang dihosting Cloud Run. Perhatikan bahwa semua layanan Cloud Run memiliki URL HTTPS yang stabil.
Beberapa kasus penggunaan mencakup:
- API web RESTful kustom
- Microservice pribadi
- Middleware HTTP atau reverse proxy untuk aplikasi web Anda
- Aplikasi web dalam bentuk paket
Membuat layanan publik
Pembuatan layanan publik di Cloud Run memerlukan:
- Akses ke layanan dari internet publik
- URL yang ditujukan untuk penggunaan publik
Untuk memublikasikan layanan, setel layanan agar mengizinkan akses yang tidak diautentikasi (publik) saat Anda deploy, atau kapan saja setelah Anda men-deploy.
Anda dapat menggunakan URL stabil yang ditetapkan secara otomatis yang disediakan saat deployment pertama layanan Anda sebagai URL publik di Cloud Run. Untuk menentukan URL layanan yang di-deploy:
gcloud run services describe SERVICE --format 'value(status.url)'
URL untuk layanan Cloud Run memiliki format
https://[
TAG---]
SERVICE_IDENTIFIER.run.app
,
dengan TAG mengacu pada tag traffic untuk revisi yang Anda
minta, dan SERVICE_IDENTIFIER adalah identitas yang dapat dikenali yang stabil dan unik
untuk layanan Cloud Run. Jangan mengurai
SERVICE_IDENTIFIER karena tidak memiliki format tetap, dan
logika untuk pembuatan SERVICE_IDENTIFIER dapat berubah.
Anda juga dapat menggunakan domain kustom Anda sendiri yang dipetakan ke layanan. Opsi ini akan otomatis memberikan sertifikat SSL terkelola.
Cloud Run mengalihkan semua permintaan HTTP ke HTTPS, tetapi menghentikan
TLS sebelum mencapai layanan web Anda. Jika layanan Anda menghasilkan resource web
yang merujuk ke resource web lain dengan URL (http://
) yang tidak aman, halaman Anda mungkin
akan menerima error atau peringatan konten campuran.
Gunakan protokol https
untuk semua URI web referensi atau akun
untuk perintah proxy dalam Permintaan HTTP seperti header HTTP X-Forwarded-Proto
.
HTTP dan HTTP/2
Secara default, Cloud Run akan mendowngrade permintaan HTTP/2 ke HTTP/1 saat permintaan tersebut dikirim ke container. Jika ingin menetapkan layanan Anda secara eksplisit untuk menggunakan HTTP/2 secara keseluruhan, lihat Menggunakan HTTP/2.
Membuat layanan pribadi
Pembuatan layanan pribadi di Cloud Run mengharuskan Anda untuk membatasi akses ke layanan dengan memanfaatkan izin invoker IAM.
Anda juga dapat membatasi akses ke layanan menggunakan mekanisme otorisasi dan autentikasi tingkat aplikasi, misalnya, menggunakan Identity Platform.
Menguji layanan pribadi
Cara termudah untuk menguji layanan pribadi adalah dengan menggunakan
proxy Cloud Run di Google Cloud CLI.
Proxy ini akan menjadi proxy layanan pribadi ke http://localhost:8080
(atau ke port yang ditentukan dengan --port
),
yang memberikan token akun aktif atau token lain yang Anda tentukan.
Hal ini memungkinkan Anda menggunakan browser web atau alat seperti curl
.
Cara ini direkomendasikan untuk menguji situs atau API secara pribadi di browser Anda.
Anda dapat melakukan proxy layanan secara lokal menggunakan perintah berikut:
gcloud run services proxy SERVICE --project PROJECT-ID
Anda juga dapat menguji layanan pribadi tanpa proxy menggunakan alat
seperti curl
, dengan meneruskan token autentikasi di header Authorization
:
curl -H "Authorization: Bearer $(gcloud auth print-identity-token)" SERVICE_URL
Antar layanan pribadi
Layanan Cloud Run dapat memanggil layanan Cloud Run lain dengan autentikasi antar layanan.
Kode contoh yang memanggil layanan pribadi
Untuk mengetahui contoh kode yang menunjukkan cara mendapatkan token ID dan membuat permintaan HTTP ke layanan pribadi, lihat topik Mengautentikasi layanan ke layanan.
Menggunakan middleware untuk meningkatkan layanan Anda
Proxy HTTPS dapat memindahkan fungsi umum dari layanan HTTP, seperti cache, validasi permintaan, atau otorisasi. Untuk microservice, banyak proxy HTTP yang merupakan bagian dari solusi Gateway API atau mesh layanan seperti Istio.
Produk Google Cloud yang dapat Anda gunakan untuk meningkatkan layanan Cloud Run meliputi:
API Gateway, yang dapat Anda gunakan untuk membuat, mengamankan, dan memantau API untuk digunakan sebagai proxy ke layanan Cloud Run lainnya.
Firebase Hosting, yang dapat Anda gunakan untuk membangun frontend aplikasi web untuk digunakan dengan Cloud Run sebagai backend dinamis.