Menyiapkan dan mengonfigurasi Edge Microgateway

Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi Apigee X.
info

Edge Microgateway v. 2.3.x

Ringkasan

Tutorial ini akan memandu Anda melakukan langkah-langkah yang diperlukan untuk mengaktifkan dan menjalankan instance Edge Microgateway.

Setelah menyelesaikan langkah-langkah di sini, Anda akan memiliki penginstalan Edge Microgateway yang berfungsi dan dikonfigurasi sepenuhnya yang mampu memproses permintaan API. Anda akan menguji penyiapan dengan melakukan panggilan API yang aman melalui Edge Microgateway ke target backend. Anda juga akan mempelajari cara menambahkan plugin spike arrest ke Microgateway.

Panduan ini dibagi menjadi beberapa bagian berikut:

Prasyarat: Menginstal Edge Microgateway

Ikuti petunjuk di Menginstal Edge Microgateway. Setelah menyelesaikan penginstalan, Anda akan siap mengikuti langkah-langkah dalam tutorial ini.

Setelah penginstalan selesai, lanjutkan ke bagian berikutnya, "Bagian 1: Konfigurasi Edge Microgateway".

Bagian 1: Mengonfigurasi Edge Microgateway

Di bagian ini, Anda akan menggunakan perintah antarmuka command line (CLI) untuk mengonfigurasi Edge Microgateway agar dapat berkomunikasi dengan Apigee Edge. Jika Anda menggunakan Apigee Edge Cloud, ikuti langkah-langkah konfigurasi Apigee Edge Cloud. Jika Anda menggunakan Apigee Private Cloud, ikuti langkah-langkah untuk Apigee Edge Private Cloud.

Langkah-langkah konfigurasi Apigee Edge Cloud

Ikuti langkah-langkah berikut untuk menggunakan Edge Microgateway dengan Apigee Edge Cloud:

  1. Jika Anda belum melakukannya sebelumnya, lakukan inisialisasi Edge Microgateway (Anda hanya perlu melakukan langkah ini satu kali):
    edgemicro init
  2. (Opsional) Mencetak bantuan untuk perintah edgemicro configure:
    edgemicro configure -h
  3. Jalankan perintah berikut untuk mengonfigurasi Edge Microgateway:
    edgemicro configure -o [org] -e [env] -u [username] 

    Dengan:

    • org adalah nama organisasi Edge Anda (Anda harus menjadi administrator org).
    • env adalah lingkungan di organisasi Anda (seperti test atau prod).
    • username adalah alamat email yang terkait dengan akun Apigee Anda.

Contoh

edgemicro configure -o docs -e test -u jdoe@example.com

Output

./edgemicro configure -o docs -e test -u jdoe@apigee.com
password:
current nodejs version is v6.1.0
current edgemicro version is 2.2.3-beta
password:
file doesn't exist, setting up
Give me a minute or two... this can take a while...
App edgemicro-auth deployed.
creating vault
adding private_key
adding public_key
configuring host edgemicroservices-us-east-1.apigee.net for region us-east-1

saving configuration information to: /Home/.edgemicro/wwitman-test-config.yaml

vault info:
 -----BEGIN CERTIFICATE-----
MIICpDCCAYwCCQCaDpaTttaDANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDEwls
b2NhbGhvc3QwHhcNMTYxAxMjA0NzIyWhcNMTYxMTAyMjA0NzIyWjAUMRIwEAYD
VQQDEwlsb2NhbGhvcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDA
YbtbsFe50GgBrI8QTih5yzxxxvCfdubGrLWmovwwCCFthno3u8lS54ekOL9jQu
JTJsocJfNhZxvnXifDsCk5Muwx87Z/D0BYLw9ZhM8TMyA2MCkXgC6RfKT69IdJ
jT3X+3D0s+apr3lACsDhgOfaeQfeHAm1SSwH/VemaJqdImGkQMtM8uscMDwG6k
vBbCSNS+hh6ZH1m3tAkcKXqvj/E1hbrHNTWr+uiYFRByUzeo1I607daQD4Lxid
il4Ng3hr3LC1gEzvobWgVyhQ2ovYB57T886H7dGghTnOUxLm2y/TwmQya+44SL
JSsDwauArMF38cRKZZ7VAgMBAAEwDQYJKoZIhvcNAQELBQADEBAHwwu+gOn8Tq
jKOYBTXtOX11HPMTxmyvZ/I57R4roE7Z/lXg/DXwbiFpFG2uamXNKq7yTDJH2i
iiqdERZOGfv7TJMjRlxEnfVHoCV7UKguKq4zeeAEU2x55yFwpWNrarx0kMXRwI
v3WgGfo2bimFQrCjDCNIkDKmYYt4SXIF5zUJmBWPCaK9aJoQb7ARXQO9s2zoOI
XZ5bCUDbehQZ+6LyqC0hgDXiIZYy7R0j93yCbQgoHaHUMEprJEEjE24SHdsWBO
nxGZxB20JLq5AHTm8lbZp7XtvbU0jVpxyrBo2/olFnmpvBVOq9eIp042IVD7nT
J4rPejdK6C4=
-----END CERTIFICATE-----

The following credentials are required to start edge micro
  key: e88ec9d5da17cd88ca338d532b7c7a8c4f43ddd3da139d95955ab345af30352d
  secret: d7f64854eb6889d06b809dd7c161dba5eeba4a2657277fd819921bf992221a8f

edgemicro configuration complete!
    

Langkah-langkah konfigurasi Apigee Private Cloud

Ikuti langkah-langkah berikut untuk menggunakan Edge Microgateway dengan Apigee Private Cloud:

  1. Mencetak informasi bantuan untuk perintah edgemicro private configure. Anda dapat mencetak bantuan dengan cara ini untuk perintah atau opsi perintah CLI Edge Microgateway apa pun.
    edgemicro private configure -h
  2. Jalankan perintah berikut. Hal ini memerlukan informasi standar tentang akun Apigee Edge Private Cloud Anda: nama organisasi, nama lingkungan, nama pengguna (alamat email), sandi, IP server pengelolaan, dan IP router. Anda harus menjadi administrator organisasi Edge untuk menggunakan perintah ini:
    edgemicro private configure -o [org] -e [env] -u [username] -r [runtime_url] -m [mgmt_url] -v [virtual_host]

    Dengan:

    • org adalah nama organisasi Edge Anda (Anda harus menjadi administrator org).
    • env adalah lingkungan di organisasi Anda (seperti test atau prod).
    • runtime_url adalah URL runtime untuk instance cloud pribadi Anda.
    • mgmt_url adalah URL server pengelolaan untuk instance cloud pribadi Anda.
    • username adalah alamat email yang terkait dengan akun Apigee Anda.
    • virtual_host adalah daftar nama host virtual yang dipisahkan koma. Nilai defaultnya adalah default,secure

Contoh

edgemicro private configure -o docs -e test -u jdoe@example.com -r http://192.162.52.106:9001 -m http://192.162.52.106:8080 -v default

atau, jika Anda memiliki alias host virtual myorg-test.mycompany.com, Anda akan menggunakan perintah seperti ini:

edgemicro private configure -o docs -e test -u jdoe@example.com -r myorg-test.mycompany.com -m http://192.162.52.106:8080 -v default

Output

delete cache config
checking for previously deployed proxies
configuring edgemicro internal proxy
deploying edgemicro internal proxy
deploying  edgemicro-auth  app
copy auth app into tmp dir
copy config into tmp deer
Give me a minute or two... this can take a while...
App edgemicro-auth added to your org. Now adding resources.

checking org for existing vault creating vault adding private_key adding public_key
configuring host http://192.168.52.106:9001 for region dc-1

saving configuration information to: /Users/ApigeeCorporation/.edgemicro/jdoe-test-config.yaml 
vault info: 
-----BEGIN CERTIFICATE----- 
MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls 
b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD 
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 
OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFswhB0Yvg6JKWxKWBDP9o 
Xl96dtgH7xPFRqIU0zI452jkMQ1fPz2mSaGwik245yfBku7olooXKRKTRKOUoXa 
q3Hld/RPxGSsWtiyyYtKex7tuFdq0Knm1EhowdTRGIgjNvudeYMka/XPRXuykhd 
xIDxWj4rdX+4GPx9qT2eTQC5nOAC7XHVL7ys4KqsAiv28vw10u400KstFFS8Qho 
7FaE0bOKLolKKadKyA60ha1XIw/uSTD6ZQFWQ+XM3OaRbXePWXnSZioSxXcZT7L 
hMUKbsRXw/TCvRB51LgNAgMBAAEwDQYJKoZIhvcNAQELBQADgEBAOuR1OmE/W6j 
gRAarJB5EQuTEpI/9Zpg5c5RAGjzLhkazsycn7pal+IymUjCV7D0oIxTVuTM8ZZ 
57kR5hF/C1ZypDN9i+KGP2ovX8WOCCXYtIQECgZPB/L/7/k7BDuKN4vFBvWUe3X 
s2oyjnVWy+ASqsW8gHfj8ekhe22bP240Oqkbyg9SZP9ol1tvJX6+M0thYwcTwAd 
ft929Icey/MOTQC0jB2qm0gnIx/7KInFXfS5KoFRJoGrWDeckr3RdBo2LhnPaeZ 
1gPYIqphZ3HfisF5KlBXoR8oT/Ilym/nq5COlv+3L4tMIk18F7BQZB60SRazifz 
pFkIxepyr/0= 
-----END CERTIFICATE----- 

The following credentials are required to start edge micro 
   key: a3f8f3dfe39158fc3c50b274f0af2234246e0d5f6ea4dd09389b645147151ba3 
   secret: 3e9904802fb3c0e8ca408128a11119cf13546d54dac30ace944c097a726a1263

edgemicro configuration complete!
    

Memverifikasi penginstalan

Jalankan perintah ini untuk memverifikasi penginstalan. Jika tidak ada error yang dilaporkan, berarti semuanya telah disiapkan dengan benar dan Anda akan dapat memulai Edge Microgateway dengan berhasil.

edgemicro verify -o [org] -e [env] -k [key] -s [secret]

Dengan:

  • org adalah nama organisasi Edge Anda (Anda harus menjadi administrator organisasi).
  • env adalah lingkungan di organisasi Anda (seperti test atau prod).
  • key adalah kunci yang sebelumnya ditampilkan oleh perintah configure.
  • secret adalah kunci yang sebelumnya ditampilkan oleh perintah configure.

Contoh

edgemicro verify -o docs -e test -k 93b01fd21d86331459ae52f664ae9aeb13eb94767ce40a4f621d172cdfb7e8e6 -s c8c755be97cf56c21f8b0556d7132afbd03625bbd85dc34ebfefae4f23fbcb3c

Tentang konfigurasi

Semua konfigurasi yang telah dilakukan sejauh ini memungkinkan Edge Microgateway melakukan bootstrap sendiri ke Apigee Edge. Setelah bootstrapping berhasil, Edge Microgateway mengambil payload informasi konfigurasi tambahan dari Apigee Edge.

Untuk apa informasi konfigurasi ini digunakan? Seperti yang akan kita ketahui di bagian berikutnya dalam tutorial ini, saat dimulai, Edge Microgateway perlu menerima daftar proxy API khusus yang kompatibel dengan Edge Microgateway dari Apigee Edge. Di bagian berikutnya dalam tutorial ini, Anda akan membuat proxy yang kompatibel dengan Microgateway. Edge Microgateway membatasi klien untuk memanggil hanya API yang ditangani oleh proxy API yang kompatibel dengan Microgateway ini, dan klien akan diwajibkan (secara default) untuk menampilkan token keamanan yang valid untuk setiap panggilan. Untuk membaca lebih lanjut tentang proxy ini, lihat "Yang perlu Anda ketahui tentang proxy yang kompatibel dengan Edge Microgateway" di Ringkasan Edge Microgateway.

Sebagai admin organisasi Edge, Anda akan tertarik untuk mengetahui bahwa proxy yang kompatibel dengan Edge Microgateway dapat ditambahkan ke produk Edge, seperti proxy lainnya. Dengan menggunakan produk dan aplikasi developer, Anda dapat membuat token keamanan khusus klien untuk mengontrol akses ke API yang dipanggil melalui Edge Microgateway. Sekali lagi, pola yang terlibat identik dengan pola saat bekerja dengan proxy API, produk, dan aplikasi developer di Apigee Edge. Jika Anda ingin membaca produk, mulailah dengan Apa itu produk API? dalam dokumentasi Edge.

Selanjutnya, kita akan membahas cara membuat proxy yang kompatibel dengan Edge Microgateway, dan setelah itu, kita akan memulai Edge Microgateway dan menguji penyiapan.

Bagian 2: Membuat entitas di Apigee Edge

Di bagian ini, Anda akan membuat entity berikut di Edge:

  • Proxy yang kompatibel dengan microgateway - Ini adalah proxy khusus yang dapat ditemukan Edge Microgateway saat startup. Proxy yang kompatibel dengan microgateway memiliki konvensi penamaan yang harus Anda ikuti: nama harus diawali dengan edgemicro_. Misalnya, edgemicro_hello atau edgemicro_userinfo. Saat dimulai, Edge Microgateway mengambil daftar proxy yang kompatibel dengan microgateway dari Edge, dari organisasi dan lingkungan Edge yang sama dengan yang Anda tentukan saat memulai Edge Microgateway.

    Untuk setiap proxy yang kompatibel dengan microgateway, Edge Microgateway akan mengambil URL target proxy dan jalur dasarnya. Proxy yang kompatibel dengan microgateway juga menyediakan cara mudah untuk mengaitkan data analisis yang dihasilkan oleh Edge Microgateway dengan proxy di platform Edge. Saat Microgateway menangani panggilan API, Microgateway akan mengirimkan data analisis ke Edge secara asinkron. Data Analytics akan muncul di UI Edge Analytics dengan nama proxy yang kompatibel dengan microgateway, seperti halnya untuk proxy lainnya.
  • Produk, developer, dan aplikasi developer - Edge Microgateway menggunakan produk, developer, dan aplikasi developer untuk mengaktifkan keamanan token akses OAuth2 atau kunci API. Saat dimulai, Edge Microgateway akan mendownload semua konfigurasi produk dari organisasi Apigee Edge Anda. Informasi ini digunakan untuk memverifikasi panggilan API yang dilakukan melalui Edge Microgateway dengan kunci API atau token akses OAuth2.

Baca selengkapnya: Lihat juga "Yang perlu Anda ketahui tentang proxy yang kompatibel dengan Edge Microgateway" dalam Ringkasan Edge Microgateway.

1. Membuat proxy API yang kompatibel dengan Edge Microgateway di Edge

  1. Login ke organisasi Anda di Apigee Edge.
  2. Klik BERALIH KE KLASIK untuk membuka UI Klasik Edge.
  3. Pilih APIs > API Proxies dari menu atas.
  4. Di halaman API Proxies, klik + API Proxy.
  5. Di wizard Build a Proxy, pilih Reverse proxy (most common).
  6. Klik Berikutnya.
  7. Di halaman Detail wizard, konfigurasi sebagai berikut. Pastikan untuk mengisi wizard persis seperti yang ditunjukkan:
    • Nama Proxy: edgemicro_hello
    • Jalur Dasar Proxy: /hello
    • API yang ada: http://mocktarget.apigee.net/
  8. Klik Berikutnya.
  9. Di halaman Keamanan wizard, pilih Teruskan (tidak ada).
  10. Klik Berikutnya.
  11. Di halaman Virtual Hosts wizard, setujui setelan default.
  12. Klik Berikutnya.
  13. Di halaman Build wizard, tinjau setelan proxy Anda. Pastikan lingkungan test dipilih.
  14. Klik Build and Deploy.

2. Membuat produk

Buat produk yang berisi dua proxy:

  • Proxy yang kompatibel dengan microgateway Anda: edgemicro_hello
  • Proxy autentikasi yang diinstal oleh Edge Microgateway: edgemicro-auth.
  1. Di UI Edge (versi Klasik), buka Publish > Products.
  2. Di halaman Produk, klik + Produk. Lengkapi halaman Detail Produk sebagai berikut:
    • Nama: EdgeMicroTestProduct
    • Nama Tampilan: EdgeMicroTestProduct
    • Lingkungan: test dan prod
    • Akses: Publik
    • Jenis Persetujuan Kunci: Otomatis
    • Referensi:
      • Proxy API: Pilih edgemicro_hello
      • Revisi: 1
      • Jalur Resource: /**
  3. Klik Impor Resource.
  4. Di Resources, klik +API Proxy
  5. Pilih edgemicro-auth
  6. Klik Simpan.

3. (Opsional) Buat developer pengujian

Untuk tujuan tutorial ini, Anda dapat menggunakan developer yang ada untuk langkah berikutnya, yaitu membuat aplikasi developer. Namun, jika ingin, buat developer pengujian sekarang:

  1. Buka Publikasikan > Developer.
  2. Di halaman Produk, klik + Developer.
  3. Isi dialog untuk membuat developer pengujian.

4. Membuat aplikasi developer

Anda akan menggunakan kredensial klien dari aplikasi ini untuk melakukan panggilan API yang aman melalui Edge Microgateway:

  1. Buka Publikasikan > Aplikasi Developer.
  2. Di halaman Aplikasi Developer, klik + Aplikasi Developer.
  3. Isi halaman Aplikasi Developer sebagai berikut:
    1. Nama: EdgeMicroTestApp
    2. Nama Tampilan: EdgeMicroTestApp
    3. Developer: Jika Anda membuat developer pengujian, pilih developer tersebut. Atau, Anda dapat menggunakan developer yang ada untuk tujuan tutorial ini.
    4. Kredensial:
      1. Pilih Masa berlaku: Tidak pernah.
      2. Klik + Produk dan pilih EdgeMicroTestProduct (produk yang baru saja Anda buat)
  4. Klik Simpan.
  5. Anda akan kembali ke halaman daftar Aplikasi Developer.
  6. Pilih aplikasi yang baru saja Anda buat, EdgeMicroTestApp.
  7. Klik Show di samping Consumer Key dan Consumer Secret.

Bagian 3: Mengoperasikan Edge Microgateway

Setelah Anda mengonfigurasi Edge Microgateway dan setidaknya satu proxy yang kompatibel dengan Edge Microgateway di Edge, sekarang saatnya untuk memulai Edge Microgateway. Server HTTP Edge Microgateway akan berjalan di mesin lokal Anda, dan Anda akan melakukan panggilan API langsung ke server tersebut.

1. Mulai Edge Microgateway

Gunakan perintah edgemicro start untuk memulai Edge Microgateway.

  1. Pastikan Anda memiliki kunci yang ditampilkan sebelumnya saat menjalankan perintah edgemicro configure. Output tersebut akan terlihat seperti ini:
    You need key and secret while starting edgemicro instance
    
    key: da4778e7c240a5d4585fc559eaba5083328828ac9f3a7f583e8b73e
    secret: 3aad7439708b4aeb38ee08e87189921ad00e6fc1ba8a8ae9f929ee2
  2. (Opsional) Mencetak informasi bantuan untuk perintah edgemicro start.
    edgemicro start -h
  3. Untuk memulai Edge Microgateway, jalankan perintah berikut:
    edgemicro start -o [org] -e [env] -k [key] -s [secret]

    Dengan:

    • org adalah nama organisasi Edge Anda (Anda harus menjadi administrator org).
    • env adalah lingkungan di organisasi Anda (seperti test atau prod).
    • key adalah kunci yang sebelumnya ditampilkan oleh perintah configure.
    • secret adalah kunci yang sebelumnya ditampilkan oleh perintah configure.

    Contoh

    edgemicro start -o docs -e test -k 701e70e718ce6dc1880616b3c39177d64a88754d615c7a4e1f78b6181d000723 -s 05c14356e42d136b83dd135cf8a18531ff52d7299134677e30ef4e34ab0cc824

    Output

    Perintah start mengambil banyak informasi konfigurasi dari Apigee Edge (yang di-scroll ke jendela terminal). Dalam output, Anda akan melihat daftar produk dan proxy yang kompatibel dengan microgateway yang ditemukan. Di akhir output, Anda akan melihat sesuatu seperti ini:

    ...
    
    PROCESS PID : 9757
    installed plugin from analytics
    installed plugin from oauth
    eb725020-a2b0-11e6-8a52-6de156e3a6e2 edge micro listening on port 8000
    installed plugin from analytics
    installed plugin from oauth
    installed plugin from analytics
    installed plugin from oauth
    installed plugin from analytics
    installed plugin from oauth
    eb77ce60-a2b0-11e6-8a88-b96278c0c198 edge micro listening on port 8000
    eb78b8c0-a2b0-11e6-bf36-717b986c91fe edge micro listening on port 8000
    eb77f570-a2b0-11e6-883e-472b9104351e edge micro listening on port 8000

Apa yang terjadi?

Lihat terminal tempat Anda menjalankan perintah edgemicro config. Dengan men-scroll output standar ke atas, Anda dapat melihat bahwa perintah mengambil payload informasi konfigurasi Edge Microgateway dari Apigee Edge. Informasi ini mencakup:

  • Kunci publik yang kita buat dan simpan sebelumnya di vault Apigee.
  • Representasi JSON dari semua proxy yang kompatibel dengan Edge Microgateway yang ada di organisasi/lingkungan. Semua proxy ini diberi nama dengan awalan edgemicro_.
  • Representasi JSON dari semua produk API yang ada di organisasi/lingkungan.

Dengan informasi ini, Edge Microgateway mengetahui proxy dan jalur proxy mana yang diizinkan untuk diproses. Kebijakan ini menggunakan informasi produk untuk menerapkan keamanan (dengan cara yang sama persis seperti yang dilakukan oleh proxy API di Apigee Edge, tempat kunci aplikasi developer memiliki hubungan dengan produk). Kami akan membahas langkah-langkah untuk mengamankan Edge Microgateway dalam waktu singkat.

2. Menguji Edge Microgateway

Dengan Edge Microgateway yang berjalan, Anda dapat memanggil proxy. Konfigurasi untuk proxy edgemicro_hello didownload dari Edge saat Anda memulai Edge Microgateway. Ingat, basepath proxy adalah /hello.

Untuk menguji Edge Microgateway, kita mulai dengan jalur dasar dan menambahkan jalur resource /echo. Perhatikan bahwa semua yang ada setelah jalur dasar (termasuk parameter kueri) diteruskan ke target backend:

curl -i http://localhost:8000/hello/echo
{"error":"missing_authorization","error_description":"Missing Authorization header"}

Error ini terjadi karena Anda tidak mengirimkan kunci API atau token akses yang valid dengan permintaan. Secara default, Edge Microgateway memerlukan kunci API atau token akses pada setiap panggilan API. Pada langkah berikutnya dalam tutorial ini, kita akan mengamankan API ini dengan benar dan menunjukkan cara mendapatkan token akses yang valid dan menyertakannya dalam permintaan.

4. Hentikan Edge Microgateway

  1. Di jendela terminal terpisah, cd ke direktori yang sama tempat Anda memulai Edge Microgateway.
  2. Masukkan perintah berhenti:
    edgemicro stop

Bagian 4: Secure Edge Microgateway

Anda dapat mengamankan panggilan API yang dilakukan melalui Edge Microgateway menggunakan kunci API atau token akses.

Mengamankan panggilan API dengan token akses OAuth2

Ikuti langkah-langkah berikut jika Anda ingin mengautentikasi panggilan API dengan token akses OAuth2:

1. Mendapatkan kunci yang diperlukan

  1. Di UI Edge, buka Aplikasi Developer yang Anda buat sebelumnya, seperti yang dijelaskan di Bagian 2: Membuat entitas di Apigee Edge. Nama Aplikasi adalah EdgeMicroTestApp.
  2. Di halaman Aplikasi Developer, tampilkan Consumer Key dan Consumer Secret, lalu salin keduanya. Nilai ini diperlukan untuk mendapatkan token akses pada langkah berikutnya.

2. Mendapatkan token akses

Ada dua cara untuk mendapatkan token akses. Kami akan menunjukkan kedua metode tersebut.

Menggunakan CLI untuk mendapatkan token akses

Metode pertama mudah, dan mengikuti pola yang telah kita gunakan di sepanjang tutorial. Metode kedua umumnya lebih berguna bagi developer aplikasi klien yang perlu meminta token. Endpoint token sebenarnya diimplementasikan di proxy edgemicro-auth yang di-deploy saat Anda mengonfigurasi Edge Microgateway.

  1. (Opsional) Lihat bantuan untuk perintah token get:
    edgemicro token get -h
  2. Buat token, dengan mengganti nilai Consumer Key dan Consumer Secret dari aplikasi developer yang Anda buat di Apigee Edge dalam parameter -i dan -s:
    edgemicro token get -o [org] -e [env] -i [consumer_key] -s [consumer_secret]

    Dengan:

    • org adalah nama organisasi Edge Anda (Anda harus menjadi administrator org).
    • env adalah lingkungan di organisasi Anda (seperti test atau prod).
    • consumer_id adalah ID Konsumen di Aplikasi Developer yang Anda buat sebelumnya.
    • consumer_secret adalah Consumer Secret di Aplikasi Developer yang Anda buat sebelumnya.

    Contoh

    edgemicro token get -o docs -e test -i G0IAeU864EtBo99NvUbn6Z4CBwVcS2 -s uzHTbwNWvoSmOy

    Output (Contoh)

    current nodejs version is v4.4.4
    { token: 'eyJ0eXAiOiJKV1QiLCJhbGciSUzI1NiJ9.eyJhcHBsaWNhdGl
    vbl9uYW1lIjoiNWNiMGY0tOWMzOC00YmJjLWIzNzEtZGMxZTQzOGYxZGMxI
    iwiY2xpZW50X2lkIjoiNVVdBWEdvSU9lbzYwYWV3OTRQN0c1TUFaRTNhSnA
    iLCJzY29wZXMiOltdLCJhcGlfcHJvjdF9saXN0IjpbIkVkZ2VNaWNyb1Rlc
    3RQcm9kdWN0IlmlhdCI6MTQ3ODIwODMzMiwiZXhwIjoxNDc4MjEwMTMxfQ.
    v3Q8Rs0W9FO_XpERwIAMMXhjGamRmmmWgrAy1wJv0-99oajx5ASI5qjNubM
    nCF14xxwlVXHcz1VfedA8Nx7Ih145zhWWuPKL9muzhXXnVBRFeBMeeLqJk4
    QQ7Bhst7xH_68nJSTE20Egu95DHOCUemfrepDFH0VggY4BmzvwLkBNfz_te
    E_YqwKZbpGOLMdKK1vMk0fk0x19SieIMS_aJYeOAklrzUhnFxWJFrsAWsax
    NLx_BbQcZzYfK1JSDUrhRNVBuPHMnGjNA_oHw2J4qa6Hsp62PfchG-DIW_t
    -0BFnYf3rYXmqyNORqFrOMdl4VxqQ' }

(Opsional) Menggunakan API untuk mendapatkan token

Jika Anda terbiasa memanggil proxy Edge menggunakan curl atau klien HTTP lain, Anda akan tertarik untuk mengetahui bahwa Anda dapat memanggil endpoint token secara langsung, bukan menggunakan perintah edgemicro token. Berikut contoh curl. Cukup ganti nama org. dan lingkungan Anda di URL, lalu teruskan nilai Consumer Key:Consumer Secret yang dipisahkan dengan titik dua di header Autentikasi Dasar:

curl -i -X POST --user [client_id]:[client_secret] "http://[org]-[env].apigee.net/edgemicro-auth/token" -d '{"grant_type": "client_credentials"}' -H "Content-Type: application/json"

Dengan:

  • org adalah nama organisasi Edge Anda (Anda harus menjadi administrator organisasi).
  • env adalah lingkungan di organisasi Anda (seperti test atau prod).
  • client_id adalah ID Konsumen di Aplikasi Developer yang Anda buat sebelumnya.
  • client_secret adalah Consumer Secret di Aplikasi Developer yang Anda buat sebelumnya.

Output (Contoh)

Perintah, baik Anda menggunakan perintah CLI token edgemicro atau memanggil endpoint menggunakan curl, akan menampilkan token akses bertanda tangan yang dapat digunakan untuk melakukan panggilan klien. Seperti ini:

MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls 
b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD 
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 
OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFswhB0Yvg6JKWxKWBDP9o 
Xl96dtgH7xPFRqIU0zI452jkMQ1fPz2mSaGwik245yfBku7olooXKRKTRKOUoXa 
q3Hld/RPxGSsWtiyyYtKex7tuFdq0Knm1EhowdTRGIgjNvudeYMka/XPRXuykhd 
xIDxWj4rdX+4GPx9qT2eTQC5nOAC7XHVL7ys4KqsAiv28vw10u400KstFFS8Qho 
7FaE0bOKLolKKadKyA60ha1XIw/uSTD6ZQFWQ+XM3OaRbXePWXnSZioSxXcZT7L 
hMUKbsRXw/TCvRB51LgNAgMBAAEwDQYJKoZIhvcNAQELBQADgEBAOuR1OmE/W6j 
gRAarJB5EQuTEpI/9Zpg5c5RAGjzLhkazsycn7pal+IymUjCV7D0oIxTVuTM8ZZ 
57kR5hF/C1ZypDN9i+KGP2ovX8WOCCXYtIQECgZPB/L/7/k7BDuKN4vFBvWUe3X 
s2oyjnVWy+ASqsW8gHfj8ekhe22bP240Oqkbyg9SZP9ol1tvJX6+M0thYwcTwAd 
ft929Icey/MOTQC0jB2qm0gnIx/7KInFXfS5KoFRJoGrWDeckr3RdBo2LhnPaeZ 
1gPYIqphZ3HfisF5KlBXoR8oT/Ilym/nq5COlv+3L4tMIk18F7BQZB60SRazifz 
pFkIxepyr/0=
      

3. Periksa konfigurasi di Edge Microgateway

  1. Buka file ~/.edgemicro/org-env-config.yaml. Lihat juga "Di mana Edge Microgateway diinstal" di Menginstal Edge Microgateway.
  2. Pastikan properti plugin oauth ini disetel ke false. Secara default, nilainya adalah false, tetapi sebaiknya periksa kembali:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
  3. Selain itu, di file org-env-config.yaml, pastikan plugin oauth ditambahkan ke elemen plugins:sequence, seperti ini:
    plugins:
       dir: ../plugins
       sequence:
       - oauth
  4. Jika Anda melakukan perubahan pada file, muat ulang perubahan ke instance Edge Microgateway yang sedang berjalan. Perintah ini mengonfigurasi ulang Edge Microgateway dengan zero-downtime:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    Dengan:

    • org adalah nama organisasi Edge Anda (Anda harus menjadi administrator org).
    • env adalah lingkungan di organisasi Anda (seperti test atau prod).
    • key adalah kunci yang sebelumnya ditampilkan oleh perintah configure.
    • secret adalah kunci yang sebelumnya ditampilkan oleh perintah configure.

    Contoh

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d

4. Memanggil API secara aman

Dengan token akses di tangan, Anda kini dapat melakukan panggilan API secara aman. Contoh:

  curl -i -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhcHBsaWNhdGlvbl
9uYW1lIjoiYmU2YmZjYjAtMWQ0Ni00Y2IxLWFiNGQtZTMxNzRlNTAyMDZkIiwiY2xpZW50X2lkIjoiOGxTTTVIRHdyM
VhIT1ZwbmhURExhYW9FVG5STVpwWk0iLCJzY29wZXMiOltdLCJhcGlfcHJvZHVjdF9saXN0IjpbIk1pY3JvZ2F0ZXdh
eVRlQcm9kdWN0Il0sImCI6MTQzNTM0NzY5MiwiZXhwIjoxNDM1MzQ5NDkxfQ.PN30Y6uK1W1f2ONPEsBDB_BT31c6
IsjWGfwpz-p6Vak8r767tAT4mQAjuBpQYv7_IU4DxSrnxXQ_q536QYCP4p4YKfBvyqbnW0Rb2CsPFziy_n8HIczsWO
s0p4czcK63SjONaUpxV9DbfGVJ_-WrSdqrqJB5syorD2YYJPSfrCcgKm-LpJc6HCylElFDW8dHuwApaWcGRSV3l5Wx
4A8Rr-WhTIxDTX7TxkrfI4THgXAo37p3au3_7DPB_Gla5dWTzV4j93xLbXPUbwTHzpaUCFzmPnVuYM44FW5KgvBrV0
64RgPmIFUxSqBWGQU7Z1w2qFmWuaDljrMDoLEreI2g" http://localhost:8000/hello/echo

API menampilkan header dan informasi lainnya dari server tiruan.

Mengamankan API dengan kunci API

Jika Anda ingin menggunakan kunci API untuk otorisasi, ikuti langkah-langkah berikut:

1. Mendapatkan kunci API

  1. Di UI Edge, buka Aplikasi Developer yang Anda buat sebelumnya, seperti yang dijelaskan di Bagian 2: Membuat entitas di Apigee Edge. Nama Aplikasi adalah EdgeMicroTestApp.
  2. Di halaman Aplikasi Developer, tunjukkan Consumer Key dan salin. Nilai ini adalah kunci API. Anda akan menggunakan kunci ini untuk melakukan panggilan API yang terautentikasi.

2. Periksa konfigurasi di Edge Microgateway

  1. Buka file ~/.edgemicro/org-env-config.yaml. Lihat juga "Di mana Edge Microgateway diinstal" di Menginstal Edge Microgateway.
  2. Pastikan properti plugin oauth ini disetel ke false. Secara default, nilainya adalah false, tetapi sebaiknya periksa kembali:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
  3. Selain itu, di file org-env-config.yaml, pastikan plugin oauth ditambahkan ke elemen plugins:sequence, seperti ini:
    plugins:
       dir: ../plugins
       sequence:
       - oauth
        
  4. Jika Anda melakukan perubahan pada file, muat ulang perubahan ke instance Edge Microgateway yang sedang berjalan. Perintah ini mengonfigurasi ulang Edge Microgateway dengan zero-downtime:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    Dengan:

    • org adalah nama organisasi Edge Anda (Anda harus menjadi administrator org).
    • env adalah lingkungan di organisasi Anda (seperti test atau prod).
    • key adalah kunci yang sebelumnya ditampilkan oleh perintah configure.
    • secret adalah kunci yang sebelumnya ditampilkan oleh perintah configure.

    Contoh

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d

3. Memanggil API secara aman dengan kunci API

Panggil API dengan header x-api-key sebagai berikut. Nilai Kunci Konsumen yang Anda salin dari Aplikasi Developer adalah kunci API. Secara default, Edge Microgateway mengharapkan Anda meneruskan kunci di header yang disebut x-api-key, seperti ini:

curl -i http://localhost:8000/hello/echo -H "x-api-key: [apikey]"

Dengan:

  • apikey adalah nilai Consumer Key yang diambil dari EdgeMicroTestApp.

Contoh:


curl -i http://localhost:8000/hello/echo -H 'x-api-key: XsU1R4zGXz2ERxa0ilYQ5szwuljr5bB'

Anda kini memiliki Edge Microgateway yang berfungsi penuh dan aman. Di bagian berikutnya dalam tutorial ini, kita akan melihat plugin yang menambahkan fungsi ke Edge Microgateway.

Bagian 5: Tambahkan plugin Spike Arrest

Di bagian ini, kita akan menambahkan fitur pembatasan frekuensi yang disebut penahanan lonjakan ke instance Edge Microgateway Anda.

Apa itu plugin?

Plugin adalah modul Node.js yang menambahkan fungsi ke Edge Microgateway. Modul plugin mengikuti pola yang konsisten dan disimpan di lokasi yang diketahui oleh Edge Microgateway, sehingga microgateway dapat menemukan dan memuatnya secara otomatis. Anda dapat membaca lebih lanjut plugin di Menggunakan plugin.

Menambahkan plugin spike arrest

Spike Arrest melindungi dari lonjakan traffic. Kebijakan ini membatasi jumlah permintaan yang diproses oleh instance Edge Microgateway.

Di Edge Microgateway, pencegahan lonjakan diterapkan sebagai modul plugin. Untuk mengaktifkannya, Anda perlu menambahkannya ke file konfigurasi Edge Microgateway.

  1. Buka file ~/.edgemicro/org-env-config.yaml. Lihat juga "Di mana Edge Microgateway diinstal" di Menginstal Edge Microgateway.
  2. Tambahkan elemen berikut. Anda dapat menambahkannya di mana saja dalam file.
       spikearrest:
          timeUnit: minute   
          allow: 10   
          buffersize: 0   
  3. Tambahkan spikearrest ke elemen edgemicro:sequence, seperti yang ditunjukkan di bawah. Properti konfigurasi urutan memberi tahu Edge Microgateway urutan eksekusi modul plugin.
    edgemicro:
      home: ../gateway
      port: 8000
      max_connections: -1
      max_connections_hard: -1
      logging:
        level: info
        dir: /var/tmp
        stats_log_interval: 60
      plugins:
        dir: ../plugins
      sequence:
        - spikearrest
        - oauth 
  4. Simpan file konfigurasi.
  5. Muat ulang Edge Microgateway dengan perintah reload. Anda harus menjalankan perintah ini dari direktori tempat Anda memulai Edge Microgateway.
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    Dengan:

    • org adalah nama organisasi Edge Anda (Anda harus menjadi administrator org).
    • env adalah lingkungan di organisasi Anda (seperti test atau prod).
    • key adalah kunci yang sebelumnya ditampilkan oleh perintah configure.
    • secret adalah kunci yang sebelumnya ditampilkan oleh perintah configure.

    Contoh

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
  6. Coba panggil API beberapa kali secara berurutan dengan cepat. Setelah panggilan kedua, Edge Microgateway menampilkan error ini:
    {"message":"SpikeArrest engaged","status":503}

Alasannya adalah karena pembatasan lonjakan meratakan jumlah panggilan yang dapat dilakukan selama unit waktu yang ditentukan. Jadi, dalam hal ini, Anda dapat melakukan 10 panggilan dalam satu menit, atau satu panggilan setiap 6 detik.

Untuk mengetahui informasi selengkapnya, lihat "Bagaimana cara kerja penahanan lonjakan?" di Menggunakan plugin.

Kredit tambahan: Menambahkan plugin kuota

Dengan mengikuti pola yang sama yang digunakan untuk mengonfigurasi penahanan lonjakan, Anda dapat menambahkan plugin lain, seperti plugin kuota. Seperti penahanan lonjakan, plugin kuota disertakan dengan setiap penginstalan Edge Microgateway. Kuota menentukan jumlah pesan permintaan yang diizinkan untuk dikirimkan oleh aplikasi ke API selama interval waktu tertentu (menit atau jam).

Untuk mempelajari cara kerja kuota, lihat "Menggunakan plugin kuota" di Menggunakan plugin.

Bagian 6: Melihat analisis di Apigee Edge

Sekarang kita memiliki instance Edge Microgateway yang berfungsi penuh. Mari kita lihat apa yang telah dilakukannya. Secara default, modul plugin analisis ditambahkan ke Edge Micro. Modul ini secara diam-diam mengirimkan data analisis dari Edge Micro ke Edge Apigee, tempat data tersebut digunakan oleh sistem Edge Analytics. Mari kita lihat:

  1. Login ke organisasi Anda di Apigee Edge.
  2. Pilih Analytics > Performa Proxy.
  3. Di dasbor Proxy Performance, pilih edgemicro_hello proxy.
  4. Grafik ini menampilkan informasi tentang pola traffic proxy, seperti total traffic, waktu respons rata-rata, waktu respons target rata-rata, dan lainnya.

Anda dapat membaca lebih lanjut dasbor Edge Analytics di halaman beranda Dasbor Analytics dalam dokumentasi Edge. Untuk mempelajari plugin lebih lanjut, lihat Menggunakan plugin