Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X. информация
Edge Microgateway v. 2.4.x
Обзор
В этом руководстве описаны шаги, необходимые для запуска и запуска экземпляра Edge Microgateway.
После выполнения описанных здесь шагов у вас будет полностью настроенная и работающая установка Edge Microgateway, способная обрабатывать запросы API. Вы протестируете настройку, выполнив безопасные вызовы API через Edge Microgateway к серверной цели. Вы также узнаете, как добавить плагин блокировки всплесков в Microgateway.
Это руководство разделено на следующие части:
- Предварительное условие: установка Edge Microgateway.
- Часть 1. Настройка Edge Microgateway
- Часть 2. Создание объектов в Apigee Edge
- Часть 3. Эксплуатация Edge Microgateway
- Часть 4. Микрошлюз Secure Edge
- Часть 5. Добавьте плагин Spike Arrest.
- Часть 6. Просмотр данных Analytics в Apigee Edge
Предварительное условие: установить Edge Microgateway.
Следуйте инструкциям в разделе «Установка Edge Microgateway» . После завершения установки вы будете готовы выполнить действия, описанные в этом руководстве.
Когда вы закончите установку, перейдите к следующему разделу « Часть 1. Настройка Edge Microgateway ».
Часть 1. Настройка Edge Microgateway
В этой части вы будете использовать команду интерфейса командной строки (CLI) для настройки Edge Microgateway для связи с Apigee Edge. Если вы используете Apigee Edge Cloud, следуйте инструкциям по настройке Apigee Edge Cloud . Если вы используете частное облако Apigee, следуйте инструкциям для частного облака Apigee Edge .
Шаги настройки Apigee Edge Cloud
Выполните следующие действия, чтобы использовать Edge Microgateway с Apigee Edge Cloud:
- Если вы не сделали этого ранее, инициализируйте Edge Microgateway (этот шаг нужно сделать только один раз):
edgemicro init
- (Необязательно) Распечатайте справку по команде настройки Edgemicro :
edgemicro configure -h
- Выполните следующую команду для настройки Edge Microgateway:
edgemicro configure -o [org] -e [env] -u [username]
Где:
-
org— это название вашей организации Edge (вы должны быть администратором организации). -
env— это среда в вашей организации (например, test или prod). -
username— это адрес электронной почты, связанный с вашей учетной записью Apigee.
-
Пример
edgemicro configure -o docs -e test -u jdoe@example.com
Выход
./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!
Шаги настройки частного облака Apigee
Выполните следующие действия, чтобы использовать Edge Microgateway с частным облаком Apigee:
- Распечатайте справочную информацию для команды Edgemicro Private configure . Таким образом можно распечатать справку для любой команды или параметра команды Edge Microgateway CLI.
edgemicro private configure -h
- Выполните следующую команду. Для этого требуется стандартная информация о вашей учетной записи Apigee Edge Private Cloud: название организации, имя среды, имя пользователя (адрес электронной почты), пароль, IP-адрес сервера управления и IP-адрес маршрутизатора. Чтобы использовать эту команду, вы должны быть администратором организации Edge:
edgemicro private configure -o [org] -e [env] -u [username] -r [runtime_url] -m [mgmt_url] -v [virtual_host]
Где:
-
org— это название вашей организации Edge (вы должны быть администратором организации). -
env— это среда в вашей организации (например, test или prod). -
runtime_url— это URL-адрес среды выполнения вашего экземпляра частного облака. -
mgmt_url— URL-адрес сервера управления вашего экземпляра частного облака. -
username— это адрес электронной почты, связанный с вашей учетной записью Apigee. -
virtual_host— это список имен виртуальных хостов, разделенных запятыми. Значения по умолчанию:default,secure
-
Пример
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
или, если у вас есть псевдоним виртуального хоста myorg-test.mycompany.com , вы должны использовать такую команду:
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
Выход
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!
Проверьте установку
Запустите эту команду, чтобы проверить установку. Если об ошибках не сообщается, значит, все настроено правильно, и вы сможете успешно запустить Edge Microgateway.
edgemicro verify -o [org] -e [env] -k [key] -s [secret]
Где:
-
org— это название вашей организации Edge (вы должны быть администратором организации). -
env— это среда в вашей организации (например, test или prod). -
key— это ключ, возвращенный ранее командой configure. -
secret— это ключ, возвращенный ранее командой configure.
Пример
edgemicro verify -o docs -e test -k 93b01fd21d86331459ae52f664ae9aeb13eb94767ce40a4f621d172cdfb7e8e6 -s c8c755be97cf56c21f8b0556d7132afbd03625bbd85dc34ebfefae4f23fbcb3c
О конфигурации
Вся выполненная на данный момент настройка позволяет Edge Microgateway загрузиться с Apigee Edge. После успешного завершения начальной загрузки Edge Microgateway получает дополнительную информацию о конфигурации от Apigee Edge.
Для чего используется эта информация о конфигурации? Как мы узнаем в следующей части этого руководства, при запуске Edge Microgateway ему необходимо получить список специальных прокси-серверов API, поддерживающих Edge Microgateway, от Apigee Edge. В следующей части этого руководства вы создадите прокси-сервер с поддержкой Microgateway. Edge Microgateway ограничивает клиентов вызовами только API-интерфейсов, управляемых этими прокси-серверами API, поддерживающими Microgateway, и клиентам будет необходимо (по умолчанию) предоставлять действительный токен безопасности для каждого вызова. Дополнительную информацию об этих прокси-серверах см. в разделе « Что вам нужно знать о прокси-серверах с поддержкой Edge Microgateway ».
Как администратору организации Edge вам будет интересно узнать, что прокси-серверы с поддержкой Edge Microgateway можно добавлять в продукты Edge, как и любые другие прокси-серверы. Используя продукты и приложения для разработчиков, вы можете создавать токены безопасности для конкретного клиента для управления доступом к API, вызываемым через Edge Microgateway. Опять же, используемые шаблоны идентичны работе с любыми прокси-серверами API, продуктами и приложениями для разработчиков в Apigee Edge. Если вы хотите узнать больше о продуктах, начните с раздела «Что такое продукт API?» в документации Edge.
Далее мы рассмотрим, как создавать прокси-серверы с поддержкой Edge Microgateway, а после этого запустим Edge Microgateway и проверим настройку.
Часть 2. Создание объектов в Apigee Edge
В этой части вы создадите эти объекты в Edge:
- Прокси -сервер с поддержкой микрошлюза . Это специальный прокси-сервер, который Edge Microgateway может обнаружить при запуске. Прокси-серверы с поддержкой Microgateway имеют соглашение об именах, которому вы должны следовать: имя должно быть с помощью
edgemicro_. Например,edgemicro_helloилиedgemicro_userinfo. При запуске Edge Microgateway он получает от Edge список прокси-серверов с поддержкой микрошлюза из той же организации и среды Edge, которые вы указали при запуске Edge Microgateway.
Для каждого прокси-сервера с поддержкой микрошлюза Edge Microgatway получает целевой URL-адрес прокси-сервера и его базовый путь. Прокси-серверы с поддержкой Microgateway также предоставляют удобный способ связать аналитические данные, созданные Edge Microgateway, с прокси-сервером на платформе Edge. Поскольку Microgateway обрабатывает вызовы API, он асинхронно передает аналитические данные в Edge. Данные аналитики будут отображаться в пользовательском интерфейсе Edge Analytics под именами прокси-серверов, поддерживающих микрошлюз, как и для любого другого прокси-сервера. - Продукт, разработчик и приложение разработчика . Edge Microgateway использует продукты, разработчиков и приложения разработчиков для обеспечения безопасности токена доступа OAuth2 или ключа API. Когда Edge Microgateway запускается, он загружает все конфигурации продукта из вашей организации Apigee Edge. Он использует эту информацию для проверки вызовов API, сделанных через Edge Microgateway с помощью ключей API или токенов доступа OAuth2.
Подробнее: см. также « Что нужно знать о прокси-серверах с поддержкой Edge Microgateway ».
1. Создайте прокси-сервер API с поддержкой Edge Microgateway в Edge.
- Войдите в свою организацию в Apigee Edge.
- Нажмите ПЕРЕКЛЮЧИТЬСЯ НА КЛАССИЧЕСКУЮ , чтобы перейти к классическому пользовательскому интерфейсу Edge.
- Выберите API > Прокси API в верхнем меню.
- На странице «Прокси-серверы API» нажмите + Прокси-сервер API .
- В мастере создания прокси выберите Обратный прокси (наиболее распространенный) .
- Нажмите Далее .
- На странице мастера «Сведения» выполните настройку следующим образом. Обязательно заполните мастер именно так, как показано:
- Имя прокси: Edgemicro_hello
- Базовый путь прокси: /hello
- Существующий API: http://mocktarget.apigee.net/
- Нажмите Далее .
- На странице «Безопасность» мастера выберите «Пропустить (нет)» .
- Нажмите Далее .
- На странице мастера «Виртуальные хосты» примите значения по умолчанию.
- Нажмите Далее .
- На странице «Сборка» мастера проверьте настройки прокси-сервера. Убедитесь, что выбрана тестовая среда.
- Нажмите «Создать и развернуть» .
2. Создайте продукт
Создайте продукт, содержащий два прокси:
- Ваш прокси-сервер с поддержкой микрошлюза: Edgemicro_hello
- Прокси-сервер аутентификации, установленный Edge Microgateway: Edgemicro-auth .
- В пользовательском интерфейсе Edge (классическая версия) выберите «Публикация» > «Продукты» .
- На странице «Продукты» нажмите + Продукт . Заполните страницу сведений о продукте следующим образом:
- Имя: EdgeMicroTestProduct
- Отображаемое имя: EdgeMicroTestProduct
- Среда: тестирование и разработка
- Доступ: Публичный
- Ключевой тип утверждения: Автоматический
- Ресурсы:
- Прокси-сервер API: выберите Edgemicro_hello.
- Редакция: 1
- Путь к ресурсу: /**
- Нажмите «Импортировать ресурс» .
- В разделе «Ресурсы» нажмите +API-прокси.
- Выберите EdgeMicro-Auth
- Нажмите Сохранить .
3. (Необязательно) Создайте разработчика тестов.
Для целей этого руководства вы можете использовать любого существующего разработчика для следующего шага — создания приложения для разработчика. Но если хотите, создайте разработчика тестов прямо сейчас:
- Откройте «Публикация» > «Разработчики» .
- На странице «Продукты» нажмите + Разработчик .
- Заполните диалоговое окно, чтобы создать разработчика тестов.
4. Создайте приложение для разработчика
Вы собираетесь использовать учетные данные клиента из этого приложения для безопасных вызовов API через Edge Microgateway:
- Откройте «Публикация» > «Приложения для разработчиков» .
- На странице «Приложения для разработчиков» нажмите « + Приложение для разработчиков» .
- Заполните страницу приложения разработчика следующим образом:
- Имя: EdgeMicroTestApp
- Отображаемое имя: EdgeMicroTestApp
- Разработчик: если вы создали разработчика тестов, выберите его. Или вы можете использовать любого существующего разработчика для целей этого руководства.
- Реквизиты для входа:
- Выберите Срок действия: Никогда .
- Нажмите + Продукт и выберите EdgeMicroTestProduct (продукт, который вы только что создали).
- Нажмите Сохранить .
- Вы вернулись на страницу списка приложений для разработчиков.
- Выберите только что созданное приложение EdgeMicroTestApp .
- Нажмите «Показать» рядом с ключом потребителя и секретом потребителя .

Часть 3. Эксплуатация Edge Microgateway
Теперь, когда у вас есть настроенный Edge Microgateway и хотя бы один прокси-сервер с поддержкой Edge Microgateway в Edge, пришло время запустить Edge Microgateway. HTTP-сервер Edge Microgateway будет работать на вашем локальном компьютере, и вы будете выполнять вызовы API непосредственно к этому серверу.
1. Запустите Edge Microgateway.
Используйте команду запуска Edgemicro , чтобы запустить Edge Microgateway.
- Убедитесь, что у вас есть ключи, которые были возвращены ранее при выполнении команды настройки Edgemicro . Этот вывод выглядел примерно так:
You need key and secret while starting edgemicro instance key: da4778e7c240a5d4585fc559eaba5083328828ac9f3a7f583e8b73e secret: 3aad7439708b4aeb38ee08e87189921ad00e6fc1ba8a8ae9f929ee2
- (Необязательно) Распечатайте справочную информацию для команды
edgemicro start.edgemicro start -h
- Чтобы запустить Edge Microgateway, выполните следующую команду:
edgemicro start -o [org] -e [env] -k [key] -s [secret]
Где:
-
org— это название вашей организации Edge (вы должны быть администратором организации). -
env— это среда в вашей организации (например, test или prod). -
key— это ключ, возвращенный ранее командой configure. -
secret— это ключ, возвращенный ранее командой configure.
Пример
edgemicro start -o docs -e test -k 701e70e718ce6dc1880616b3c39177d64a88754d615c7a4e1f78b6181d000723 -s 05c14356e42d136b83dd135cf8a18531ff52d7299134677e30ef4e34ab0cc824
Выход
Команда запуска получает много информации о конфигурации из Apigee Edge (которая прокручивается в окно терминала). В выводе вы увидите список обнаруженных прокси-серверов и продуктов с поддержкой микрошлюзов. В конце вывода вы должны увидеть что-то вроде этого:
... 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
-
Что случилось?
Посмотрите на терминал, где вы выполнили команду Edgemicro config . Прокрутив стандартный вывод, вы увидите, что команда получает полезную информацию о конфигурации Edge Microgateway из Apigee Edge. Эта информация включает в себя:
- Открытый ключ, который мы создали и сохранили ранее в зашифрованной карте значений ключей (KVM).
- JSON-представление всех прокси-серверов с поддержкой Edge Microgateway, существующих в организации/среде. Это все прокси, имена которых имеют префикс Edgemicro_ .
- JSON-представление всех продуктов API, существующих в организации/среде.
Благодаря этой информации Edge Microgateway знает, какие прокси-серверы и пути к прокси-серверам ему разрешено обрабатывать. Он использует информацию о продукте для обеспечения безопасности (точно так же, как любой прокси-сервер API в Apigee Edge, где ключи приложений разработчика связаны с продуктами). Вскоре мы рассмотрим шаги по обеспечению безопасности Edge Microgateway.
2. Тестирование периферийного микрошлюза
Когда Edge Microgateway запущен, вы можете вызвать прокси. Конфигурация прокси-сервера Edgemicro_hello была загружена из Edge при запуске Edge Microgateway. Помните, что базовый путь прокси — /hello .
Чтобы протестировать Edge Microgateway, мы начинаем с базового пути и добавляем путь к ресурсу /echo . Обратите внимание, что все, что следует за базовым путем (включая любые параметры запроса), просто передается в серверную цель:
curl -i http://localhost:8000/hello/echo
{"error":"missing_authorization","error_description":"Missing Authorization header"}Ошибка возникает из-за того, что вы не отправили вместе с запросом действительный ключ API или токен доступа. По умолчанию Edge Microgateway требует либо ключ API, либо токен доступа для каждого вызова API. На следующем этапе руководства мы должным образом защитим этот API и покажем вам, как получить действительный токен доступа и включить его в запрос.
4. Остановить пограничный микрошлюз
- В отдельном окне терминала
cdв тот же каталог , в котором вы запустили Edge Microgateway. - Введите команду остановки:
edgemicro stop
Часть 4. Микрошлюз Secure Edge
Вы можете защитить вызовы API, сделанные через Edge Microgateway, с помощью ключа API или токена доступа.
Безопасные вызовы API с помощью токена доступа OAuth2.
Выполните следующие действия, если вы хотите аутентифицировать вызовы API с помощью токена доступа OAuth2:
1. Получите необходимые ключи
- В пользовательском интерфейсе Edge перейдите к созданному ранее приложению разработчика, как описано в части 2: Создание объектов в Apigee Edge . Название приложения было EdgeMicroTestApp.
- На странице приложения разработчика покажите Consumer Key и Consumer Secret и скопируйте их. Эти значения необходимы для получения токена доступа на следующем этапе.
2. Получите токен доступа
Есть два способа получить токен доступа. Мы покажем вам оба метода.
Использование CLI для получения токена доступа
Первый метод удобен и соответствует шаблону, который мы использовали на протяжении всего урока. Второй метод обычно более полезен для разработчиков клиентских приложений, которым необходимо запрашивать токены. Фактическая конечная точка токена реализована в прокси-сервере EdgeMicro-Auth , который был развернут при настройке Edge Microgateway.
- (Необязательно) Просмотрите справку по команде получения токена :
edgemicro token get -h
- Создайте токен, заменив значения Consumer Key и Consumer Secret из приложения разработчика, созданного вами в Apigee Edge, в параметрах -i и -s :
edgemicro token get -o [org] -e [env] -i [consumer_key] -s [consumer_secret]
Где:
-
org— это название вашей организации Edge (вы должны быть администратором организации). -
env— это среда в вашей организации (например, test или prod). -
consumer_id— это идентификатор потребителя в созданном вами ранее приложении разработчика. -
consumer_secret— это секрет потребителя в созданном вами ранее приложении разработчика.
Пример
edgemicro token get -o docs -e test -i G0IAeU864EtBo99NvUbn6Z4CBwVcS2 -s uzHTbwNWvoSmOy
Выход (образец)
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' } -
(Необязательно) Использование API для получения токена
Если вы привыкли вызывать прокси-серверы Edge с помощью Curl или другого HTTP-клиента, вам будет интересно узнать, что вы можете напрямую вызывать конечную точку токена, а не использовать команду Edgemicro token . Вот пример скручивания. Просто подставьте имена своей организации и среды в URL-адрес и передайте значения Consumer Key:Consumer Secret, разделенные двоеточиями, в заголовке базовой аутентификации:
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"
Где:
-
org— это название вашей организации Edge (вы должны быть администратором организации). -
env— это среда в вашей организации (например, test или prod). -
client_id— это идентификатор потребителя в созданном вами ранее приложении разработчика. -
client_secret— это секрет потребителя в созданном вами ранее приложении разработчика.
Выход (образец)
Команда, независимо от того, использовали ли вы команду CLI EdgeMicro Token или вызвали конечную точку с помощью Curl, возвращает подписанный токен доступа, который можно использовать для выполнения клиентских вызовов. Что-то вроде этого:
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. Проверьте конфигурацию в Edge Microgateway.
- Откройте файл ~
/.edgemicro/org-env-config.yaml.См. также раздел Где установлен Edge Microgateway . - Убедитесь, что для этих свойств плагина oauth установлено значение false . По умолчанию они ложны, но рекомендуется перепроверить:
oauth: allowNoAuthorization: false allowInvalidAuthorization: false
- Также убедитесь, что в файле
org-env-config.yamlплагин oauth добавлен в элементplugins:sequence, например:plugins: dir: ../plugins sequence: - oauth
- Если вы вносите какие-либо изменения в файл, перезагрузите изменения в работающий экземпляр Edge Microgateway. Эта команда перенастраивает Edge Microgateway с нулевым временем простоя:
edgemicro reload -o [org] -e [env] -k [key] -s [secret]
Где:
-
org— это название вашей организации Edge (вы должны быть администратором организации). -
env— это среда в вашей организации (например, test или prod). -
key— это ключ, возвращенный ранее командой configure. -
secret— это ключ, возвращенный ранее командой configure.
Пример
edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
-
4. Безопасно вызывайте API
Имея на руках токен доступа, вы теперь можете безопасно выполнить вызов API. Например:
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 возвращает заголовки и другую информацию с макетного сервера.
Защита API с помощью ключа API
Если вы хотите использовать ключ API для авторизации, выполните следующие действия:
1. Получите ключ API
- В пользовательском интерфейсе Edge перейдите к созданному ранее приложению разработчика, как описано в части 2: Создание объектов в Apigee Edge . Название приложения было EdgeMicroTestApp.
- На странице приложения разработчика покажите Consumer Key и скопируйте его. Это значение является ключом API. Вы будете использовать этот ключ для выполнения аутентифицированных вызовов API.
2. Проверьте конфигурацию в Edge Microgateway.
- Откройте файл ~
/.edgemicro/org-env-config.yaml.См. также раздел Где установлен Edge Microgateway . - Убедитесь, что для этих свойств плагина oauth установлено значение false . По умолчанию они ложны, но рекомендуется перепроверить:
oauth: allowNoAuthorization: false allowInvalidAuthorization: false
- Также убедитесь, что в файле
org-env-config.yamlплагин oauth добавлен в элементplugins:sequence, например:plugins: dir: ../plugins sequence: - oauth - Если вы вносите какие-либо изменения в файл, перезагрузите изменения в работающий экземпляр Edge Microgateway. Эта команда перенастраивает Edge Microgateway с нулевым временем простоя:
edgemicro reload -o [org] -e [env] -k [key] -s [secret]
Где:
-
org— это название вашей организации Edge (вы должны быть администратором организации). -
env— это среда в вашей организации (например, test или prod). -
key— это ключ, возвращенный ранее командой configure. -
secret— это ключ, возвращенный ранее командой configure.
Пример
edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
-
3. Безопасный вызов API с помощью ключа API.
Вызовите API с заголовком x-api-key следующим образом. Значение Consumer Key, которое вы скопировали из приложения разработчика, является ключом API. По умолчанию Edge Microgateway ожидает, что вы передадите ключ в заголовке с именем x-api-key , например:
curl -i http://localhost:8000/hello/echo -H "x-api-key: [apikey]"
Где:
-
apikey— это значение Consumer Key, взятое из EdgeMicroTestApp.
Например:
curl -i http://localhost:8000/hello/echo -H 'x-api-key: XsU1R4zGXz2ERxa0ilYQ5szwuljr5bB'
Теперь у вас есть полностью функционирующий и безопасный Edge Microgateway. В следующей части руководства мы рассмотрим плагины, которые расширяют функциональность Edge Microgateway.
Часть 5. Добавьте плагин Spike Arrest.
В этой части мы добавим в ваш экземпляр Edge Microgateway функцию ограничения скорости, называемую блокировкой пиков.
Что такое плагины?
Плагин — это модуль Node.js, который добавляет функциональность Edge Microgateway. Модули подключаемых модулей следуют единому шаблону и хранятся в месте, известном Edge Microgateway, что позволяет микрошлюзу автоматически обнаруживать и загружать их. Подробнее о плагинах можно прочитать в разделе Использование плагинов .
Добавление плагина блокировки всплесков
Spike Arrest защищает от скачков трафика. Он ограничивает количество запросов, обрабатываемых экземпляром Edge Microgateway.
В Edge Microgateway блокировка пиков реализована в виде подключаемого модуля. Чтобы включить его, вам необходимо добавить его в файл конфигурации Edge Microgateway.
- Откройте файл ~
/.edgemicro/org-env-config.yaml.См. также раздел Где установлен Edge Microgateway . - Добавьте следующий элемент. Вы можете добавить его в любое место файла.
spikearrest: timeUnit: minute allow: 10 buffersize: 0 - Добавьте
spikearrestк элементуedgemicro:sequence, как показано ниже. Свойство конфигурации последовательности сообщает Edge Microgateway порядок выполнения модулей плагина.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
- Сохраните файл конфигурации.
- Перезагрузите Edge Microgateway с помощью команды перезагрузки . Эту команду необходимо запустить из каталога, в котором вы запустили Edge Microgateway.
edgemicro reload -o [org] -e [env] -k [key] -s [secret]
Где:
-
org— это название вашей организации Edge (вы должны быть администратором организации). -
env— это среда в вашей организации (например, test или prod). -
key— это ключ, возвращенный ранее командой configure. -
secret— это ключ, возвращенный ранее командой configure.
Пример
edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
-
- Попробуйте вызвать API несколько раз подряд. После второго вызова Edge Microgateway возвращает следующую ошибку:
{"message":"SpikeArrest engaged","status":503}
Причина в том, что остановка пиков сглаживает количество вызовов, которые можно сделать за указанную единицу времени. Итак, в этом случае вы можете совершить 10 звонков в минуту или по одному каждые 6 секунд.
Дополнительную информацию см. в разделе « Как работает блокировка пиков? » в разделе «Использование плагинов» .
Дополнительная заслуга: добавление плагина квот.
Следуя той же схеме, которая использовалась для настройки блокировки пиков, вы можете добавить другие плагины, например плагин квоты. Как и в случае с блокировкой скачков, плагин квоты включен в каждую установку Edge Microgateway. Квота определяет количество сообщений-запросов, которые приложению разрешено отправлять в API в течение определенного интервала времени (минут или часов).
Чтобы узнать, как работают квоты, см. « Использование плагина квот » в разделе «Использование плагинов» .
Часть 6. Просмотр аналитики в Apigee Edge
Теперь у нас есть полностью функционирующий экземпляр Edge Microgateway, давайте посмотрим, что он задумал! По умолчанию модуль плагина аналитики добавляется в Edge Micro. Этот модуль автоматически передает аналитические данные из Edge Micro в Apigee Edge, где они используются системой Edge Analytics. Давайте посмотрим:
- Войдите в свою организацию в Apigee Edge.
- Выберите Аналитика > Производительность прокси .
- На панели мониторинга «Производительность прокси» выберите прокси Edgemicro_hello .
- На графике показана информация о шаблонах трафика прокси-сервера, например общий трафик, среднее время ответа, среднее целевое время ответа и т. д.
Дополнительную информацию о панелях мониторинга Edge Analytics можно прочитать на домашней странице панелей мониторинга Analytics в документации Edge. Дополнительную информацию о плагинах см. в разделе Использование плагинов.