Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X. Информация
Обзор
В этом руководстве рассказывается, как настроить и запустить экземпляр Edge Microgateway.
После выполнения описанных ниже действий у вас будет полностью настроенная и работающая установка Edge Microgateway, способная обрабатывать запросы API. Вы проверите настройки, выполнив защищенные вызовы API через Edge Microgateway к целевому серверу. Вы также узнаете, как добавить в Microgateway плагин для защиты от пиковых нагрузок.
Руководство состоит из следующих частей:
- Требования: Установка микрошлюза Edge
- Часть 1. Настройте Edge Microgateway
- Часть 2. Создание объектов в Apigee Edge
- Часть 3. Работа с микрошлюзом Edge
- Часть 4. Защищенный микрошлюз Edge
- Часть 5. Добавьте плагин Spike Arrest
- Часть 6. Как посмотреть данные Аналитики в Apigee Edge
Требования: установите Edge Microgateway
Следуйте инструкциям в разделе Установка Edge Microgateway. После установки вы сможете выполнить инструкции из этого руководства.
После завершения установки перейдите к следующему разделу: Часть 1. Настройка Edge Microgateway.
Часть 1. Настройте микрошлюз Edge
В этой части вы настроите Edge Microgateway для взаимодействия с Apigee Edge с помощью команды интерфейса командной строки (CLI). Если вы используете Apigee Edge Cloud, следуйте инструкциям по настройке Apigee Edge Cloud. Если вы используете Apigee Private Cloud, следуйте инструкциям для Apigee Edge Private Cloud.
Как настроить облако Apigee Edge
Чтобы использовать Edge Microgateway с Apigee Edge Cloud, выполните следующие действия:
- Если вы ещё не инициализировали Edge Microgateway, сделайте это (этот шаг нужно выполнить только один раз):
edgemicro init
- При необходимости распечатайте справку по команде edgemicro configure:
edgemicro configure -h
- Выполните следующую команду, чтобы настроить Edge Microgateway:
edgemicro configure -o [org] -e [env] -u [username]
Где:
org– название организации Edge (требуются права администратора организации).env– это среда в вашей организации (например, тестовая или производственная).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 Private Cloud, выполните следующие действия:
- Вывести справочную информацию о команде edgemicro private configure. Вы можете распечатать справку для любой команды или параметра командной строки Edge Microgateway.
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– это среда в вашей организации (например, тестовая или производственная).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– это среда в вашей организации (например, тестовая или производственная).key– это ключ, который ранее возвращался командой configure.secret– это ключ, который ранее возвращался командой configure.
Пример
edgemicro verify -o docs -e test -k 93b01fd21d86331459ae52f664ae9aeb13eb94767ce40a4f621d172cdfb7e8e6 -s c8c755be97cf56c21f8b0556d7132afbd03625bbd85dc34ebfefae4f23fbcb3c
О конфигурации
Все выполненные до сих пор настройки позволяют Edge Microgateway подключиться к Apigee Edge. После успешной инициализации Edge Microgateway получает полезную нагрузку с дополнительной информацией о конфигурации из Apigee Edge.
Для чего используется эта информация о конфигурации? Как мы узнаем из следующей части этого руководства, при запуске Edge Microgateway должен получить от Apigee Edge список специальных прокси API, совместимых с Edge Microgateway. В следующей части этого руководства вы создадите прокси, совместимый с Microgateway. Edge Microgateway ограничивает клиентов, разрешая им вызывать только API, которые представлены API-прокси, поддерживающими Microgateway. По умолчанию клиенты должны предоставлять действительный токен безопасности для каждого вызова. Подробнее об этих прокси-серверах можно узнать в разделе "Что нужно знать о прокси-серверах, поддерживающих Edge 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 может обнаружить при запуске. Прокси, совместимые с микрошлюзом, должны иметь название, начинающееся с символа
edgemicro_. Примеры:edgemicro_helloилиedgemicro_userinfo. При запуске Edge Microgateway получает от Edge список прокси, поддерживающих микрошлюз, из той же организации и среды Edge, которые вы указали при запуске Edge Microgateway.
Для каждого прокси-сервера, поддерживающего микрошлюз, Edge Microgateway извлекает целевой URL прокси-сервера и его базовый путь. Прокси, поддерживающие микрошлюз, также позволяют удобно связывать данные аналитики, сгенерированные Edge Microgateway, с прокси на платформе Edge. Поскольку Microgateway обрабатывает вызовы API, он асинхронно отправляет данные аналитики в Edge. Данные Аналитики будут отображаться в интерфейсе Edge Analytics под названием прокси, поддерживающего микрошлюз, как и для любого другого прокси.
- Продукт, разработчик и приложение разработчика. Edge Microgateway использует продукты, разработчиков и приложения разработчиков, чтобы обеспечить безопасность токенов доступа OAuth2 или ключей API. При запуске Edge Microgateway скачивает все конфигурации продуктов из вашей организации Apigee Edge. Эта информация используется для проверки вызовов API, выполненных через Edge Microgateway с помощью ключей API или токенов доступа OAuth2.
Дополнительная информация: также ознакомьтесь с разделом "Что нужно знать о прокси-серверах, совместимых с Edge Microgateway" в обзоре Edge Microgateway.
1. Создание прокси-сервера API, совместимого с Edge Microgateway, в Edge
- Войдите в организацию в Apigee Edge.
- Нажмите Перейти на классический интерфейс.
- В верхнем меню выберите API > Прокси API.
- На странице прокси API нажмите + Прокси API.
- В мастере создания прокси-сервера выберите Обратный прокси-сервер (наиболее распространенный).
- Нажмите Далее.
- На странице "Сведения" мастера настройте следующие параметры: Заполните мастер в точности так, как показано ниже:
- Название прокси-сервера: edgemicro_hello
- Базовый путь прокси: /hello
- Существующий API: http://mocktarget.apigee.net/
- Нажмите Далее.
- На странице "Безопасность" мастера выберите Пропустить (нет).
- Нажмите Далее.
- На странице "Виртуальные хосты" мастера оставьте значения по умолчанию.
- Нажмите Далее.
- На странице Build (Создание) мастера проверьте настройки прокси-сервера. Убедитесь, что выбрана тестовая среда.
- Нажмите Создать и развернуть.
2. Создание продукта
Создайте продукт, содержащий два прокси:
- Прокси-сервер с поддержкой микрошлюза: edgemicro_hello.
- Прокси-сервер аутентификации, установленный Edge Microgateway: edgemicro-auth.
- В классическом интерфейсе Edge выберите Publish > Products (Публикация > Продукты).
- На странице "Товары" нажмите + Товар. Заполните страницу "Сведения о товаре" следующим образом:
- Название: EdgeMicroTestProduct
- Отображаемое название: EdgeMicroTestProduct
- Среда: тестовая и рабочая
- Доступ: открытый.
- Тип одобрения ключа: автоматическое.
-
Ресурсы
- API Proxy (Прокси API): выберите edgemicro_hello.
- Версия: 1
- Путь к ресурсу: /**
- Нажмите Импортировать ресурс.
- В разделе Resources (Ресурсы) нажмите +API Proxy (Прокси 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
Чтобы запустить Edge Microgateway, используйте команду edgemicro start.
- Убедитесь, что у вас есть ключи, которые были возвращены ранее при выполнении команды edgemicro configure. Выходные данные будут выглядеть примерно так:
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– это среда в вашей организации (например, тестовая или производственная).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. Ниже перечислены некоторые типы такой информации.
- Открытый ключ, который мы создали и сохранили ранее в хранилище Apigee.
- JSON-представление всех прокси-серверов, поддерживающих Edge Microgateway, которые существуют в организации или среде. Это все прокси-серверы, названия которых начинаются с префикса edgemicro_.
- Представление в формате JSON всех продуктов API, существующих в организации или среде.
На основе этой информации Edge Microgateway определяет, какие прокси и пути прокси ему разрешено обрабатывать. Информация о товаре используется для обеспечения безопасности (точно так же, как любой прокси-сервер API в Apigee Edge, где ключи приложений разработчика связаны с продуктами). Ниже мы расскажем, как защитить Edge Microgateway.
2. Как протестировать Edge Microgateway
После запуска 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. Как остановить Edge Microgateway
- В отдельном окне терминала
cdперейдите в тот же каталог, в котором вы запустили Edge Microgateway. - Введите команду stop:
edgemicro stop
Часть 4. Защищенный микрошлюз Edge
Вы можете защитить вызовы API, выполняемые через Edge Microgateway, с помощью ключа API или токена доступа.
Как защитить вызовы API с помощью токена доступа OAuth2
Чтобы аутентифицировать вызовы API с помощью токена доступа OAuth2, выполните следующие действия:
1. Получите необходимые ключи
- В интерфейсе Edge перейдите к созданному ранее приложению для разработчиков, как описано в части 2. Название приложения – EdgeMicroTestApp.
- На странице приложения для разработчиков найдите ключ потребителя и секретный код потребителя и скопируйте их. Эти значения необходимы для получения токена доступа на следующем шаге.
2. Как получить токен доступа
Получить токен доступа можно двумя способами. Мы расскажем о каждом из них.
Как получить токен доступа с помощью интерфейса командной строки
Первый способ удобен и соответствует шаблону, который мы использовали в этом руководстве. Второй способ обычно более удобен для разработчиков клиентских приложений, которым нужно запрашивать токены. Фактическая конечная точка токена реализована в прокси-сервере edgemicro-auth, который был развернут при настройке Edge Microgateway.
- Чтобы посмотреть справку по команде token get, выполните следующие действия:
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– это среда в вашей организации (например, тестовая или производственная).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. Вот пример запроса curl. Просто замените названия организации и среды в URL и передайте значения Consumer Key:Consumer Secret, разделенные двоеточием, в заголовке Basic Authentication:
curl -i -X POST --user [client_id]:[client_secret] "http://[org]-[env].apigee.net/edgemicro-auth/token" -d '{"grant_type": "client_credentials"}' -H "Content-Type: application/json"
Где:
org– название организации Edge (требуются права администратора организации).env– это среда в вашей организации (например, тестовая или производственная).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" в статье Установка 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– это среда в вашей организации (например, тестовая или производственная).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. Название приложения – EdgeMicroTestApp.
- На странице приложения для разработчиков найдите ключ потребителя и скопируйте его. Это значение – ключ API. Этот ключ будет использоваться для аутентификации вызовов API.
2. Проверьте конфигурацию в Edge Microgateway
- Откройте файл ~
/.edgemicro/org-env-config.yaml.. Также ознакомьтесь с разделом "Где устанавливается Edge Microgateway" в статье Установка 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– это среда в вашей организации (например, тестовая или производственная).key– это ключ, который ранее возвращался командой configure.secret– это ключ, который ранее возвращался командой configure.
Пример
edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
3. Как безопасно вызывать API с помощью ключа API
Вызовите API с заголовком x-api-key, как показано ниже. Ключ потребителя, скопированный из приложения для разработчиков, – это ключ API. По умолчанию Edge Microgateway ожидает, что вы передадите ключ в заголовке x-api-key, как показано ниже.
curl -i http://localhost:8000/hello/echo -H "x-api-key: [apikey]"
Где:
apikey– это значение ключа потребителя, взятое из 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
Функция Spike Arrest защищает от резких скачков трафика. Ограничивает количество запросов, обрабатываемых экземпляром Edge Microgateway.
В Edge Microgateway защита от скачков реализована в виде модуля плагина. Чтобы включить его, нужно добавить его в файл конфигурации Edge Microgateway.
- Откройте файл ~
/.edgemicro/org-env-config.yaml.. Также ознакомьтесь с разделом "Где устанавливается Edge Microgateway" в статье Установка Edge Microgateway. - Добавьте следующий элемент: Его можно добавить в любое место файла.
spikearrest: timeUnit: minute allow: 10 buffersize: 0 - Добавьте
spikearrestв элементedgemicro:sequence, как показано ниже. Свойство конфигурации 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 с помощью команды reload. Эту команду необходимо выполнить из каталога, в котором вы запустили Edge Microgateway.
edgemicro reload -o [org] -e [env] -k [key] -s [secret]
Где:
org– название организации Edge (требуются права администратора организации).env– это среда в вашей организации (например, тестовая или производственная).key– это ключ, который ранее возвращался командой configure.secret– это ключ, который ранее возвращался командой configure.
Пример
edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
- Попробуйте несколько раз подряд вызвать API. После второго вызова микрошлюз Edge возвращает следующую ошибку:
{"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 proxy.
- На графике представлена информация о трафике прокси-сервера, например общий трафик, среднее время ответа, среднее целевое время ответа и т. д.
Подробнее о панелях Edge Analytics можно узнать на главной странице панелей Аналитики в документации по Edge. Подробнее о плагинах можно узнать в статье Как использовать плагины.