Membangun proxy API sederhana

Halaman ini berlaku untuk Apigee dan Apigee Hybrid.

Baca dokumentasi Apigee Edge.

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

Proxy API memisahkan implementasi layanan backend Anda dari API yang digunakan developer. Tindakan ini melindungi developer dari perubahan layanan backend Anda di masa mendatang. Saat Anda mengupdate layanan backend, developer, yang terpisah 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 cara 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 > API Proxies.
  3. Klik Create New.
    Tombol buat proxy

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

Halaman pertama wizard Create Proxy yang meminta Anda untuk memilih reverse proxy, No Target, atau Proxy bundle 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. Dapat berupa JSON atau XML API. Lihat Membuat reverse proxy untuk layanan HTTP nanti di bagian ini.

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

Tidak ada target

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

Klik Use OpenAPI Spec untuk menghasilkan proxy dari spesifikasi OpenAPI yang valid. Untuk informasi selengkapnya tentang opsi ini, lihat Menggunakan Spesifikasi OpenAPI untuk menghasilkan 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 menghasilkan reverse proxy 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 mewakili aplikasi yang mendukung layanan yang dimiliki oleh organisasi Anda. Kode ini juga dapat mengarah ke API yang tersedia secara publik. API atau layanan dapat berada di bawah kendali 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 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 Anda. Apigee menggunakan URI jalur dasar untuk mencocokkan dan merutekan pesan permintaan masuk ke proxy API yang tepat.

URL resource tambahan akan ada di sepanjang jalur dasar. 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 agar proxy API Anda siap menghadapi masa depan. 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

Sering kali, Anda menentukan proxy API sebagai kumpulan file XML, beserta file pendukung lainnya. Dengan menentukan proxy API sebagai sekumpulan file eksternal Apigee, Anda dapat mempertahankannya 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 sebelumnya di bagian ini.
  2. Klik Upload paket proxy.
  3. Pada halaman Upload paket proxy di wizard proxy, masukkan informasi berikut:

    Kolom Deskripsi
    Paket ZIP ZIP yang berisi konfigurasi proxy API. Tarik lalu lepas atau klik untuk membuka file.
    Nama Nama yang ditampilkan untuk API Anda. Default-nya adalah nama file ZIP tanpa ekstensi.
  4. Klik Next.
  5. Di halaman Summary, pilih lingkungan deployment jika diinginkan, lalu klik Create and deploy

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

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

Membuat proxy gRPC API

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

Saat ini, proxy API Apigee gRPC:

  • 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 API 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.
  • Menampilkan kode status gRPC.

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

Untuk membuat proxy gRPC API, tentukan server target gRPC terlebih dahulu (lihat Membuat TargetServers) lalu tentukan server target tersebut saat membuat proxy baru.

Menggunakan perintah CLI gcloud untuk membuat perutean untuk gRPC

Bagian ini menunjukkan contoh perintah guna membuat perutean untuk proxy gRPC, menggunakan gcloud CLI. Petunjuknya meliputi 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 Common policy di wizard Create 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 TetapkanMessage ke proxy API Anda. Kebijakan VerifyAPIKey memvalidasi kunci API yang ditampilkan dengan meminta aplikasi. Kebijakan ProvideMessage 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 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.
Lewati (tanpa otorisasi) Tidak perlu otorisasi. Permintaan diteruskan ke backend tanpa pemeriksaan keamanan 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 web dan server untuk mengimplementasikan komunikasi lintas-domain.

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

  • Menambahkan kebijakan CORS ke request PreFlow dari ProxyEndpoint
  • Memilih Add CORS header di halaman Common policies pada wizard Create Proxy

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

Menambahkan Kuota

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

Menggunakan Spesifikasi OpenAPI untuk menghasilkan proxy

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

Apa itu Spesifikasi OpenAPI?

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

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

Fragmen dari Spesifikasi OpenAPI berikut menjelaskan layanan target tiruan Apigee, http://mocktarget.apigee.net. Untuk mengetahui 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 menghasilkan proxy API. Setelah proxy dihasilkan, Anda dapat menggunakan UI Apigee untuk mengembangkannya lebih lanjut dengan menambahkan kebijakan, mengimplementasikan kode kustom, dan sebagainya&emdash;sama seperti proxy Apigee lainnya.

Membuat proxy API dari Spesifikasi OpenAPI

Buat proxy API dari Spesifikasi OpenAPI. Hanya dengan 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 penyimpanan dalam cache.

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

Membuat revisi baru proxy API

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

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

  1. Login ke UI Apigee.
  2. Di menu 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 paket, Anda dapat mengimpor proxy API ke proxy baru, seperti yang dijelaskan dalam Mengimpor proxy API dari paket 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.