Membuat proxy API sederhana

Halaman ini berlaku untuk Apigee dan Apigee Hybrid.

Lihat dokumentasi Apigee Edge.

Apigee memungkinkan Anda mengekspos layanan backend sebagai API dengan cepat. Anda melakukannya dengan membuat proxy API yang menyediakan facade untuk layanan backend yang ingin Anda ekspos. Anda hanya perlu memberikan alamat jaringan untuk layanan backend, beserta beberapa informasi yang digunakan Apigee untuk membuat proxy API yang diekspos ke developer.

Proxy API memisahkan implementasi layanan backend Anda dari API yang digunakan developer. Hal ini melindungi developer dari perubahan mendatang pada layanan backend Anda. Saat Anda memperbarui layanan backend, developer yang terlindung dari perubahan tersebut dapat terus memanggil API tanpa terganggu.

Topik ini memberikan informasi tentang berbagai jenis proxy dan setelannya. Untuk mengetahui petunjuk langkah demi langkah tentang cara membuat proxy, lihat topik berikut:

Membuat proxy API menggunakan UI

Cara termudah untuk membuat proxy API adalah dengan menggunakan wizard Create Proxy.

UI Apigee di Konsol Cloud

  1. Di konsol Google Cloud , buka halaman Proxy development > API proxies.

    Buka proxy API

  2. Klik + Create.

UI Klasik

Untuk mengakses wizard Create Proxy menggunakan UI Apigee, lakukan langkah-langkah berikut:

  1. Login ke UI Apigee.
  2. Di panel navigasi, pilih Develop > API Proxies.
  3. Klik Buat Baru.
    Tombol Buat proxy

Wizard Create Proxy akan ditampilkan dan memandu Anda melalui langkah-langkah untuk membuat dan menambahkan fitur minimal ke proxy API.

Halaman pertama wizard memungkinkan Anda membuat proxy API dari sumber berikut:

Jenis Deskripsi
Proxy terbalik (paling umum)

Proxy API yang merutekan permintaan masuk ke layanan backend HTTP yang ada. Dapat berupa JSON atau XML API. Lihat Membuat proxy terbalik untuk layanan HTTP di bagian ini.

Klik Gunakan Spesifikasi OpenAPI untuk membuat proxy dari Spesifikasi OpenAPI yang valid. Untuk mengetahui informasi selengkapnya tentang opsi ini, lihat Menggunakan Spesifikasi OpenAPI untuk membuat proxy di bagian ini.

Tidak ada target

Proxy API tanpa backend API ("tanpa target"). Mirip dengan Membuat proxy terbalik untuk layanan HTTP yang dijelaskan sebelumnya, kecuali Anda tidak akan menentukan API yang ada saat menentukan detail proxy API.

Klik Gunakan Spesifikasi OpenAPI untuk membuat proxy dari spesifikasi OpenAPI yang valid. Untuk mengetahui informasi selengkapnya tentang opsi ini, lihat Menggunakan Spesifikasi OpenAPI untuk membuat proxy di bagian ini.

Mengupload paket proxy Paket proxy API yang ada (misalnya salah satu proxy API contoh yang tersedia di GitHub). Lihat Mengimpor proxy API dari paket proxy API.
Proxy dengan Server-Sent Events (SSE) Proxy API yang mencakup EventFlow untuk streaming peristiwa yang dikirim server (SSE). Untuk mengetahui informasi selengkapnya, lihat Streaming peristiwa yang dikirim server.

Bagian berikut membahas detail setiap jenis proxy.

Membuat proxy terbalik untuk layanan HTTP

Apigee menghasilkan proxy terbalik berdasarkan informasi berikut:

  • URL layanan backend.
  • Jalur URI yang secara unik mengidentifikasi API yang akan diekspos oleh proxy API ke aplikasi konsumen.

URL layanan backend biasanya merepresentasikan aplikasi yang mendukung layanan dan dimiliki oleh organisasi Anda. API ini juga dapat mengarah ke API yang tersedia secara publik. API atau layanan dapat berada di bawah kontrol Anda (misalnya, aplikasi HR internal atau aplikasi Rails di Cloud) atau dapat berupa API atau layanan pihak ketiga (misalnya, Twitter atau Instagram).

Detail proxy berikut tersedia setelah mengakses wizard Buat Proxy dan memilih jenis proxy:

Kolom Deskripsi
Nama Nama yang ditampilkan untuk API Anda. Tentukan karakter alfanumerik, tanda hubung (-), atau garis bawah (_).
Jalur dasar

Fragmen URI yang muncul setelah alamat http://[host] atau https://[host] proxy API Anda. Apigee menggunakan URI jalur dasar untuk mencocokkan dan merutekan pesan permintaan masuk ke proxy API yang tepat.

Setelah jalur dasar, ada URL resource tambahan. Struktur URL lengkap yang digunakan klien untuk memanggil proxy API Anda adalah sebagai berikut:

https://[host]/BASE_PATH/CONDITIONAL_FLOW_PATH

Menggunakan karakter pengganti di jalur dasar

Gunakan satu atau beberapa karakter pengganti /*/ di jalur dasar proxy API untuk memastikan proxy API Anda siap untuk masa mendatang. Misalnya, jalur dasar /team/*/members memungkinkan klien memanggil https://[host]/team/blue/members dan https://[host]/team/green/members tanpa Anda perlu membuat proxy API baru untuk mendukung tim baru. Perhatikan bahwa /**/ tidak didukung.

Deskripsi (Opsional) Deskripsi API.
Target (API yang Ada) URL layanan backend yang dipanggil oleh proxy API ini.

Mengimpor proxy API dari paket proxy API

Anda sering kali menentukan proxy API sebagai kumpulan file XML, beserta file pendukung lainnya. Dengan menentukan proxy API sebagai sekumpulan file eksternal ke Apigee, Anda dapat memeliharanya dalam sistem kontrol sumber, lalu mengimpornya ke Apigee untuk pengujian dan deployment.

Untuk mengimpor proxy API dari paket proxy API, lakukan langkah-langkah berikut:

  1. Akses wizard Create Proxy seperti yang dijelaskan dalam Membuat proxy API menggunakan UI.
  2. Tentukan detail paket proxy API.
  3. UI Apigee di Konsol Cloud

    1. Di menu Proxy template, pilih Upload proxy bundle.
    2. Di bagian Proxy details, masukkan Proxy name, upload file zip, lalu klik Next.
    3. Di bagian Deploy, pilih lingkungan deployment, jika diinginkan, lalu klik Create.

    UI Klasik

    1. Klik Upload paket proxy.
    2. Di halaman Upload proxy bundle di wizard proxy, masukkan informasi berikut:

      Kolom Deskripsi
      Paket ZIP File ZIP yang berisi konfigurasi proxy API. Tarik lalu lepas atau klik untuk membuka file.
      Nama Nama yang ditampilkan untuk API Anda. Secara default, nama file ZIP tanpa ekstensi.
    3. Klik Berikutnya.
    4. Di halaman Summary, pilih lingkungan deployment, jika diinginkan, lalu klik Create and deploy.

      Konfirmasi ditampilkan untuk mengonfirmasi bahwa proxy API baru Anda berhasil dibuat.

    5. Klik Edit proxy untuk menampilkan halaman detail untuk proxy API.

Membuat proxy API gRPC

Selain proxy REST API, Apigee mendukung proxy gRPC API dengan dukungan passthrough saja saat ini. Dengan dukungan teruskan, payload gRPC itu sendiri tidak transparan bagi Apigee dan traffic dirutekan dari klien gRPC ke server target gRPC yang telah dikonfigurasi sebelumnya dalam konfigurasi target.

Saat ini, proxy API gRPC Apigee:

  • Mendukung permintaan gRPC unary.
  • Tidak dapat menggunakan kebijakan yang memengaruhi payload.
  • Dapat digunakan dalam produk API yang tidak terkait dengan proxy GraphQL atau REST. Kuota khusus produk API dan setelan operasi lainnya berlaku di semua proxy dalam produk.
  • Tidak didukung di Apigee Hybrid.
  • Gunakan dua variabel alur khusus gRPC: request.grpc.rpc.name dan request.grpc.service.name.
  • Dapat dipantau dengan variabel Apigee Analytics khusus gRPC berikut: x_apigee_grpc_rpc_name, x_apigee_grpc_service_name, dan x_apigee_grpc_status.
  • Menampilkan kode status gRPC.

Anda juga harus mengonfigurasi load balancer untuk mendukung gRPC. Lihat Menggunakan gRPC dengan aplikasi Anda dan Menggunakan perintah gcloud CLI untuk membuat perutean untuk gRPC.

Untuk membuat proxy API gRPC, pertama-tama tentukan server target gRPC (lihat Membuat TargetServer) lalu tentukan server target tersebut saat membuat proxy baru.

Menggunakan perintah gcloud CLI untuk membuat perutean untuk gRPC

Bagian ini menunjukkan contoh perintah untuk membuat perutean bagi proxy gRPC, menggunakan gcloud CLI. Petunjuk ini mencakup penyiapan load balancer, server target, dan MIG.

Bagian ini bukan panduan komprehensif untuk membuat perutean. Contoh ini mungkin tidak sesuai untuk semua kasus penggunaan. Selain itu, petunjuk ini mengasumsikan pemahaman tentang Perutean eksternal (MIG) dan Konfigurasi gRPC load balancer Cloud.

Menetapkan variabel lingkungan

Variabel lingkungan ini digunakan dalam perintah di subbagian.

PROJECT_ID=YOUR_PROJECT_ID
MIG_NAME=YOUR_MIG_NAME
VPC_NAME=default
VPC_SUBNET=default
REGION=REGION_NAME
APIGEE_ENDPOINT=ENDPOINT
CERTIFICATE_NAME=CERTIFICATE_NAME
DOMAIN_HOSTNAME=DOMAIN_HOSTNAME

Menambahkan keamanan

Keamanan proxy dicapai dengan menambahkan kebijakan ke proxy Anda. Untuk mengetahui informasi selengkapnya tentang kebijakan, lihat Apa itu kebijakan. Untuk mengetahui informasi selengkapnya tentang keamanan, lihat Mengamankan proxy.

Untuk menambahkan kebijakan keamanan ke proxy Anda:

Apigee di Konsol Cloud

  1. Buat proxy seperti yang dijelaskan dalam Membuat proxy API.
  2. Tambahkan kebijakan keamanan seperti yang dijelaskan di salah satu bagian yang tercantum dalam Mengamankan proxy. Kebijakan keamanan yang paling umum digunakan adalah kunci API dan OAuth2.

UI Apigee Klasik

Di halaman Kebijakan umum pada wizard Buat Proxy, pilih jenis otorisasi keamanan yang ingin Anda tambahkan. Tabel berikut merangkum opsi yang tersedia:

Otorisasi keamanan Deskripsi
Kunci API Menambahkan verifikasi kunci API sederhana ke proxy API yang Anda tentukan. Sebagai respons, Platform API menambahkan kebijakan VerifyAPIKey dan kebijakan AssignMessage ke proxy API Anda. Kebijakan VerifyAPIKey memvalidasi kunci API yang disajikan oleh aplikasi yang meminta. Kebijakan AssignMessage menghapus kunci API, yang diberikan dalam panggilan API sebagai parameter kueri, dari permintaan yang diteruskan ke server backend.
OAuth 2.0 Menambahkan autentikasi berbasis OAuth 2.0 ke proxy API Anda. Apigee secara otomatis menambahkan kebijakan berikut ke proxy API Anda: satu kebijakan untuk memverifikasi token akses dan kebijakan lainnya untuk menghapus token akses dari pesan sebelum meneruskannya ke layanan backend Anda. Untuk mempelajari cara mendapatkan token akses, lihat OAuth.
Teruskan (tanpa otorisasi) Tidak memerlukan otorisasi. Permintaan diteruskan ke backend tanpa pemeriksaan keamanan apa pun di Apigee.

Menambahkan dukungan untuk CORS

Cross-origin resource sharing (CORS) adalah mekanisme standar yang memungkinkan browser web membuat permintaan langsung ke domain lain. Standar CORS menentukan serangkaian header HTTP yang digunakan browser dan server web untuk mengimplementasikan komunikasi lintas domain.

Anda dapat menambahkan dukungan untuk CORS dengan menambahkan kebijakan CORS ke PreFlow permintaan ProxyEndpoint.

Untuk mengetahui informasi lebih mendetail tentang dukungan CORS, termasuk menambahkan dukungan pra-penerbangan CORS ke proxy, lihat Menambahkan dukungan CORS ke proxy API.

Menambahkan Kuota

Kuota melindungi layanan backend Anda dari traffic tinggi di bagian Kuota. Lihat Kuota. (Tidak tersedia jika Otorisasi teruskan dipilih.)

Menggunakan Spesifikasi OpenAPI untuk membuat proxy

Bagian ini membahas opsi Gunakan OpenAPI yang tersedia untuk membuat jenis proxy API berikut dari Spesifikasi OpenAPI: reverse atau tanpa target.

Apa itu Spesifikasi OpenAPI?

Logo Open API Initiative   "Open API Initiative (OAI) berfokus pada pembuatan, pengembangan, dan promosi format deskripsi API yang netral vendor berdasarkan Spesifikasi Swagger." Untuk mengetahui informasi selengkapnya, lihat OpenAPI Initiative.

Spesifikasi OpenAPI menggunakan format standar untuk mendeskripsikan RESTful API. Ditulis dalam format JSON atau YAML, Spesifikasi OpenAPI dapat dibaca mesin, tetapi juga mudah dibaca dan dipahami oleh manusia. Spesifikasi ini menjelaskan elemen API seperti jalur dasarnya, jalur dan kata kerja, header, parameter kueri, operasi, jenis konten, deskripsi respons, dan lainnya. Selain itu, Spesifikasi OpenAPI biasanya digunakan untuk membuat dokumentasi API.

Fragmen berikut dari Spesifikasi OpenAPI menjelaskan layanan target tiruan Apigee, http://mocktarget.apigee.net. Untuk informasi selengkapnya, lihat Spesifikasi OpenAPI untuk contoh helloworld.

openapi: 3.0.0
info:
  description: OpenAPI Specification for the Apigee mock target service endpoint.
  version: 1.0.0
  title: Mock Target API
paths:
  /:
    get:
      summary: View personalized greeting
      operationId: View a personalized greeting
      description: View a personalized greeting for the specified or guest user.
      parameters:
        - name: user
          in: query
          description: Your user name.
          required: false
          schema:
            type: string
      responses:
        "200":
          description: Success
  /help:
    get:
      summary: Get help
      operationId: Get help
      description: View help information about available resources in HTML format.
      responses:
        "200":
          description: Success
...

Melalui wizard Create Proxy, Anda dapat mengimpor Spesifikasi OpenAPI dan menggunakannya untuk membuat proxy API. Setelah proxy dibuat, Anda dapat menggunakan UI Apigee untuk mengembangkannya lebih lanjut dengan menambahkan kebijakan, menerapkan kode kustom, dan sebagainya&emdash;seperti proxy Apigee lainnya.

Membuat proxy API dari Spesifikasi OpenAPI

Buat proxy API dari Spesifikasi OpenAPI. Hanya dalam beberapa klik, Anda akan memiliki proxy API dengan jalur, parameter, alur bersyarat, dan endpoint target yang dibuat secara otomatis. Kemudian, Anda dapat menambahkan fitur seperti keamanan OAuth, pembatasan kapasitas, dan caching.

Di wizard Create Proxy, klik Use OpenAPI Spec dan ikuti wizard untuk membuat proxy tanpa target atau proxy terbalik dari Spesifikasi OpenAPI. Untuk mengetahui detailnya, lihat Membuat proxy API dari Spesifikasi OpenAPI.

Membuat revisi baru proxy API

Untuk membuat revisi baru proxy API, lakukan langkah-langkah berikut:

  1. Buka UI Apigee.
  2. Apigee di Konsol Cloud

    Di konsol Google Cloud , buka halaman Proxy development > API proxies.

    Buka proxy API

    UI Apigee Klasik

    1. Login ke UI Apigee.
    2. Di panel navigasi, pilih Develop > API Proxies.
  3. Klik proxy API dalam daftar yang ingin Anda salin.
  4. Klik tab Mengembangkan.

  5. Pilih tombol Simpan, lalu pilih Simpan sebagai Revisi Baru.

Mencadangkan proxy API

Anda dapat mencadangkan proxy API yang ada sebagai sekumpulan file XML dalam paket proxy API. Setelah diekspor ke dalam bundle, Anda dapat mengimpor proxy API ke proxy baru, seperti yang dijelaskan dalam Mengimpor proxy API dari bundle proxy API sebelumnya di bagian ini. Untuk mengetahui informasi selengkapnya, lihat Mendownload proxy API.

Membuat proxy API menggunakan API

Untuk membuat proxy API menggunakan API, lihat Membuat proxy API.

Tentang tidak ada proxy target

Tidak ada proxy target di Apigee yang berguna saat Anda ingin memproses permintaan dalam Apigee itu sendiri tanpa meneruskannya ke layanan backend. Penting untuk memahami kapan pendekatan ini tepat.

Kasus penggunaan umum

  • Berinteraksi dengan data yang dikelola Apigee: Proxy tanpa target berguna jika Anda hanya perlu berinteraksi dengan data yang dikelola Apigee, seperti data yang disimpan dalam peta nilai kunci (KVM) atau cache Apigee. Misalnya, Anda dapat menggunakan proxy tanpa target untuk mengambil data, seperti data sesi pengguna atau data konfigurasi, dari KVM. Dalam hal ini, tidak perlu memanggil layanan backend. Yang diperlukan hanyalah kebijakan KeyValueMapOperations dalam alur proxy. Contoh lainnya, Anda mungkin ingin penelepon meminta agar cache dikosongkan. Anda dapat melakukannya dengan memanggil kebijakan InvalidateCache, tanpa perlu terhubung ke target.
  • Menggunakan API tiruan: Anda dapat membuat API tiruan untuk menyimulasikan perilaku API sebelum implementasi backend selesai agar pengembangan frontend dapat berjalan secara independen. Untuk mempelajari lebih lanjut cara membuat API tiruan, lihat Proxy API Tiruan OpenAPI.
  • Pengelolaan token: Apigee dapat mengeluarkan token OAuthV2, dan hal ini biasanya dilakukan melalui proxy tanpa target.
  • Menguji perilaku kebijakan: Proxy tanpa target dapat berguna saat Anda ingin mencoba kebijakan Apigee untuk menguji perilakunya.