Membuat dan men-deploy proxy API baru

Setelah mengonfigurasi Google Cloud dan UI hybrid, serta menginstal dan mengonfigurasi runtime, Anda siap melihat cara kerjanya bersama-sama.

Bagian ini akan memandu Anda:

  1. Membuat proxy API baru di UI Apigee menggunakan Wizard Proxy API
  2. Deploy proxy baru ke cluster Anda dengan UI

1. Membuat proxy API baru menggunakan UI hybrid

Bagian ini menjelaskan cara membuat proxy API baru di UI dengan menggunakan Wizard Proxy API.

Untuk membuat proxy API sederhana menggunakan Wizard Proxy API:

  1. Buka UI Apigee di browser.
  2. Pilih Develop > API Proxies di tampilan utama.
  3. Dari menu drop-down Environment, pilih lingkungan tempat Anda ingin membuat proxy API baru. Bagian ini mengasumsikan nama lingkungannya adalah "test". Anda telah membuat setidaknya satu lingkungan pada Langkah 5: Tambahkan lingkungan.

    UI hybrid menampilkan daftar proxy API untuk lingkungan tersebut. Jika Anda belum membuat proxy, daftar ini kosong.

  4. Klik +Proxy di kanan atas. Wizard Proxy API akan dimulai.
  5. Pilih Reverse proxy (paling umum), lalu klik Next.

    Tampilan Detail proxy akan ditampilkan.

  6. Konfigurasikan proxy Anda dengan setelan berikut:
    • Nama Proxy: Masukkan "myproxy". Langkah-langkah yang tersisa di bagian ini mengasumsikan bahwa ID ini adalah ID proxy Anda.
    • Jalur Dasar Proxy: Otomatis ditetapkan ke "/myproxy". Jalur Dasar Proxy adalah bagian dari URL yang digunakan untuk membuat permintaan ke API Anda. Edge menggunakan URL tersebut untuk mencocokkan dan mengarahkan permintaan masuk ke proxy API yang tepat.
    • (Opsional) Deskripsi: Masukkan deskripsi untuk proxy API baru Anda, seperti "Menguji Apigee Hybrid dengan proxy sederhana".
    • Target (Existing API): Masukkan "https://mocktarget.apigee.net". Ini menentukan URL target yang dipanggil Apigee pada permintaan ke proxy API. Layanan mocktarget dihosting di Apigee dan menampilkan data sederhana. Token ini tidak memerlukan kunci API atau token akses.

    Detail proxy API Anda akan terlihat seperti berikut:

  7. Klik Next.
  8. Di layar Policies, pilih Pass through (no authorization) sebagai opsi keamanan.
  9. Klik Next.
  10. Di layar Summary, klik Create.

    Hybrid menghasilkan proxy (terkadang disebut sebagai paket proxy):

  11. Klik Buka daftar proxy.

    Hybrid menampilkan tampilan Proxy, yang menampilkan daftar proxy API. Proxy baru akan berada di bagian atas daftar, dengan indikator status berwarna abu-abu, yang berarti bahwa proxy tersebut belum di-deploy.

2. Men-deploy proxy ke cluster menggunakan UI hybrid

Setelah membuat proxy baru, Anda harus men-deploy-nya agar dapat mencobanya. Bagian ini menjelaskan cara men-deploy proxy baru menggunakan UI hybrid.

Untuk men-deploy proxy API di UI hybrid:

  1. Di UI hybrid, pilih Develop > API Proxy.

    Pastikan lingkungan "pengujian" dipilih.

    UI akan menampilkan proxy baru Anda dalam daftar proxy:

  2. Klik proxy "myproxy".

    UI menampilkan tab API Proxies Overview untuk proxy tersebut.

    Perhatikan bahwa di bagian Deployment, kolom Revisi menampilkan "Tidak di-deploy".

  3. Di kolom Revision, luaskan pemilih drop-down untuk memilih revisi yang akan di-deploy.

    Menu drop-down hanya menampilkan "1" dan "Undeploy".

  4. Pilih "1"—revisi yang ingin di-deploy—dari menu drop-down.

    UI akan meminta Anda untuk mengonfirmasi deployment:

  5. Klik Deploy.

    UI memulai proses deployment revisi 1 dari proxy baru Anda ke cluster.

    Perhatikan bahwa deployment bukanlah proses yang instan. Model deployment hybrid yang "pada akhirnya" berarti bahwa deployment baru akan diluncurkan ke cluster dalam jangka waktu singkat, bukan secara langsung.

Meskipun ada beberapa cara untuk memeriksa status deployment proxy di UI, dua langkah berikutnya menjelaskan cara memanggil proxy API yang baru saja Anda deploy dan cara memeriksa status deployment dengan panggilan ke Apigee API.

3. Memanggil proxy API

Ikuti langkah-langkah di bawah ini, bergantung pada apakah Anda dapat memperbarui data DNS dari nama host yang Anda gunakan untuk membuat grup lingkungan atau tidak.

Jika Anda tidak dapat memperbarui DNS nama host

Ikuti langkah-langkah ini jika nama host grup lingkungan tidak terdaftar, atau Anda tidak dapat memperbarui data DNS-nya. Pada langkah-langkah ini, Anda akan mendapatkan IP masuk dan menggunakannya secara langsung dalam panggilan cURL dengan flag --resolve:

  1. Ekspor IP masuk:
    export INGRESS_IP=$(kubectl -n istio-system get service \
      istio-ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
  2. Ekspor nomor port masuk yang aman:
    export SECURE_INGRESS_PORT=$(kubectl -n istio-system get \
      service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="https")].port}')
  3. Ekspor alias host grup lingkungan ke variabel:
    export HOSTALIAS=your_host_alias
  4. Memanggil proxy API. Flag --resolve pada cURL memungkinkan Anda menentukan IP masuk secara langsung:
    curl  -H Host:$HOSTALIAS --resolve \
      $HOSTALIAS:$SECURE_INGRESS_PORT:$INGRESS_IP  \
      https://$HOSTALIAS:$SECURE_INGRESS_PORT/myproxy -k

Jika Anda dapat memperbarui DNS nama host

Ikuti langkah-langkah ini jika nama host yang digunakan saat membuat grup lingkungan sudah terdaftar dan Anda dapat memperbarui data DNS-nya agar mengarah ke IP masuk eksternal:

  1. Ekspor IP eksternal ingress ke variabel:
    export INGRESS_IP=$(kubectl -n istio-system get service \
      istio-ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
  2. Periksa apakah variabel tersebut menyimpan alamat IP. Contoh:
    echo $INGRESS_IP
    34.118.196.202
  3. Gunakan alamat IP ini untuk memperbarui data DNS (biasanya data A atau CNAME) di registrar atau penyedia DNS Anda. Anda mungkin perlu menunggu hingga satu jam agar perubahan data DNS diterapkan.
  4. Ekspor alias host grup lingkungan ke variabel:
    export HOSTALIAS=your_host_alias
  5. Panggil proxy API:
    curl -k https://$HOSTALIAS/myproxy

    Contoh:

    curl -v -k https://apitest.acme.com/myproxy

    Jika panggilan berhasil, Anda akan melihat output berikut:

    Hello, Guest!