Membangun 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 melakukan ini dengan membuat Proxy API yang menyediakan fasad untuk layanan backend yang ingin Anda ekspos. Anda perlu menyediakan alamat jaringan saja untuk layanan backend, beserta beberapa informasi yang Apigee digunakan untuk membuat proxy API yang diekspos ke developer.

Proxy API memisahkan implementasi layanan backend Anda dari API yang memakai data tersebut. Hal ini melindungi developer dari perubahan mendatang pada layanan backend Anda. Saat Anda memperbarui layanan backend, developer, yang terisolasi dari perubahan tersebut, dapat terus memanggil API tanpa gangguan.

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

Membuat proxy API menggunakan UI

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

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

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

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

Halaman pertama wizard Create Proxy
    yang meminta Anda memilih paket reverse proxy, No Target, atau Proxy untuk menyesuaikan alur wizard.

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

Jenis Deskripsi
Reverse proxy (paling umum)

Proxy API yang merutekan permintaan masuk ke layanan backend HTTP yang ada. Bisa JSON atau XML API. Lihat Membuat pembalikan proxy untuk layanan HTTP nanti di bagian ini.

Klik Use OpenAPI Spec untuk menghasilkan proxy dari OpenAPI yang valid Spesifikasi. Untuk informasi selengkapnya tentang opsi ini, lihat Menggunakan OpenAPI Spesifikasi untuk membuat proxy nanti di bagian ini.

Tidak ada target

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

Klik Use OpenAPI Spec untuk menghasilkan proxy dari OpenAPI yang valid spesifikasi pendukung. Untuk informasi selengkapnya tentang opsi ini, lihat Menggunakan OpenAPI Spesifikasi untuk membuat proxy nanti di bagian ini.

Upload paket proxy Paket proxy API yang sudah ada (misalnya, salah satu contoh proxy API yang tersedia di GitHub). Lihat Mengimpor proxy API dari paket proxy API.

Bagian berikut membahas detail setiap jenis proxy.

Membuat reverse proxy untuk layanan HTTP

Apigee membuat reverse proxy berdasarkan informasi berikut:

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

URL layanan backend biasanya mewakili aplikasi berkemampuan layanan yang dimiliki oleh organisasi/pengaturan. Tindakan ini juga dapat mengarah ke API yang tersedia secara publik. API atau layanan dapat berada di bawah (misalnya, aplikasi HR internal atau aplikasi Rails di Cloud) atau juga dapat berupa API atau layanan pihak ketiga (misalnya, Twitter atau Instagram).

Detail proxy berikut tersedia setelah mengakses wizard Create 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. Apigee menggunakan URI jalur dasar untuk mencocokkan dan merutekan pesan permintaan masuk ke proxy API yang tepat.

Mengikuti jalur dasar adalah URL resource tambahan. URL lengkap berikut ini adalah struktur yang digunakan klien untuk memanggil proxy API Anda:

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 agar proxy API Anda siap menghadapi masa depan. Misalnya, jalur dasar /team/*/members memungkinkan klien untuk memanggil https://[host]/team/blue/members dan https://[host]/team/green/members tanpa Anda perlu membuat proxy API baru untuk mendukung tim baru. Perlu diketahui bahwa /**/ tidak didukung.

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

Mengimpor proxy API dari paket proxy API

Sering kali Anda mendefinisikan proxy API sebagai kumpulan file XML, bersama dengan file pendukung. Dengan menentukan proxy API sebagai sekumpulan file eksternal untuk Apigee, Anda dapat mempertahankannya di sistem kontrol sumber, lalu mengimpornya ke Apigee untuk diuji dan deployment.

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

  1. Akses wizard Create Proxy seperti yang dijelaskan di Membuat proxy API menggunakan UI sebelumnya di bagian ini.
  2. Klik Upload paket proxy.
  3. Pada halaman Upload paket proxy di wizard proxy, masukkan informasi:

    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. Setelan defaultnya adalah nama file ZIP tanpa ekstensi.
  4. Klik Next.
  5. Di halaman Summary, pilih lingkungan deployment jika diinginkan, lalu klik Membuat dan men-deploy

    Sebuah konfirmasi akan ditampilkan untuk mengonfirmasi bahwa proxy API baru Anda berhasil dibuat.

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

Membuat proxy gRPC API

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

Saat ini, proxy Apigee gRPC API:

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

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

Untuk membuat proxy gRPC API, tentukan server target gRPC terlebih dahulu (lihat Membuat TargetServer) dan kemudian menentukan server target itu saat membuat {i>proxy<i} baru.

Menggunakan perintah gcloud CLI untuk membuat perutean untuk gRPC

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

Bagian ini bukan sebagai panduan komprehensif untuk membuat {i>routing<i}. Contoh ini mungkin tidak sesuai untuk semua kasus penggunaan. Selain itu, petunjuk ini mengasumsikan Anda telah memahami Pemilihan rute 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

Di halaman Kebijakan umum di wizard Create Proxy, pilih jenis otorisasi keamanan yang ingin Anda tambahkan. Tabel berikut meringkas opsi yang tersedia:

Otorisasi keamanan Deskripsi
Kunci API Menambahkan verifikasi kunci API sederhana ke proxy API yang Anda mendefinisikan. Sebagai respons, Platform API menambahkan kebijakan VerifyAPIKey dan kebijakan MenetapkanMessage ke proxy API Anda. Kebijakan VerifyAPIKey memvalidasi kunci API yang ditampilkan dengan meminta aplikasi. Tujuan Kebijakan TetapkanMessage menghapus kunci API, yang disediakan dalam panggilan API sebagai parameter kueri, dari permintaan 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 kebijakan untuk menghapus token akses dari pesan sebelum meneruskannya ke backend layanan. Untuk mempelajari cara memperoleh token akses, lihat OAuth.
Lewati (tanpa otorisasi) Otorisasi tidak diperlukan. Permintaan diteruskan ke backend tanpa keamanan apa pun pemeriksaan di Apigee.

Menambahkan dukungan untuk CORS

{i>Cross-origin resource sharing<i} (CORS) adalah mekanisme standar yang memungkinkan browser web untuk melakukan mengarahkan permintaan ke domain lain. Standar CORS menentukan kumpulan header HTTP yang yang digunakan {i>browser<i} dan server untuk menerapkan komunikasi lintas-domain.

Anda dapat menambahkan dukungan untuk CORS dengan melakukan salah satu langkah berikut:

  • Menambahkan kebijakan CORS ke PreFlow permintaan pada ProxyEndpoint
  • Pilih Tambahkan header CORS di halaman Kebijakan umum pada Wizard Create Proxy

Untuk mengetahui informasi lebih mendetail tentang dukungan CORS, termasuk menambahkan dukungan preflight CORS ke proxy, lihat Menambahkan CORS dukungan terhadap proxy API.

Menambahkan Kuota

Kuota melindungi layanan backend Anda dari traffic tinggi di bagian Quota. Lihat Kuota. (Tidak tersedia jika Otorisasi pass-through dipilih.)

Menggunakan Spesifikasi OpenAPI untuk membuat proxy

Bagian ini membahas opsi Gunakan OpenAPI yang tersedia untuk dihasilkan dari OpenAPI Cantumkan jenis proxy API berikut: terbalik atau tanpa target.

Apa itu Spesifikasi OpenAPI?

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

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

Fragmen dari Spesifikasi OpenAPI berikut ini menjelaskan layanan target tiruan Apigee, http://mocktarget.apigee.net. Sebagai 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 khusus, dan sebagainya&emdash;seperti Apigee {i>proxy<i}.

Membuat proxy API dari Spesifikasi OpenAPI

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

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

Membuat revisi baru dari proxy API

Buat revisi baru proxy API, seperti yang dijelaskan di bawah.

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

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

  5. Pilih tombol Save dan pilih Save as New Revision.

Mencadangkan proxy API

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

Membuat proxy API menggunakan API

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