Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
Bu örnekte, Apigee Edge ile Envoy için Apigee Adapter'ın nasıl kullanılacağı gösterilmektedir.
Ön koşullar
Başlamadan önce: |
---|
|
Genel bakış
Bu örnekte, Apigee Edge'in herkese açık Cloud ile kullanımı için Apigee Adapter for Envoy'un nasıl kullanılacağı açıklanmaktadır. API proxy çağrıları, Apigee Remote Service for Envoy aracılığıyla Edge ile yerel uygulama olarak çalışan Envoy üzerinden gerçekleşir.
Apigee Edge'in Temel Hazırlığını Yap
Bu adımda, Envoy varlıkları için Apigee Adapter'ı Apigee Edge'e sağlamak için Remote Service KSA'yı kullanacaksınız. Temel hazırlık komutu, Apigee Edge'e bir API proxy'si dağıtır, ayrıca Apigee üzerinde sertifika oluşturur ve Remote Service'in sisteminizden Apigee'ye güvenli bir şekilde bağlanmak için kullanacağı kimlik bilgilerini oluşturur.
$CLI_HOME
dizinine gidin:cd $CLI_HOME
- Aşağıdaki ortam değişkenlerini oluşturun. Aşağıdaki değişkenler, temel hazırlık komut dosyasında parametre olarak kullanılır:
export ORG=organization_name
export ENV=environment_name
export USER=your_apigee_username
export PASSWORD=your_apigee_password
Burada:
Değişken Açıklama organization_name Apigee kuruluşunuzun adı. environment_name Kuruluşunuzdaki bir ortamın adı. your_apigee_username Apigee hesabı kullanıcı adınız. Kullanıcı adı genellikle bir e-posta adresidir. your_apigee_password Apigee şifreniz. - Apigee Edge'de uzak hizmet proxy'sini sağlamak için aşağıdaki komutu yürütün:
Yükseltme yapmıyorsanız Apigee'nin temel hazırlığını yapmak için şu komutu kullanın:
$CLI_HOME/apigee-remote-service-cli provision --legacy --mfa $MFA \ --username $USER --password $PASSWORD --organization $ORG --environment $ENV > config.yaml
Yükseltme yapıyorsanız Apigee'nin temel hazırlığını yapmak üzere
--force-proxy-install
işaretiyle birlikte şu komutu kullanın:$CLI_HOME/apigee-remote-service-cli provision --legacy --force-proxy-install --mfa $MFA \ --username $USER --password $PASSWORD --organization $ORG --environment $ENV > config.yaml
config.yaml
dosyasının içeriğini kontrol edin. Aşağıdaki gibi görünecektir:# Configuration for apigee-remote-service-envoy (platform: SaaS) # generated by apigee-remote-service-cli provision on 2020-08-26 09:43:41 apiVersion: v1 kind: ConfigMap metadata: name: apigee-remote-service-envoy namespace: apigee data: config.yaml: | tenant: internal_api: https://istioservices.apigee.net/edgemicro remote_service_api: https://my-username-test.apigee.net/remote-service org_name: my-org env_name: my-env key: f7e09c32f827cab87b8ce43842ed8467ffd2c58e6f795241e38fe7b1aec7664 secret: 1cb5cca00dfb433cb80b32837451fce4bf694633cddbb73d704517e12b35e75 ...
Anahtar ve gizli anahtar değerleri, Uzak Hizmet Proxy'sinden Apigee Edge'e yapılan istekleri doğrulamak için kullanılır.
Apigee Remote Service for Envoy hizmetini çalıştırma
Remote Service'i yerel ikili program olarak veya Docker üzerinde çalıştırabilirsiniz.
Hizmeti yerel olarak çalıştırma
Temel hazırlık komutu tarafından oluşturulan yapılandırma dosyasıyla hizmet ikili programını yürütün:
$REMOTE_SERVICE_HOME/apigee-remote-service-envoy -c config_file_path/config.yaml
Hizmeti Docker'da çalıştırma
Docker görüntüleri sürüm etiketleriyle yayınlanır. Bu yükleme için en son sürümü kullanın. Seçebileceğiniz üç resim varyasyonu vardır:
Çeşitlilik | Resim |
---|---|
Google Dağıtımsız | google/apigee-envoy-adapter:v2.0.0 |
Ubuntu | google/apigee-envoy-adapter:v2.0.0-ubuntu |
Boring Crypto ile Ubuntu | google/apigee-envoy-adapter:v2.0.0-boring |
Örneğin, yedek görüntüyü birim ekleme aracılığıyla /config.yaml
olarak kullanılabilen yerel config.yaml
ile çalıştırmak için şu komutu kullanın:
docker run -v ./config.yaml:/config.yaml google/apigee-envoy-adapter:v2.0.0
Örnek yapılandırma dosyaları oluşturma
CLI kullanarak bir Envoy yapılandırma dosyası oluşturun:
$ENVOY_HOME
dizininde olduğunuzdan emin olun.- Kullanılabilir yapılandırma şablonlarını listeleyin:
$CLI_HOME/apigee-remote-service-cli samples templates
Örnekler komutunu çalıştırın. TEMPLATE yerine desteklenen Envoy şablonlarından birini kullanın:
$CLI_HOME/apigee-remote-service-cli samples create --template TEMPLATE -c ./config.yaml
Komut,
./samples/envoy-config.yaml
dosyasını oluşturur.
Daha fazla bilgi için Sana Özel komutu bölümüne bakın.
Envoy proxy'yi yükleme ve çalıştırma
Envoy proxy'yi yüklemek ve çalıştırmak için aşağıdaki adımları uygulayın:
- Envoy ikili programı indirin, oluşturun veya Docker'ı kullanın.
- Envoy'u, daha önce
httpbin.org
hizmeti için oluşturduğunuz örnek bir yapılandırma dosyasını kullanarak çalıştırın:envoy -c ./samples/envoy-config.yaml
Kurulumu test etme
- API anahtarı edinme sayfasında açıklandığı şekilde bir API ürünü yapılandırın ve API anahtarı alın.
- API anahtarı olmadan
httpbin
hizmetini çağırın:curl -i http://localhost:8080/headers -H "HOST:httpbin.org"
Hizmet artık Apigee tarafından yönetiliyor ve API anahtarı sağlamadığınız için çağrı aşağıdaki hatayı döndürüyor.
curl -i http://localhost:8080/headers -H "HOST:httpbin.org" HTTP/1.1 403 Forbidden date: Tue, 12 May 2020 17:51:36 GMT server: envoy content-length: 0 x-envoy-upstream-service-time: 11
- Şu anahtarı kullanarak API çağrısı yapın:
export APIKEY=YOUR_API_KEY
curl -i http://localhost:8080/headers \ -H "HOST:httpbin.org" -H "x-api-key: $APIKEY"
Çağrı, 200 durumuyla başarılı olmalı ve yanıtta bir üstbilgi listesi döndürmelidir. Örneğin:
curl -i httpbin.default.svc.cluster.local/headers -H "x-api-key: kyOTalNNLMPfOSy6rnVeclmVSL6pA2zS" HTTP/1.1 200 OK server: envoy date: Tue, 12 May 2020 17:55:34 GMT content-type: application/json content-length: 828 access-control-allow-origin: * access-control-allow-credentials: true x-envoy-upstream-service-time: 301 { "headers": { "Accept": "*/*", "Content-Length": "0", "Host": "httpbin.default.svc.cluster.local", "User-Agent": "curl/7.70.0-DEV", "X-Api-Key": "kyOTalNNLMPfOSy6rneclmVSL6pA2zS", "X-Apigee-Accesstoken": "", "X-Apigee-Api": "httpbin.default.svc.cluster.local", "X-Apigee-Apiproducts": "httpbin", "X-Apigee-Application": "httpbin", "X-Apigee-Authorized": "true", "X-Apigee-Clientid": "kyOTalNNLMPfOSy6rVeclmVSL6pA2zS", "X-Apigee-Developeremail": "user@example.com", "X-Apigee-Environment": "test", "X-Apigee-Organization": "my-org", "X-Apigee-Scope": "", "X-B3-Parentspanid": "1476f9a2329bbdfa", "X-B3-Sampled": "0", "X-B3-Spanid": "1ad5c19bfb4bc96f", "X-B3-Traceid": "6f329a34e8ca07811476f9a2329bbdfa" } }
Sonraki adımlar
httpbin
hizmetinin API trafiği artık Apigee tarafından yönetiliyor. Keşfedebileceğiniz ve deneyebileceğiniz bazı özellikler şunlardır:
- API ürününüzü API anahtarı alma bölümünde açıklandığı şekilde yapılandırdıysanız kota sınırı, dakikada 5 isteğe ayarlanmıştır. Kotayı tetiklemek için
httpbin
hizmetini birkaç kez daha çağırmayı deneyin. Kota tükendiğinde HTTP durum 403 hatası döndürülür. - Uç kullanıcı arayüzünden Apigee Analytics'e erişin. Analiz > API Metrikleri > API Proxy Performansı'na gidin.
- API çağrılarının kimliğini doğrulamak için JWT jetonları oluşturup kullanın.
- Jetonları yönetmek, oluşturmak ve bağlamaları kontrol etmek için KSA'yı kullanın. CLI ayrıntıları için Referans'a bakın.