Edge Mikro Ağ Geçidi'ni kurma ve yapılandırma

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

Edge Microgateway v. 3.3.x

Genel Bakış

Bu kurulum kılavuzundaki adımları tamamladıktan sonra, API isteklerini işleyebilen, tam olarak yapılandırılmış ve çalışan bir Edge Microgateway kurulumunuz olur. Edge Microgateway üzerinden bir arka uç hedefine güvenli API çağrıları yaparak kurulumu test edeceksiniz. Ayrıca Microgateway'e ani yükselmeyi önleme eklentisini nasıl ekleyeceğinizi de öğreneceksiniz.

Bu kılavuz aşağıdaki bölümlere ayrılmıştır:

Ön koşul: Edge Microgateway'i yükleyin

Edge Microgateway'i yükleme başlıklı makaledeki talimatları uygulayın. Yükleme işlemini tamamladığınızda bu eğitimdeki adımları uygulamaya hazır olursunuz.

1. bölüm: Edge Microgateway'i yapılandırma

Bu bölümde, Edge Microgateway'i Apigee Edge ile iletişim kuracak şekilde yapılandırmak için bir komut satırı arayüzü (KSA) komutu kullanacaksınız.

Apigee Edge Cloud yapılandırma adımları

Edge Microgateway'i Apigee Edge Cloud ile kullanmak için aşağıdaki adımları uygulayın:

  1. Edge Microgateway'i başlatın (bu adımı yalnızca bir kez yapmanız gerekir):
    edgemicro init
  2. default.yaml adlı bir yapılandırma dosyası, ana dizininizdeki .edgemicro adlı bir alt dizine yerleştirildi. Bu dosyanın mevcut olduğundan emin olmak için hemen kontrol edin:
    ls ~/.edgemicro
    default.yaml

    Not: Edge Microgateway dokümanlarında, ana dizin için tilde (~) ile gösterilen bir UNIX kısayolu kullanılır. Windows kullanıyorsanız ve tilde işaretini desteklemeyen bir kabuk çalıştırıyorsanız ana dizine referans veren komutlarda tilde işareti yerine uygun ortam değişkenini kullanmanız gerekir. Örneğin: %USERPROFILE%/.edgemicro.

  3. Tüm KSA komutlarında yardım işlevi bulunur. edgemicro configure komutuyla ilgili yardım çıktısı alın:
    edgemicro configure -h
  4. Edge Microgateway'i yapılandırmak için aşağıdaki komutu çalıştırın:
    edgemicro configure -o [org] -e [env] -u [username] 

    Burada:

    • org: Edge kuruluşunuzun adı (kuruluş yöneticisi olmanız gerekir).
    • env: Kuruluşunuzdaki bir ortam (ör. test veya üretim).
    • username: Apigee hesabınızla ilişkili e-posta adresi.

      Not: Yapılandırma komutu ek parametrelere izin verir. Tam liste için Apigee Edge Cloud için Edge Microgateway'i yapılandırma başlıklı makaleyi inceleyin.

Örnek

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

Çıkış

./edgemicro configure -o docs -e test -u jdoe@apigee.com
password:
current nodejs version is v12.5.0
current edgemicro version is 3.1.0
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
    

Apigee Private Cloud yapılandırma adımları

Edge Microgateway'i Apigee Private Cloud ile kullanmak için aşağıdaki adımları uygulayın:

  1. Edge Microgateway'i başlatın (bu adımı yalnızca bir kez yapmanız gerekir):
    edgemicro init
  2. edgemicro private configure komutuyla ilgili yardım bilgilerini yazdırır. Bu şekilde, herhangi bir Edge Microgateway KSA komutu veya komut seçeneği için yardım yazdırabilirsiniz.
    edgemicro private configure -h
  3. Aşağıdaki komutu çalıştırın. Apigee Edge Private Cloud hesabınızla ilgili standart bilgiler (kuruluş adı, ortam adı, kullanıcı adı (e-posta adresi), şifre, yönetim sunucusu IP'si ve yönlendirici IP'si) gerekir. Bu komutu kullanmak için Edge kuruluş yöneticisi olmanız gerekir:
    edgemicro private configure -o [org] -e [env] -u [username] -r [runtime_url] -m [mgmt_url] -v [virtual_host]

    Burada:

    • org, Edge kuruluşunuzun adıdır (kuruluş yöneticisi olmanız gerekir).
    • env, kuruluşunuzdaki bir ortamdır (ör. test veya üretim).
    • runtime_url, özel bulut örneğinizin çalışma zamanı URL'sidir.
    • mgmt_url, özel bulut örneğinizin yönetim sunucusunun URL'sidir.
    • username, Apigee hesabınızla ilişkili e-posta adresidir.
    • virtual_host, sanal ana makine adlarının virgülle ayrılmış listesidir. Varsayılan değerler default,secure

Örnek

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

veya myorg-test.mycompany.com sanal ana makine takma adınız varsa aşağıdaki gibi bir komut kullanırsınız:

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

Çıkış

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!
    

Yüklemeyi doğrulama

Yükleme işlemini doğrulamak için bu komutu çalıştırın. Hata bildirilmezse her şey doğru şekilde ayarlanmıştır ve Edge Microgateway'i başarıyla başlatabilirsiniz.

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

Burada:

  • org, Edge kuruluşunuzun adıdır (kuruluş yöneticisi olmanız gerekir).
  • env, kuruluşunuzdaki bir ortamdır (ör. test veya üretim).
  • key, daha önce configure komutuyla döndürülen anahtardır.
  • secret, daha önce configure komutuyla döndürülen anahtardır.

Örnek

edgemicro verify -o docs -e test -k 93b01fd21d86331459ae52f624ae9aeb13eb94767ce40a4f621d172cdfb7e8e6 -s c8c755be97cf56c21f8b0156d7132afbd03625bbd85dc34ebfefae4f23fbcb3c

Yapılandırma hakkında

Şimdiye kadar yapılan tüm yapılandırmalar, Edge Microgateway'in kendisini Apigee Edge'e önyüklemesine olanak tanır. İlk başlatma işlemi başarılı olduktan sonra Edge Microgateway, Apigee Edge'den ek yapılandırma bilgilerinin bulunduğu bir yükü alır.

Bu yapılandırma bilgileri ne için kullanılır? Bu eğitimin bir sonraki bölümünde göreceğimiz gibi, Edge Microgateway başlatıldığında Apigee Edge'den özel Edge Microgateway'e duyarlı API proxy'lerinin bir listesini alması gerekir. Bu eğitimin bir sonraki bölümünde, Microgateway'e duyarlı bir proxy oluşturacaksınız. Edge Microgateway, istemcilerin yalnızca bu Microgateway'e duyarlı API proxy'leri tarafından desteklenen API'leri çağırmasını kısıtlar ve istemcilerin her çağrı için geçerli bir güvenlik jetonu sunması (varsayılan olarak) gerekir. Bu proxy'ler hakkında daha fazla bilgi edinmek için Edge Microgateway'e Genel Bakış bölümündeki "Edge Microgateway'e duyarlı proxy'ler hakkında bilmeniz gerekenler" başlıklı makaleyi inceleyin.

Edge kuruluş yöneticisi olarak, Edge Microgateway'e duyarlı proxy'lerin diğer proxy'ler gibi Edge ürünlerine eklenebileceğini bilmek isteyeceksiniz. Ürünleri ve geliştirici uygulamalarını kullanarak Edge Microgateway üzerinden çağrılan API'lere erişimi kontrol etmek için müşteriye özel güvenlik jetonları oluşturabilirsiniz. Burada da söz konusu kalıplar, Apigee Edge'deki herhangi bir API proxy'si, ürün ve geliştirici uygulamasıyla çalışmaya benzerdir. Ürünler hakkında bilgi edinmek istiyorsanız Edge belgelerindeki API ürünü nedir? başlıklı makaleyi okuyarak başlayın.

Ardından, Edge Microgateway'in farkında olan proxy'lerin nasıl oluşturulacağını inceleyeceğiz. Sonrasında ise Edge Microgateway'i başlatıp kurulumu test edeceğiz.

2. bölüm: Apigee Edge'de varlık oluşturma

Bu bölümde Edge'de aşağıdaki varlıkları oluşturacaksınız:

  • Mikro ağ geçidi farkında olan proxy: Bu, Edge Microgateway'in başlangıçta keşfedebileceği özel bir proxy'dir. Microgateway'e duyarlı proxy'lerin, uymanız gereken bir adlandırma kuralı vardır: Ad, edgemicro_ ile başlamalıdır. Örneğin, edgemicro_hello veya edgemicro_userinfo. Edge Microgateway başlatıldığında, Edge Microgateway'i başlatırken belirttiğiniz Edge kuruluşundan ve ortamından, Edge'den microgateway'e duyarlı proxy'lerin bir listesini alır.

    Edge Microgateway, her bir mikro ağ geçidi uyumlu proxy için proxy'nin hedef URL'sini ve temel yolunu alır. Microgateway'e duyarlı proxy'ler, Edge Microgateway tarafından oluşturulan analiz verilerini Edge platformundaki bir proxy ile ilişkilendirmenin kolay bir yolunu da sunar. Microgateway, API çağrılarını işlediği için analiz verilerini Edge'e eşzamansız olarak gönderir. Analytics verileri, diğer tüm proxy'lerde olduğu gibi, Edge Analytics kullanıcı arayüzünde microgateway'den haberdar proxy adları altında gösterilir.
  • Ürün, geliştirici ve geliştirici uygulaması: Edge Microgateway, OAuth2 erişim jetonu veya API anahtarı güvenliğini etkinleştirmek için ürünleri, geliştiricileri ve geliştirici uygulamalarını kullanır. Edge Microgateway başlatıldığında, Apigee Edge kuruluşunuzdaki tüm ürün yapılandırmalarını indirir. Bu bilgiler, Edge Microgateway üzerinden API anahtarları veya OAuth2 erişim jetonlarıyla yapılan API çağrılarını doğrulamak için kullanılır.

1. Edge'de Edge Microgateway'e duyarlı bir API proxy'si oluşturma

  1. Apigee Edge'de kuruluşunuza giriş yapın.
  2. Yan gezinme menüsünde Geliştir > API Proxies'i (API Proxyleri) seçin.
  3. + Proxy'yi tıklayın. Proxy Oluşturma sihirbazı çağrılır.
  4. İlk sihirbaz sayfasında Ters proxy (en yaygın) seçeneğini belirleyin.
  5. İleri'yi tıklayın.
  6. Sihirbazın Ayrıntılar sayfasında aşağıdaki gibi yapılandırın. Sihirbazı tam olarak gösterildiği şekilde doldurduğunuzdan emin olun:
    • Proxy Adı: edgemicro_hello
    • Proxy Temel Yolu: /hello
    • Mevcut API: http://mocktarget.apigee.net/
  7. İleri'yi tıklayın.
  8. Sihirbazın Güvenlik sayfasında Geçiş (yok)'u seçin.
  9. İleri'yi tıklayın.
  10. Sihirbazın Sanal Ana Makineler sayfasında varsayılanları kabul edin.
  11. İleri'yi tıklayın.
  12. Sihirbazın Oluşturma sayfasında proxy ayarlarınızı inceleyin. Test ortamının seçili olduğundan emin olun.
  13. Build and Deploy'u (Derle ve Dağıt) tıklayın.

2. API ürünü oluşturma

  1. Yan gezinme menüsünde Yayınla > API Ürünleri'ni seçin.
  2. + API Ürünü'nü tıklayın.
  3. Aşağıdaki tabloda gösterilen ürün ayrıntılarını girin:
    Alan Açıklama
    Ad EdgeMicroTestProduct
    Görünen ad Edge Microgatway Test Ürünü
    Ortam test
    Erişim Herkese açık
    Anahtar Onay Türü Otomatik
  4. API kaynakları bölümünde, az önce oluşturduğunuz API proxy'sini ve edgemicro-auth proxy'sini ekleyin:
    • edgemicro_hello
    • edgemicro-auth
  5. Kaydet'i tıklayın.

3. Geliştirici oluşturma

Bu eğitimin amacı doğrultusunda, sonraki adımda (geliştirici uygulaması oluşturma) mevcut geliştiricilerden herhangi birini kullanabilirsiniz. Ancak isterseniz şimdi bir test geliştirici oluşturabilirsiniz:

  1. Yan gezinme menüsünde Yayınla > Geliştiriciler'i seçin.
  2. + Geliştirici'yi tıklayın.
  3. Test geliştirici oluşturmak için iletişim kutusunu doldurun.

4. Geliştirici uygulaması oluşturma

Edge Microgateway üzerinden güvenli API çağrıları yapmak için bu uygulamadaki istemci kimlik bilgilerini kullanacaksınız:

  1. Yan gezinme menüsünde Yayınla > Uygulamalar'ı seçin.
  2. + Uygulama'yı tıklayın. Geliştirici Uygulama Ayrıntıları sayfası gösterilir.
  3. Geliştirici Uygulaması sayfasını aşağıdaki gibi doldurun:
    1. Ad: EdgeMicroTestApp
    2. Görünen Ad: EdgeMicroTestApp
    3. Geliştirici: Bir test geliştiricisi oluşturduysanız onu seçin. Alternatif olarak, bu eğitim için mevcut geliştiricilerden herhangi birini kullanabilirsiniz.
    4. Kimlik bilgileri:
      1. Geçerlilik bitiş tarihi: Asla'yı seçin.
      2. + Ürün'ü tıklayın ve EdgeMicroTestProduct'ı (yeni oluşturduğunuz ürün) seçin.
  4. Kaydet'i tıklayın.
  5. Uygulama listesi sayfasına geri dönersiniz.
  6. Yeni oluşturduğunuz EdgeMicroTestApp uygulamasını seçin.
  7. Tüketici Anahtarı ve Tüketici Gizli Anahtarı'nın yanındaki Göster'i tıklayın.

3. bölüm: Edge Microgateway'i çalıştırma

Artık yapılandırılmış bir Edge Microgateway'iniz ve Edge'de en az bir Edge Microgateway'e duyarlı proxy'niz olduğuna göre Edge Microgateway'i başlatma zamanı geldi. Yerel makinenizde bir Edge Microgateway HTTP sunucusu çalışır ve API çağrılarını doğrudan bu sunucuya yaparsınız.

1. Edge Microgateway'i başlatma

Edge Microgateway'i başlatmak için edgemicro start komutunu kullanın.

  1. edgemicro configure komutunu çalıştırdığınızda daha önce döndürülen anahtarlara sahip olduğunuzdan emin olun. Bu çıkış aşağıdaki gibi görünüyordu:
    You need key and secret while starting edgemicro instance
    
    key: da4778e7c240a5d4585fc559eaba5083328828bc9f3a7f583e8b73e
    secret: 3aad7439708b4aeb38ee08e82189921ad00e6fc1ba8a8ae9f929ee2
  2. (İsteğe bağlı) edgemicro start komutuyla ilgili yardım bilgilerini yazdırın.
    edgemicro start -h
  3. Edge Microgateway'i başlatmak için aşağıdaki komutu yürütün:
    edgemicro start -o [org] -e [env] -k [key] -s [secret]

    Burada:

    • org, Edge kuruluşunuzun adıdır (kuruluş yöneticisi olmanız gerekir).
    • env, kuruluşunuzdaki bir ortamdır (ör. test veya üretim).
    • key, daha önce configure komutuyla döndürülen anahtardır.
    • secret, daha önce configure komutuyla döndürülen anahtardır.

    Örnek

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

    Çıkış

    Başlatma komutu, Apigee Edge'den çok sayıda yapılandırma bilgisi alır (bu bilgiler terminal penceresinde kaydırılır). Çıkışta, keşfedilen mikro ağ geçidi uyumlu proxy'lerin ve ürünlerin listesini görürsünüz. Çıkışın sonunda aşağıdakine benzer bir ifade görürsünüz:

    ...
    
    current nodejs version is v12.5.0
    current edgemicro version is 3.1.0
    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. Mikro ağ geçidinin durumunu kontrol edin. Başka bir terminal penceresinde Edge Micro'yu başlattığınız dizine gidin ve şu komutu girin:
    edgemicro status
    current nodejs version is v12.5.0
    current edgemicro version is 3.1.0
    edgemicro is running with 8 workers

Ne oldu?

Apigee Edge'den Edge Microgateway yapılandırma bilgilerinin bulunduğu bir yük indirilerek yerel olarak önbelleğe alınır. Bu bilgiler arasında şunlar bulunur:

  • Daha önce oluşturup şifrelenmiş bir anahtar/değer eşlemesinde (KVM) depoladığımız ortak anahtar.
  • Kuruluşta/ortamda bulunan tüm Edge Microgateway'e duyarlı proxy'lerin temsili. Bunlar, edgemicro_ önekiyle adlandırılmış tüm proxy'lerdir.
  • Kuruluşta/ortamda bulunan tüm API ürünlerinin temsili.

Bu bilgiler sayesinde Edge Microgateway, hangi proxy'leri ve proxy yollarını işlemesine izin verildiğini bilir. Güvenliği zorunlu kılmak için ürün bilgilerini kullanır (geliştirici uygulaması anahtarlarının ürünlerle ilişkilendirildiği Apigee Edge'deki herhangi bir API proxy'sinin yaptığı gibi). Edge Microgateway'in güvenliğini sağlama adımlarını kısa süre içinde inceleyeceğiz.

2. Edge Microgateway'i test etme

Edge Microgateway çalışırken proxy'yi çağırabilirsiniz. Edge Microgateway'i başlattığınızda edgemicro_hello proxy'sinin yapılandırması Edge'den indirildi. Unutmayın, proxy temel yolu /hello'dur.

Edge Microgateway'i test etmek için temel yoldan başlayıp /echo kaynak yolunu ekliyoruz. Temel yoldan sonraki her şeyin (sorgu parametreleri dahil) arka uç hedefine doğrudan iletildiğini unutmayın:

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

Bu hata, istekle birlikte geçerli bir API anahtarı veya erişim jetonu göndermediğiniz için oluşur. Edge Microgateway, varsayılan olarak her API çağrısında API anahtarı veya erişim jetonu gerektirir. Eğitici programın sonraki adımında, bu API'nin güvenliğini uygun şekilde sağlayacak ve geçerli bir erişim jetonunu nasıl alıp isteğe ekleyeceğinizi göstereceğiz.

4. Edge Microgateway'i durdurma

  1. Ayrı bir terminal penceresinde, Edge Microgateway'i başlattığınız aynı dizine cd.
  2. Durdurma komutunu girin:
    edgemicro stop

4. Bölüm: Secure Edge Microgateway

Edge Microgateway üzerinden yapılan API çağrılarını API anahtarı veya erişim jetonu kullanarak güvenli hale getirebilirsiniz.

OAuth2 erişim jetonuyla API çağrılarını güvenli hale getirme

API çağrılarının kimliğini OAuth2 erişim jetonuyla doğrulamak istiyorsanız aşağıdaki adımları uygulayın:

1. Gerekli anahtarları alın

  1. Edge kullanıcı arayüzünde, daha önce oluşturduğunuz geliştirici uygulamasına gidin. Uygulamanın adı EdgeMicroTestApp'tı.
  2. Geliştirici Uygulaması sayfasında, Tüketici Anahtarı ve Tüketici Gizli Anahtarı'nı gösterip bunları kopyalayın. Bu değerler, sonraki adımda erişim jetonu almak için gereklidir.

2. Erişim jetonu alma

Erişim jetonu almanın iki yolu vardır. Her iki yöntemi de göstereceğiz.

Erişim jetonu almak için KSA'yı kullanma

İlk yöntem kullanışlıdır ve eğitim boyunca kullandığımız kalıbı izler. İkinci yöntem, genellikle jeton istemesi gereken istemci uygulaması geliştiricileri için daha kullanışlıdır. Gerçek jeton uç noktası, Edge Microgateway'i yapılandırdığınızda dağıtılan edgemicro-auth proxy'sinde uygulanır.

  1. (İsteğe bağlı) token get komutuyla ilgili yardım içeriğini görüntüleyin:
    edgemicro token get -h
  2. Aşağıdaki komutu kullanarak jetonu oluşturun. -i ve -s parametrelerinde, Apigee Edge'de oluşturduğunuz geliştirici uygulamasındaki tüketici anahtarı ve tüketici gizli anahtarı değerlerini kullanın:
    edgemicro token get -o [org] -e [env] -i [consumer_key] -s [consumer_secret]

    Burada:

    • org, Edge kuruluşunuzun adıdır (kuruluş yöneticisi olmanız gerekir).
    • env, kuruluşunuzdaki bir ortamdır (ör. test veya üretim).
    • consumer_id, daha önce oluşturduğunuz geliştirici uygulamasındaki tüketici kimliğidir.
    • consumer_secret, daha önce oluşturduğunuz geliştirici uygulamasındaki Consumer Secret'tır.

    Örnek

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

    Çıkış (Örnek)

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

(İsteğe bağlı) Jeton almak için API'yi kullanma

Edge proxy'lerini curl veya başka bir HTTP istemcisi kullanarak çağırmaya alışkınsanız edgemicro token komutunu kullanmak yerine doğrudan jeton uç noktasını çağırabileceğinizi bilmek isteyebilirsiniz. Aşağıda bir curl örneği verilmiştir. URL'de kuruluşunuzun ve ortamınızın adlarını değiştirmeniz ve iki nokta üst üste ile ayrılmış Tüketici Anahtarı:Tüketici Gizli Anahtarı değerlerini Temel Kimlik Doğrulama üstbilgisinde iletmeniz yeterlidir:

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"

Burada:

  • org, Edge kuruluşunuzun adıdır (kuruluş yöneticisi olmanız gerekir).
  • env, kuruluşunuzdaki bir ortamdır (ör. test veya üretim).
  • client_id, daha önce oluşturduğunuz geliştirici uygulamasındaki tüketici kimliğidir.
  • client_secret, daha önce oluşturduğunuz geliştirici uygulamasındaki Consumer Secret'tır.

Çıkış (Örnek)

edgemicro token KSA komutunu kullanmış olsanız da curl ile uç noktayı çağırmış olsanız da komut, istemci çağrıları yapmak için kullanılabilecek imzalı bir erişim jetonu döndürür. Örneğin:

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. Edge Microgateway'deki yapılandırmayı kontrol etme

  1. Dosyayı açın $HOME/.edgemicro/org-env-config.yaml. Bu dosyayı bulamıyorsanız Edge Microgateway nereye yüklenir? başlıklı makaleye bakın.
  2. Bu OAuth eklentisi özelliklerinin yanlış olarak ayarlandığından emin olun. Bu değerler varsayılan olarak yanlış olsa da kontrol etmeniz önerilir:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
  3. Ayrıca, org-env-config.yaml dosyasında, oauth eklentisinin plugins:sequence öğesine aşağıdaki gibi eklendiğinden emin olun:
    plugins:
       dir: ../plugins
       sequence:
       - oauth
  4. Dosyada herhangi bir değişiklik yaparsanız değişiklikleri çalışan Edge Microgateway örneğine yeniden yükleyin. Bu komut, Edge Microgateway'i sıfır kapalı kalma süresiyle yeniden yapılandırır:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    Burada:

    • org, Edge kuruluşunuzun adıdır (kuruluş yöneticisi olmanız gerekir).
    • env, kuruluşunuzdaki bir ortamdır (ör. test veya üretim).
    • key, daha önce configure komutuyla döndürülen anahtardır.
    • secret, daha önce configure komutuyla döndürülen anahtardır.

    Örnek

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

4. API'yi güvenli bir şekilde çağırma

Erişim jetonunuzla artık API çağrısını güvenli bir şekilde yapabilirsiniz. Örneğin:

  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, sahte sunucudan başlıkları ve diğer bilgileri döndürür.

API'nin güvenliğini API anahtarıyla sağlama

Yetkilendirme için bir API anahtarı kullanmak istiyorsanız aşağıdaki adımları uygulayın:

1. API anahtarını alma

  1. Edge kullanıcı arayüzünde, daha önce oluşturduğunuz geliştirici uygulamasına gidin. Uygulamanın adı EdgeMicroTestApp'tı.
  2. Geliştirici uygulaması sayfasında Tüketici Anahtarı'nı gösterin ve kopyalayın. Bu değer API anahtarıdır. Kimliği doğrulanmış API çağrıları yapmak için bu anahtarı kullanırsınız.

2. Edge Microgateway'deki yapılandırmayı kontrol etme

  1. Dosyayı açın. $HOME/.edgemicro/org-env-config.yaml. Bu dosyayı bulamıyorsanız Edge Microgateway nereye yüklenir? başlıklı makaleyi inceleyin.
  2. Bu OAuth eklentisi özelliklerinin yanlış olarak ayarlandığından emin olun. Bunlar varsayılan olarak yanlıştır ancak isterseniz tekrar kontrol edebilirsiniz:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
  3. Ayrıca, org-env-config.yaml dosyasında, oauth eklentisinin plugins:sequence öğesine aşağıdaki gibi eklendiğinden emin olun:
    plugins:
       dir: ../plugins
       sequence:
       - oauth
        
  4. Dosyada herhangi bir değişiklik yaparsanız değişiklikleri çalışan Edge Microgateway örneğine yeniden yükleyin. Bu komut, Edge Microgateway'i sıfır kapalı kalma süresiyle yeniden yapılandırır:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    Burada:

    • org, Edge kuruluşunuzun adıdır (kuruluş yöneticisi olmanız gerekir).
    • env, kuruluşunuzdaki bir ortamdır (ör. test veya üretim).
    • key, daha önce configure komutuyla döndürülen anahtardır.
    • secret, daha önce configure komutuyla döndürülen anahtardır.

    Örnek

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

3. API'yi API anahtarıyla güvenli bir şekilde çağırma

API'yi aşağıdaki gibi x-api-key üstbilgisiyle çağırın. Geliştirici uygulamasından kopyaladığınız Tüketici Anahtarı değeri, API anahtarıdır. Edge Microgateway, varsayılan olarak anahtarı x-api-key adlı bir üstbilgide geçirmenizi bekler. Örneğin:

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

Burada:

  • apikey, EdgeMicroTestApp'ten alınan Tüketici Anahtarı değeridir.

Örneğin:


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

Artık tam işlevli ve güvenli bir Edge Microgateway'iniz var. Eğitimin bir sonraki bölümünde, Edge Microgateway'e işlevsellik katan eklentilere göz atacağız.

5. Bölüm: Spike Arrest eklentisi ekleme

Bu bölümde, Edge Microgateway örneğinize ani artışları önleme adı verilen bir sıklık sınırlama özelliği ekleyeceğiz.

Eklentiler nedir?

Eklentiler, Edge Microgateway'e işlevsellik ekleyen Node.js modülleridir. Eklenti modülleri tutarlı bir kalıba uyar ve Edge Microgateway tarafından bilinen bir konumda depolanır. Bu sayede microgateway, eklentileri otomatik olarak bulup yükleyebilir. Eklentiler hakkında daha fazla bilgiyi Eklentileri kullanma başlıklı makalede bulabilirsiniz.

Spike Arrest eklentisi ekleme

Ani artışları önleme eklentisi, trafikteki ani artışlara karşı koruma sağlar. Bir Edge Microgateway örneği tarafından işlenen isteklerin sayısını sınırlar.

Edge Microgateway'de ani artışları önleme, bir eklenti modülü olarak uygulanır. Bu özelliği etkinleştirmek için Edge Microgateway yapılandırma dosyasına eklemeniz gerekir.

  1. Bu dosyayı bulamıyorsanız $HOME/.edgemicro/org-env-config.yaml.Where is Edge Microgateway installed dosyasını açın.
  2. Aşağıdaki öğeyi ekleyin. Dosyanın herhangi bir yerine ekleyebilirsiniz.
       spikearrest:
          timeUnit: minute   
          allow: 10   
          buffersize: 0   
  3. Aşağıda gösterildiği gibi spikearrest öğesini edgemicro:sequence öğesine ekleyin. Sıra yapılandırma özelliği, Edge Microgateway'e eklenti modüllerinin yürütüleceği sırayı bildirir.
    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. Yapılandırma dosyasını kaydedin.
  5. Edge Microgateway'i reload komutuyla yeniden yükleyin. Bu komutu, Edge Microgateway'i başlattığınız dizinden çalıştırmanız gerekir.
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    Burada:

    • org, Edge kuruluşunuzun adıdır (kuruluş yöneticisi olmanız gerekir).
    • env, kuruluşunuzdaki bir ortamdır (ör. test veya üretim).
    • key, daha önce configure komutuyla döndürülen anahtardır.
    • secret, daha önce yapılandırma komutu tarafından döndürülen anahtardır.

    Örnek

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
  6. API'yi kısa süre içinde birkaç kez çağırmayı deneyin. İkinci aramadan sonra Edge Microgateway şu hatayı döndürür:
    {"message":"SpikeArrest engaged","status":503}

Bunun nedeni, ani artışları önleme özelliğinin belirtilen zaman biriminde yapılabilecek çağrı sayısını düzeltmesidir. Bu durumda, bir dakikada 10 arama yapabilir veya 6 saniyede bir arama yapabilirsiniz.

Ek kredi: Kota eklentisini ekleme

Ani artış engellemeyi yapılandırmak için kullanılan aynı kalıbı izleyerek kota eklentisi gibi başka eklentiler de ekleyebilirsiniz. Kota eklentisi, ani artışları engelleme eklentisinde olduğu gibi her Edge Microgateway yüklemesine dahildir. Kota, bir uygulamanın belirli bir zaman aralığında (dakika veya saat) bir API'ye göndermesine izin verilen istek mesajlarının sayısını belirtir.

6. Bölüm: Apigee Edge'de analizleri görüntüleme

Artık tam işlevli bir Edge Microgateway örneğimiz var. Bu örneğin neler yaptığına bakalım. Varsayılan olarak, Edge Micro'ya analiz eklentisi modülü eklenir. Bu modül, Edge Micro'dan Edge Analytics sistemi tarafından kullanılan Apigee Edge'e Analytics verilerini sessizce gönderir. Şimdi de şunlara bakalım:

  1. Apigee Edge'de kuruluşunuza giriş yapın.
  2. Analytics > Proxy Performansı'nı seçin.
  3. Proxy Performansı kontrol panelinde edgemicro_hello proxy'yi seçin.
  4. Grafikte, toplam trafik, ortalama yanıtlama süresi ve ortalama hedef yanıt süresi gibi proxy'nin trafik kalıpları hakkında bilgiler gösterilir.

Edge Analytics gösterge tabloları hakkında daha fazla bilgiyi Edge belgelerindeki Analytics Gösterge Tabloları ana sayfasında bulabilirsiniz. Eklentiler hakkında daha fazla bilgi edinmek için Eklentileri kullanma başlıklı makaleyi inceleyin.