Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee X.info
Edge Microgateway v. 3.0.x
Обзор
После выполнения шагов, описанных в этом руководстве по настройке, у вас будет полностью настроенная и работающая система Edge Microgateway, способная обрабатывать запросы к API. Вы протестируете настройку, выполняя безопасные вызовы API через Edge Microgateway к целевому бэкэнду. Вы также узнаете, как добавить плагин защиты от скачков нагрузки в Microgateway.
Данное руководство разделено на следующие части:
- Предварительное условие: установка Edge Microgateway.
- Часть 1: Настройка микрошлюза Edge
- Часть 2: Создание сущностей в Apigee Edge
- Часть 3: Эксплуатация периферийного микрошлюза
- Часть 4: Защищенный микрошлюз на границе сети
- Часть 5: Добавление плагина Spike Arrest
- Часть 6: Просмотр аналитических данных на Apigee Edge
Предварительное условие: установка Edge Microgateway.
Следуйте инструкциям в разделе «Установка Edge Microgateway» . После завершения установки вы будете готовы выполнить шаги, описанные в этом руководстве.
Часть 1: Настройка микрошлюза Edge
В этой части вы будете использовать команду интерфейса командной строки (CLI) для настройки Edge Microgateway для связи с Apigee Edge .
- Если вы используете Apigee Edge Cloud, выполните следующие действия по настройке Apigee Edge Cloud .
- Если вы используете Apigee Private Cloud, выполните действия, описанные для Apigee Edge Private Cloud .
Этапы настройки Apigee Edge Cloud
Для использования Edge Microgateway с Apigee Edge Cloud выполните следующие шаги:
- Инициализируйте Edge Microgateway (этот шаг нужно выполнить только один раз):
edgemicro init
- В вашей домашней директории в подкаталоге
.edgemicroбыл создан конфигурационный файлdefault.yaml. Проверьте, существует ли этот файл:ls ~/.edgemicro default.yaml
Примечание: В документации Edge Microgateway домашний каталог обозначается тильдой (
~), которая является сокращением UNIX. Если вы используете Windows и оболочку, не поддерживающую тильду, вам потребуется заменить тильду соответствующей переменной среды в командах, ссылающихся на домашний каталог. Например:%USERPROFILE%/.edgemicro. - Все команды CLI имеют функцию справки. Вывести справку по команде edgemicro configure :
edgemicro configure -h
- Для настройки Edge Microgateway выполните следующую команду:
edgemicro configure -o [org] -e [env] -u [username]
Где:
-
org:Название вашей организации Edge (вы должны быть администратором организации). -
env:Среда в вашей организации (например, тестовая или производственная). -
username:Адрес электронной почты, связанный с вашей учетной записью Apigee.
Примечание: Команда configure позволяет использовать дополнительные параметры. Полный список см. в разделе «Настройка Edge Microgateway для Apigee Edge Cloud» .
-
Пример
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 v12.5.0 current edgemicro version is 3.0.2 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
Для использования Edge Microgateway с Apigee Private Cloud выполните следующие шаги:
- Инициализируйте Edge Microgateway (этот шаг нужно выполнить только один раз):
edgemicro init
- Вывести справочную информацию для команды 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 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!
Проверьте установку.
Выполните эту команду для проверки установки. Если ошибок не обнаружено, значит, все настроено правильно, и вы сможете успешно запустить 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 93b01fd21d86331459ae52f624ae9aeb13eb94767ce40a4f621d172cdfb7e8e6 -s c8c755be97cf56c21f8b0156d7132afbd03625bbd85dc34ebfefae4f23fbcb3c
О конфигурации
Вся выполненная до сих пор конфигурация позволяет Edge Microgateway выполнить начальную загрузку в Apigee Edge. После успешной начальной загрузки Edge Microgateway получает от Apigee Edge пакет с дополнительной конфигурационной информацией.
Для чего используется эта информация о конфигурации? Как мы узнаем в следующей части этого руководства, при запуске Edge Microgateway ему необходимо получить список специальных API-прокси, поддерживающих Edge Microgateway, от Apigee Edge. В следующей части этого руководства вы создадите прокси, поддерживающий 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. По мере обработки вызовов API микрошлюз асинхронно передает аналитические данные в Edge. Аналитические данные будут отображаться в пользовательском интерфейсе Edge Analytics под именем (именами) прокси-сервера, поддерживающего микрошлюз, как и для любого другого прокси-сервера. - Edge Microgateway — это продукт, разработчик и приложение для разработчиков, использующее продукты, разработчиков и приложения для разработчиков для обеспечения безопасности с помощью токенов доступа OAuth2 или ключей API. При запуске Edge Microgateway загружает все конфигурации продукта из вашей организации Apigee Edge. Эта информация используется для проверки вызовов API, выполняемых через Edge Microgateway с использованием ключей API или токенов доступа OAuth2.
1. Создайте на Edge API-прокси, поддерживающий Edge Microgateway.
- Войдите в свою организацию на Apigee Edge.
- В боковом навигационном меню выберите «Разработка» > «API-прокси» .
- Нажмите + Прокси . Запустится мастер создания прокси.
- На первой странице мастера выберите «Обратный прокси (наиболее распространенный вариант)» .
- Нажмите «Далее» .
- На странице «Подробности» мастера настройте параметры следующим образом. Обязательно заполните все поля мастера точно так, как показано:
- Имя прокси: edgemicro_hello
- Базовый путь прокси: /hello
- Существующий API: http://mocktarget.apigee.net/
- Нажмите «Далее» .
- На странице «Безопасность» мастера выберите «Сквозная передача (нет)» .
- Нажмите «Далее» .
- На странице «Виртуальные хосты» мастера установки примите значения по умолчанию.
- Нажмите «Далее» .
- На странице «Сборка» мастера проверьте настройки прокси-сервера. Убедитесь, что выбрана тестовая среда.
- Нажмите «Сборка и развертывание» .
2. Создайте продукт
- В боковом навигационном меню выберите «Публикация» > «Продукты API» .
- Нажмите + API Product . Откроется страница с подробной информацией о продукте.
- Заполните страницу с подробными сведениями о товаре следующим образом:
- Название: EdgeMicroTestProduct
- Отображаемое имя: EdgeMicroTestProduct
- Среда: тестирование и производство
- Доступ: Общественный
- Тип подтверждения ключа: Автоматический
- В разделе «Ресурсы» нажмите +API Proxy
- Выберите edgemicro-auth
- Нажмите кнопку +API Proxy еще раз.
- Выберите edgemicro_hello
- Выберите + Пользовательский ресурс
- Входить /**
- Снова выберите + Пользовательский ресурс .
- Входить /
- Нажмите « Сохранить ».
3. (Необязательно) Создайте разработчика тестов.
В рамках этого руководства вы можете использовать любого существующего разработчика для следующего шага — создания приложения для разработчиков. Но если хотите, создайте тестовое приложение для разработчиков прямо сейчас:
- В боковом навигационном меню выберите «Опубликовать» > «Разработчики» .
- Click + Developer .
- Заполните диалоговое окно, чтобы создать разработчика тестов.
4. Создайте приложение для разработчиков.
Для выполнения безопасных вызовов API через Edge Microgateway вы будете использовать учетные данные клиента из этого приложения:
- В боковом навигационном меню выберите «Публикация» > «Приложения» .
- Нажмите кнопку «+ Приложение» . Откроется страница с подробной информацией о приложении для разработчика.
- Заполните страницу приложения для разработчиков следующим образом:
- Название: EdgeMicroTestApp
- Отображаемое имя: EdgeMicroTestApp
- Разработчик: Если вы создали разработчика для тестирования, выберите его. Или же вы можете использовать любого существующего разработчика для целей этого руководства.
- Реквизиты для входа:
- Выберите срок действия: Никогда .
- Нажмите кнопку + Продукт и выберите EdgeMicroTestProduct (продукт, который вы только что создали).
- Нажмите « Сохранить ».
- Вы снова на странице списка приложений.
- Выберите только что созданное вами приложение EdgeMicroTestApp .
- Нажмите кнопку «Показать» рядом с полями «Ключ потребителя» и «Секрет потребителя» .

Часть 3: Эксплуатация периферийного микрошлюза
Теперь, когда у вас настроен Edge Microgateway и как минимум один прокси-сервер, поддерживающий Edge Microgateway, на Edge, пришло время запустить Edge Microgateway. HTTP-сервер Edge Microgateway будет работать на вашем локальном компьютере, и вы будете отправлять API-запросы непосредственно к этому серверу.
1. Start Edge Microgateway
Для запуска Edge Microgateway используйте команду edgemicro start .
- Убедитесь, что у вас есть ключи, которые были возвращены ранее при выполнении команды edgemicro configure . Результат выглядел примерно так:
You need key and secret while starting edgemicro instance key: da4778e7c240a5d4585fc559eaba5083328828bc9f3a7f583e8b73e secret: 3aad7439708b4aeb38ee08e82189921ad00e6fc1ba8a8ae9f929ee2
- (Необязательно) Вывести справочную информацию по команде
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 (которая отображается в окне терминала). В выводе вы увидите список обнаруженных прокси-серверов и продуктов, поддерживающих микрошлюзы. В конце вывода вы должны увидеть что-то подобное:
... current nodejs version is v12.5.0 current edgemicro version is 3.0.2 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
-
- Проверьте состояние микрошлюза. В другом окне терминала перейдите в ту же директорию, где вы запустили Edge Micro , и введите следующую команду:
edgemicro status current nodejs version is v12.5.0 current edgemicro version is 3.0.2 edgemicro is running with 8 workers
Что случилось?
С помощью Apigee Edge загружается и кэшируется локально пакет данных с конфигурацией Edge Microgateway. Эта информация включает в себя:
- Открытый ключ мы создали и сохранили ранее в зашифрованной карте «ключ-значение» (KVM).
- Представлен список всех прокси-серверов, поддерживающих Edge Microgateway, которые существуют в организации/среде. Все эти прокси-серверы имеют префикс edgemicro_ .
- Представление всех API-продуктов, существующих в организации/среде.
Благодаря этой информации Edge Microgateway знает, какие прокси-серверы и пути к ним ему разрешено обрабатывать. Он использует информацию о продукте для обеспечения безопасности (точно так же, как любой API-прокси в Apigee Edge, где ключи приложений для разработчиков связаны с продуктами). Вскоре мы рассмотрим шаги по обеспечению безопасности Edge Microgateway.
2. Тестирование микрошлюза Edge
При запущенном 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. Stop Edge Microgateway
- В отдельном окне терминала
cdв ту же директорию , где вы запустили Edge Microgateway. - Введите команду остановки:
edgemicro stop
Часть 4: Защищенный микрошлюз на границе сети
Для защиты API-запросов, выполняемых через Edge Microgateway, можно использовать API-ключ или токен доступа.
- Безопасные вызовы API с использованием токена доступа OAuth2
- Безопасные вызовы API с помощью ключа API
Безопасные вызовы API с использованием токена доступа OAuth2
Выполните следующие шаги, если хотите аутентифицировать вызовы API с помощью токена доступа OAuth2:
1. Получите необходимые ключи.
- В пользовательском интерфейсе Edge перейдите к созданному ранее приложению для разработчиков. Название приложения — EdgeMicroTestApp.
- На странице приложения для разработчиков отобразите ключ потребителя (Consumer Key) и секретный ключ потребителя (Consumer Secret) и скопируйте их. Эти значения необходимы для получения токена доступа на следующем шаге.
2. Получите токен доступа.
Существует два способа получить токен доступа. Мы покажем вам оба метода.
Получение токена доступа с помощью интерфейса командной строки
Первый метод удобен и соответствует схеме, которую мы использовали на протяжении всего руководства. Второй метод, как правило, более полезен для разработчиков клиентских приложений, которым необходимо запрашивать токены. Фактическая конечная точка для получения токенов реализована в прокси-сервере 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— это среда в вашей организации (например, тестовая или производственная). -
consumer_id— это идентификатор потребителя в созданном вами ранее приложении для разработчиков. -
consumer_secret— это секретный ключ потребителя в созданном вами ранее приложении для разработчиков.
Пример
edgemicro token get -o docs -e test -i G0IAeU864EtBo99NvUbn6Z4CBwVcS2 -s uzHTbwNWvoSmOy
Результат (пример)
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' } -
(Необязательно) Использование API для получения токена
Если вы привыкли обращаться к прокси-серверам Edge с помощью curl или другого HTTP-клиента, вам будет интересно узнать, что вы можете напрямую обращаться к конечной точке получения токена, а не использовать команду edgemicro token . Вот пример использования curl. Просто замените имена вашей организации и среды в URL-адресе и передайте значения Consumer Key:Consumer Secret, разделенные двоеточием, в заголовке Basic Authentication:
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— это среда в вашей организации (например, тестовая или производственная). -
client_id— это идентификатор потребителя в созданном вами ранее приложении для разработчиков. -
client_secret— это секретный ключ потребителя в созданном вами ранее приложении для разработчиков.
Результат (пример)
Независимо от того, использовали ли вы команду CLI edgemicro token или обращались к конечной точке с помощью curl, команда возвращает подписанный токен доступа, который можно использовать для выполнения клиентских вызовов. Примерно так:
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.
- Откройте файл
$HOME/.edgemicro/org-env-config.yaml. Если вы не можете найти этот файл, см. раздел «Где установлен Edge Microgateway» . - Убедитесь, что для этих свойств плагина OAuth установлено значение false . По умолчанию они имеют значение 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.PL30Y6uK1W1f2ONPEsBDB_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 перейдите к созданному ранее приложению для разработчиков. Название приложения — EdgeMicroTestApp.
- На странице приложения для разработчиков отобразите ключ потребителя и скопируйте его. Это значение является ключом API. Вы будете использовать этот ключ для выполнения аутентифицированных вызовов API.
2. Проверьте конфигурацию в Edge Microgateway.
- Откройте файл
$HOME/.edgemicro/org-env-config.yaml.Если вы не можете найти этот файл, обратитесь к разделу «Где установлен Edge Microgateway» . - Убедитесь, что для этих свойств плагина OAuth установлено значение false . По умолчанию они имеют значение 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 701e70ee718ce6dc188016b3c30177d64a88754d615c74e1f78b6181d
-
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: XsU1R4zGXz2ERxd0ilYQ5szwuljr5bB'
Теперь у вас есть полностью функционирующий и безопасный Edge Microgateway. В следующей части руководства мы рассмотрим плагины, которые расширяют функциональность Edge Microgateway.
Часть 5: Добавление плагина Spike Arrest
В этой части мы добавим в ваш экземпляр Edge Microgateway функцию ограничения скорости, называемую остановкой пиковых нагрузок.
Что такое плагины?
Плагин — это модуль Node.js, который добавляет функциональность к Edge Microgateway. Модули-плагины следуют единому шаблону и хранятся в месте, известном Edge Microgateway, что позволяет микрошлюзу автоматически обнаруживать и загружать их. Подробнее о плагинах можно прочитать в разделе «Использование плагинов» .
Добавление плагина для подавления импульсных всплесков
Плагин защиты от скачков трафика предотвращает его резкое увеличение. Он ограничивает количество запросов, обрабатываемых экземпляром Edge Microgateway.
В Edge Microgateway функция подавления скачков напряжения реализована в виде плагина. Для её включения необходимо добавить её в конфигурационный файл Edge Microgateway.
- Откройте файл
$HOME/.edgemicro/org-env-config.yaml.Если вы не можете найти этот файл, укажите, где установлен 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: - oauth - spikearrest
- Сохраните файл конфигурации.
- Перезагрузите 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 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 можно найти на главной странице «Панели мониторинга аналитики» в документации Edge. Чтобы узнать больше о плагинах, см. раздел «Использование плагинов».