Menyiapkan dan mengonfigurasi Edge Microgateway

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

Edge Microgateway v. 2.5.x

Ringkasan

Setelah menyelesaikan langkah-langkah dalam panduan penyiapan ini, Anda akan memiliki penginstalan Edge Microgateway yang berfungsi dan terkonfigurasi sepenuhnya serta 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 penahan lonjakan 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.

Bagian 1: Mengonfigurasi Edge Microgateway

Di bagian ini, Anda akan menggunakan perintah antarmuka command line (CLI) untuk mengonfigurasi Edge Microgateway agar berkomunikasi dengan Apigee Edge.

Langkah-langkah konfigurasi Apigee Edge Cloud

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

  1. Lakukan inisialisasi Edge Microgateway (Anda hanya perlu melakukan langkah ini satu kali):
    edgemicro init
  2. File konfigurasi bernama default.yaml ditempatkan di direktori beranda Anda dalam subdirektori bernama .edgemicro. Periksa sekarang untuk memastikan file ini ada:
    ls ~/.edgemicro
    default.yaml

    Catatan: Dalam dokumen Edge Microgateway, kami merujuk ke direktori utama dengan tilde (~), yang merupakan pintasan UNIX. Jika Anda menggunakan Windows, jika Anda menjalankan shell yang tidak mendukung tilde, Anda harus mengganti tilde dengan variabel lingkungan yang sesuai dalam perintah yang mereferensikan direktori beranda. Contoh: %USERPROFILE%/.edgemicro.

  3. Semua perintah CLI memiliki fungsi bantuan. Mencetak bantuan untuk perintah edgemicro configure:
    edgemicro configure -h
  4. Jalankan perintah berikut untuk mengonfigurasi Edge Microgateway:
    edgemicro configure -o [org] -e [env] -u [username] 

    Dengan:

    • org: Nama organisasi Edge Anda (Anda harus menjadi administrator organisasi).
    • env: Lingkungan di organisasi Anda (seperti test atau prod).
    • username: Alamat email yang terkait dengan akun Apigee Anda.

      Catatan: Perintah configure memungkinkan parameter tambahan. Untuk daftar lengkap, lihat Mengonfigurasi Edge Microgateway untuk Apigee Edge Cloud.

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.9.1
current edgemicro version is 2.5.4
password:
file doesn't exist, setting up
Give me a minute or two... this can take a while...
App edgemicro-auth deployed.
checking org for existing KVM
error checking for cert. Installing new cert.
creating KVM
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/docs-test-config.yaml

vault info:
 -----BEGIN CERTIFICATE-----
MIICpDCCAYwCCQCQ2mJZJGbPPTANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDEwls
b2NhbGhvc3QwHhcNMTcwOTA3MjA0ODA4WhcNMTcwOTA4MjA0ODA4WjAUMRIwEAYD
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDw
yzmqi5CelqqtTr6IaFe1ssrMXEDnNtkBh95U6F5zHLsNQhJcyNUAO9um6FLMSqSd
fTztXfWUZzDgmbb6sfbx/9cqpvQ8TIjxyIz8xGM9H4legRQmsCQoYGkLjpPE5ZOa
wZrI5IaVm8LY6vbopPFwxgKOQ9bphx6k9Na055DmNyZAOTMD+4I0m/RdsrnZnYih
3DaFj1tXHKZI1jfAt/QOif5Nmk4+JckYwF+9HBysWUbbvj/gnBjVYF2Isb7q7oFD
lPGhwFoIebMqHMWD8lG7+9RJDO9dDV6f1g1/9waIrq1D+MoVXos9VMstNrPp0cKF
Ue+lAkct8tylH+2MosF7AgMBAAEwDQYJKoZIhvcNAQELBQADggEBAJMRdcQh3ayy
csVVT4TYwxV7MKWRfhDRz6X+MM9frB+Z7sI4+ZoZbXKOoZI2hSjmbdLpkNR/m9eJ
+1Uk0JKmpSY7Q+1rRrvcHsWNysGf4z+zDJXYECTrtSnXKBXtb9SJ8JAfoZOQD0lA
zmKuJjQMLTdiYMHOBR6ZWnaKaRvrQwGHcQrheJm4a90XgZF6jcRR8CPrBzkmsbCp
IU/Ux3E17wDGYPxjJs5otyQG8rN/88RGyaSeXK8rjKr9D4KFGJeasXBKmTG2afAr
yfBvS4h6s42FCOR/eLpmMllVoO9up71Fa3EtV+aK+FNNY9uMbgUHeLQE7z9nn06q
PTmvExZLkLQ=
-----END CERTIFICATE-----

The following credentials are required to start edge micro
  key: 27ee39567c75e4567a66236cbd4e86d1cc93df6481454301bd5fac4d3497fcbb
  secret: 4618b0008a6185d7327ebf53bee3c50282ccf45a3cceb1ed9828bfbcf1148b47
    

Langkah-langkah konfigurasi Apigee Private Cloud

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

  1. Lakukan inisialisasi Edge Microgateway (Anda hanya perlu melakukan langkah ini satu kali):
    edgemicro init
  2. Mencetak informasi bantuan untuk perintah edgemicro private configure. Anda dapat mencetak bantuan dengan cara ini untuk perintah atau opsi perintah Edge Microgateway CLI apa pun.
    edgemicro private configure -h
  3. 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 organisasi).
    • 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 KVM
error checking for cert. Installing new cert.
creating KVM
adding private_key
adding public_key
configuring host http://192.168.52.106:9001 for region dc-1

saving configuration information to: $HOME/.edgemicro/jdoe-test-config.yaml
vault info: 
-----BEGIN CERTIFICATE----- 
MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls 
b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD 
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 
OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFswhB0Yvg6JKWsKWBDP9o
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: a3f8f3dfe39158fc3c50b274f0af2234246e0d5f6ea4ad09389b645147151ba3
   secret: 3e9904802fb3c0e8ca408128a11119cf13546d54dac10ace944c097a726a1263

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 93b01fd21d86331459ae52f624ae9aeb13eb94767ce40a4f621d172cdfb7e8e6 -s c8c755be97cf56c21f8b0156d7132afbd03625bbd85dc34ebfefae4f23fbcb3c

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 dari Edge daftar proxy yang kompatibel dengan microgateway dari organisasi dan lingkungan Edge yang sama 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 Edge Microgateway 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.

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

  1. Login ke organisasi Anda di Apigee Edge.
  2. Pilih Develop > API Proxies di menu navigasi samping.
  3. Klik + Proxy. Wizard Build a Proxy akan dipanggil.
  4. Di halaman wizard pertama, pilih Reverse proxy (most common).
  5. Klik Berikutnya.
  6. 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/
  7. Klik Berikutnya.
  8. Di halaman Keamanan wizard, pilih Teruskan (tidak ada).
  9. Klik Berikutnya.
  10. Di halaman Virtual Hosts wizard, setujui setelan default.
  11. Klik Berikutnya.
  12. Di halaman Build wizard, tinjau setelan proxy Anda. Pastikan lingkungan test dipilih.
  13. Klik Build and Deploy.

2. Membuat produk

  1. Pilih Publish > API Products di menu navigasi samping.
  2. Klik + API Product. Halaman Detail Produk akan muncul.
  3. Isi halaman Detail Produk sebagai berikut:
    • Nama: EdgeMicroTestProduct
    • Nama Tampilan: EdgeMicroTestProduct
    • Lingkungan: test dan prod
    • Akses: Publik
    • Jenis Persetujuan Kunci: Otomatis
  4. Di Resources, klik +API Proxy
  5. Pilih edgemicro-auth
  6. Klik +API Proxy lagi.
  7. Pilih edgemicro_hello
  8. Pilih + Resource Kustom
  9. Masukkan /**
  10. Pilih + Custom Resource lagi.
  11. Masukkan /
  12. 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. Pilih Publikasikan > Developer di menu navigasi samping.
  2. 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. Pilih Publikasikan > Aplikasi di menu navigasi samping.
  2. Klik + Aplikasi. Halaman Detail Aplikasi Developer akan muncul.
  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.
  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. Outputnya akan terlihat seperti ini:
    You need key and secret while starting edgemicro instance
    
    key: da4778e7c240a5d4585fc559eaba5083328828bc9f3a7f583e8b73e
    secret: 3aad7439708b4aeb38ee08e82189921ad00e6fc1ba8a8ae9f929ee2
  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 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 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:

    ...
    
    current nodejs version is v6.9.1
    current edgemicro version is 2.5.4
    info: jwk_public_keys download from null returned 200 undefined
    info: jwt_public_key download from https://docs-test.apigee.net/edgemicro-auth/publicKey returned 200 OK
    info: products download from https://docs-test.apigee.net/edgemicro-auth/products returned 200 OK
    info: config download from https://edgemicroservices-us-east-1.apigee.net/edgemicro/bootstrap/organization/docs/environment/test returned 200 OK
    PROCESS PID : 17991
  4. Periksa status microgateway. Di jendela terminal lain, buka direktori yang sama tempat Anda memulai Edge Micro dan masukkan perintah ini:
    edgemicro status
    current nodejs version is v6.9.1
    current edgemicro version is 2.5.4
    edgemicro is running with 8 workers

Apa yang terjadi?

Payload informasi konfigurasi Edge Microgateway didownload dari Apigee Edge dan di-cache secara lokal. Informasi ini mencakup:

  • Kunci publik yang kita buat dan simpan sebelumnya dalam Peta Nilai Kunci (KVM) terenkripsi.
  • Representasi semua proxy yang kompatibel dengan Edge Microgateway yang ada di organisasi/lingkungan. Semua proxy ini diberi nama dengan awalan edgemicro_.
  • Representasi 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 apa pun) hanya 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 Edge UI, buka Aplikasi Developer yang Anda buat sebelumnya. Nama Aplikasi adalah EdgeMicroTestApp.
  2. Di halaman Aplikasi Developer, tampilkan Consumer Key dan Consumer Secret, lalu salin. 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 seluruh 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 organisasi).
    • 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 v6.9.1
    { token: 'eyJ0eXAiOiJKV1QiLCJhbGciSUzI1NiJ9.eyJhcHBsaWNhdGl
    vbl9uYW1lIjoiNWNiMGY0tOWMzOC00YmJjLWIzNzEtZGMxZTQzOGYxZGMxI
    iwiY2xpZW50X2lkIjoiNVVdBWEdvSU9lbzYwYWV3OTRQN0c1TUFaRTNhSnA
    iLCJzY29wZXMiOltdLCJhcGlfcHJvjdF9saXN0IjpbIsVkZ2VNaWNyb1Rlc
    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 token edgemicro. Berikut contoh curl. Cukup ganti nama org dan lingkungan Anda di URL, dan teruskan nilai Consumer Key:Consumer Secret yang dipisahkan dengan titik dua di header Autentikasi Dasar:

curl -i -X POST "http://[org]-[env].apigee.net/edgemicro-auth/token" -d '{ "client_id": "your consumer key", "client_secret": "your consumer secret", "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 edgemicro token atau memanggil endpoint menggunakan curl, akan menampilkan token akses bertanda tangan yang dapat digunakan untuk melakukan panggilan klien. Seperti ini:

MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls 
b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD 
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 
OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFsnhB0Yvg6JKWxKWBDP9o
Xl96dtgH7xPFRqIU0zI452jkMQ1fPz2mSaGwik241yfBku7olooXKRKTRKOUoXa
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 $HOME/.edgemicro/org-env-config.yaml. Lihat Di mana Edge Microgateway diinstal jika Anda tidak dapat menemukan file ini.
  2. Pastikan properti plugin oauth ini disetel ke false. Secara default, nilainya adalah salah (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 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 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.PL30Y6uK1W1f2ONPEsBDB_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 Edge UI, buka Aplikasi Developer yang Anda buat sebelumnya. 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 $HOME/.edgemicro/org-env-config.yaml. Lihat Di mana Edge Microgateway diinstal jika Anda tidak dapat menemukan file ini.
  2. Pastikan properti plugin oauth ini disetel ke false. Nilainya salah secara default, tetapi Anda dapat memeriksanya kembali jika mau:
    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 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 reload -o docs -e test -k 701e70ee718ce6dc188016b3c30177d64a88754d615c74e1f78b6181d

3. Memanggil API secara aman dengan kunci API

Panggil API dengan header x-api-key sebagai berikut. Nilai Consumer Key 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: XsU1R4zGXz2ERxd0ilYQ5szwuljr5bB'

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 peredam lonjakan

Plugin penahan lonjakanmelindungi 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 $HOME/.edgemicro/org-env-config.yaml.Where is Edge Microgateway installed jika Anda tidak dapat menemukan file ini.
  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:
        - oauth
        - spikearrest
  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.

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 aplikasi ke API selama interval waktu tertentu (menit atau jam).

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