Установка и настройка Edge Microgateway

Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee
X.info

Edge Microgateway v. 3.3.x

Обзор

После выполнения шагов, описанных в этом руководстве по настройке, у вас будет полностью настроенная и работающая система Edge Microgateway, способная обрабатывать запросы к API. Вы протестируете настройку, выполняя безопасные вызовы API через Edge Microgateway к целевому бэкэнду. Вы также узнаете, как добавить плагин защиты от скачков нагрузки в Microgateway.

Данное руководство разделено на следующие части:

Предварительное условие: установка Edge Microgateway.

Следуйте инструкциям в разделе «Установка Edge Microgateway» . После завершения установки вы будете готовы выполнить шаги, описанные в этом руководстве.

Часть 1: Настройка микрошлюза Edge

В этой части вы будете использовать команду интерфейса командной строки (CLI) для настройки Edge Microgateway для связи с Apigee Edge .

Этапы настройки Apigee Edge Cloud

Для использования Edge Microgateway с Apigee Edge Cloud выполните следующие шаги:

  1. Инициализируйте Edge Microgateway (этот шаг нужно выполнить только один раз):
    edgemicro init
  2. В вашей домашней директории в подкаталоге .edgemicro был создан конфигурационный файл default.yaml . Проверьте, существует ли этот файл:
    ls ~/.edgemicro
    default.yaml

    Примечание: В документации Edge Microgateway домашний каталог обозначается тильдой ( ~ ), которая является сокращением UNIX. Если вы используете Windows и оболочку, не поддерживающую тильду, вам потребуется заменить тильду соответствующей переменной среды в командах, ссылающихся на домашний каталог. Например: %USERPROFILE%/.edgemicro .

  3. Все команды CLI имеют функцию справки. Вывести справку по команде edgemicro configure :
    edgemicro configure -h
  4. Для настройки 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.1.0
password:
file doesn't exist, setting up
Give me a minute or two... this can take a while...
App edgemicro-auth deployed.
checking org for existing KVM
error checking for cert. Installing new cert.
creating KVM
adding private_key
adding public_key
configuring host edgemicroservices-us-east-1.apigee.net for region us-east-1

saving configuration information to: $HOME/.edgemicro/docs-test-config.yaml

vault info:
 -----BEGIN CERTIFICATE-----
MIICpDCCAYwCCQCQ2mJZJGbPPTANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDEwls
b2NhbGhvc3QwHhcNMTcwOTA3MjA0ODA4WhcNMTcwOTA4MjA0ODA4WjAUMRIwEAYD
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDw
yzmqi5CelqqtTr6IaFe1ssrMXEDnNtkBh95U6F5zHLsNQhJcyNUAO9um6FLMSqSd
fTztXfWUZzDgmbb6sfbx/9cqpvQ8TIjxyIz8xGM9H4legRQmsCQoYGkLjpPE5ZOa
wZrI5IaVm8LY6vbopPFwxgKOQ9bphx6k9Na055DmNyZAOTMD+4I0m/RdsrnZnYih
3DaFj1tXHKZI1jfAt/QOif5Nmk4+JckYwF+9HBysWUbbvj/gnBjVYF2Isb7q7oFD
lPGhwFoIebMqHMWD8lG7+9RJDO9dDV6f1g1/9waIrq1D+MoVXos9VMstNrPp0cKF
Ue+lAkct8tylH+2MosF7AgMBAAEwDQYJKoZIhvcNAQELBQADggEBAJMRdcQh3ayy
csVVT4TYwxV7MKWRfhDRz6X+MM9frB+Z7sI4+ZoZbXKOoZI2hSjmbdLpkNR/m9eJ
+1Uk0JKmpSY7Q+1rRrvcHsWNysGf4z+zDJXYECTrtSnXKBXtb9SJ8JAfoZOQD0lA
zmKuJjQMLTdiYMHOBR6ZWnaKaRvrQwGHcQrheJm4a90XgZF6jcRR8CPrBzkmsbCp
IU/Ux3E17wDGYPxjJs5otyQG8rN/88RGyaSeXK8rjKr9D4KFGJeasXBKmTG2afAr
yfBvS4h6s42FCOR/eLpmMllVoO9up71Fa3EtV+aK+FNNY9uMbgUHeLQE7z9nn06q
PTmvExZLkLQ=
-----END CERTIFICATE-----

The following credentials are required to start edge micro
  key: 27ee39567c75e4567a66236cbd4e86d1cc93df6481454301bd5fac4d3497fcbb
  secret: 4618b0008a6185d7327ebf53bee3c50282ccf45a3cceb1ed9828bfbcf1148b47
    

Этапы настройки частного облака Apigee

Для использования Edge Microgateway с Apigee Private Cloud выполните следующие шаги:

  1. Инициализируйте Edge Microgateway (этот шаг нужно выполнить только один раз):
    edgemicro init
  2. Вывести справочную информацию для команды edgemicro private configure . Таким образом можно вывести справку для любой команды или параметра командной строки Edge Microgateway.
    edgemicro private configure -h
  3. Выполните следующую команду. Для её выполнения потребуется стандартная информация о вашей учетной записи 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.

  1. Войдите в свою организацию на Apigee Edge.
  2. В боковом навигационном меню выберите «Разработка» > «API-прокси» .
  3. Нажмите + Прокси . Запустится мастер создания прокси.
  4. На первой странице мастера выберите «Обратный прокси (наиболее распространенный вариант)» .
  5. Нажмите «Далее» .
  6. На странице «Подробности» мастера настройте параметры следующим образом. Обязательно заполните все поля мастера точно так, как показано:
    • Имя прокси: edgemicro_hello
    • Базовый путь прокси: /hello
    • Существующий API: http://mocktarget.apigee.net/
  7. Нажмите «Далее» .
  8. На странице «Безопасность» мастера выберите «Сквозная передача (нет)» .
  9. Нажмите «Далее» .
  10. На странице «Виртуальные хосты» мастера установки примите значения по умолчанию.
  11. Нажмите «Далее» .
  12. На странице «Сборка» мастера проверьте настройки прокси-сервера. Убедитесь, что выбрана тестовая среда.
  13. Нажмите «Сборка и развертывание» .

2. Создайте API-продукт.

  1. В боковом навигационном меню выберите «Публикация» > «Продукты API» .
  2. Click + API Product .
  3. Введите данные о товаре, указанные в следующей таблице:
    Поле Описание
    Имя EdgeMicroTestProduct
    Отображаемое имя Тестовый продукт Edge Microgateway
    Среда тест
    Доступ Общественный
    Тип утверждения ключа Автоматический
  4. В разделе ресурсов API добавьте только что созданный прокси-сервер API и прокси-сервер edgemicro-auth :
    • edgemicro_hello
    • edgemicro-auth
  5. Нажмите « Сохранить ».

3. Создайте разработчика.

В рамках этого руководства вы можете использовать любого существующего разработчика для следующего шага — создания приложения для разработчиков. Но если хотите, создайте тестовое приложение для разработчиков прямо сейчас:

  1. В боковом навигационном меню выберите «Опубликовать» > «Разработчики» .
  2. Click + Developer .
  3. Заполните диалоговое окно, чтобы создать разработчика тестов.

4. Создайте приложение для разработчиков.

Для выполнения безопасных вызовов API через Edge Microgateway вы будете использовать учетные данные клиента из этого приложения:

  1. В боковом навигационном меню выберите «Публикация» > «Приложения» .
  2. Нажмите кнопку «+ Приложение» . Откроется страница с подробной информацией о приложении для разработчика.
  3. Заполните страницу приложения для разработчиков следующим образом:
    1. Название: EdgeMicroTestApp
    2. Отображаемое имя: EdgeMicroTestApp
    3. Разработчик: Если вы создали разработчика для тестирования, выберите его. Или же вы можете использовать любого существующего разработчика для целей этого руководства.
    4. Реквизиты для входа:
      1. Выберите срок действия: Никогда .
      2. Нажмите кнопку + Продукт и выберите EdgeMicroTestProduct (продукт, который вы только что создали).
  4. Нажмите « Сохранить ».
  5. Вы снова на странице списка приложений.
  6. Выберите только что созданное вами приложение EdgeMicroTestApp .
  7. Нажмите кнопку «Показать» рядом с полями «Ключ потребителя» и «Секрет потребителя» .

Часть 3: Эксплуатация периферийного микрошлюза

Теперь, когда у вас настроен Edge Microgateway и как минимум один прокси-сервер, поддерживающий Edge Microgateway, на Edge, пришло время запустить Edge Microgateway. HTTP-сервер Edge Microgateway будет работать на вашем локальном компьютере, и вы будете отправлять API-запросы непосредственно к этому серверу.

1. Start Edge Microgateway

Для запуска Edge Microgateway используйте команду edgemicro start .

  1. Убедитесь, что у вас есть ключи, которые были возвращены ранее при выполнении команды edgemicro configure . Результат выглядел примерно так:
    You need key and secret while starting edgemicro instance
    
    key: da4778e7c240a5d4585fc559eaba5083328828bc9f3a7f583e8b73e
    secret: 3aad7439708b4aeb38ee08e82189921ad00e6fc1ba8a8ae9f929ee2
  2. (Необязательно) Вывести справочную информацию по команде edgemicro start .
    edgemicro start -h
  3. Для запуска 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.1.0
    info: jwk_public_keys download from null returned 200 undefined
    info: jwt_public_key download from https://docs-test.apigee.net/edgemicro-auth/publicKey returned 200 OK
    info: products download from https://docs-test.apigee.net/edgemicro-auth/products returned 200 OK
    info: config download from https://edgemicroservices-us-east-1.apigee.net/edgemicro/bootstrap/organization/docs/environment/test returned 200 OK
    PROCESS PID : 17991
  4. Проверьте состояние микрошлюза. В другом окне терминала перейдите в ту же директорию, где вы запустили Edge Micro , и введите следующую команду:
    edgemicro status
    current nodejs version is v12.5.0
    current edgemicro version is 3.1.0
    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

  1. В отдельном окне терминала cd в ту же директорию , где вы запустили Edge Microgateway.
  2. Введите команду остановки:
    edgemicro stop

Часть 4: Защищенный микрошлюз на границе сети

Для защиты API-запросов, выполняемых через Edge Microgateway, можно использовать API-ключ или токен доступа.

Безопасные вызовы API с использованием токена доступа OAuth2

Выполните следующие шаги, если хотите аутентифицировать вызовы API с помощью токена доступа OAuth2:

1. Получите необходимые ключи.

  1. В пользовательском интерфейсе Edge перейдите к созданному ранее приложению для разработчиков. Название приложения — EdgeMicroTestApp.
  2. На странице приложения для разработчиков отобразите ключ потребителя (Consumer Key) и секретный ключ потребителя (Consumer Secret) и скопируйте их. Эти значения необходимы для получения токена доступа на следующем шаге.

2. Получите токен доступа.

Существует два способа получить токен доступа. Мы покажем вам оба метода.

Получение токена доступа с помощью интерфейса командной строки

Первый метод удобен и соответствует схеме, которую мы использовали на протяжении всего руководства. Второй метод, как правило, более полезен для разработчиков клиентских приложений, которым необходимо запрашивать токены. Фактическая конечная точка для получения токенов реализована в прокси-сервере edgemicro-auth , который был развернут при настройке Edge Microgateway.

  1. (Необязательно) Просмотрите справку по команде получения токена :
    edgemicro token get -h
  2. Сгенерируйте токен, заменив значения вашего ключа потребителя (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.

  1. Откройте файл $HOME/.edgemicro/org-env-config.yaml . Если вы не можете найти этот файл, см. раздел «Где установлен Edge Microgateway» .
  2. Убедитесь, что для этих свойств плагина OAuth установлено значение false . По умолчанию они имеют значение false, но лучше перепроверить:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
  3. Также в файле org-env-config.yaml убедитесь, что плагин oauth добавлен в элемент plugins:sequence следующим образом:
    plugins:
       dir: ../plugins
       sequence:
       - oauth
  4. Если вы внесете какие-либо изменения в файл, загрузите эти изменения в работающий экземпляр 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.

  1. В пользовательском интерфейсе Edge перейдите к созданному ранее приложению для разработчиков. Название приложения — EdgeMicroTestApp.
  2. На странице приложения для разработчиков отобразите ключ потребителя и скопируйте его. Это значение является ключом API. Вы будете использовать этот ключ для выполнения аутентифицированных вызовов API.

2. Проверьте конфигурацию в Edge Microgateway.

  1. Откройте файл $HOME/.edgemicro/org-env-config.yaml. Если вы не можете найти этот файл, обратитесь к разделу «Где установлен Edge Microgateway» .
  2. Убедитесь, что для этих свойств плагина OAuth установлено значение false . По умолчанию они имеют значение false, но при желании вы можете это проверить:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
  3. Также в файле org-env-config.yaml убедитесь, что плагин oauth добавлен в элемент plugins:sequence следующим образом:
    plugins:
       dir: ../plugins
       sequence:
       - oauth
        
  4. Если вы внесете какие-либо изменения в файл, загрузите эти изменения в работающий экземпляр 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.

  1. Откройте файл $HOME/.edgemicro/org-env-config.yaml. Если вы не можете найти этот файл, укажите, где установлен Edge Microgateway .
  2. Добавьте следующий элемент. Вы можете добавить его в любое место файла.
       spikearrest:
          timeUnit: minute   
          allow: 10   
          buffersize: 0   
  3. Добавьте 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
  4. Сохраните файл конфигурации.
  5. Перезагрузите 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
  6. Попробуйте несколько раз подряд вызвать 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. Давайте посмотрим:

  1. Войдите в свою организацию на Apigee Edge.
  2. Выберите «Аналитика» > «Производительность прокси-сервера» .
  3. На панели мониторинга «Производительность прокси» выберите прокси edgemicro_hello .
  4. График отображает информацию о характере трафика прокси-сервера, такую ​​как общий трафик, среднее время ответа, среднее целевое время ответа и многое другое.

Более подробную информацию о панелях мониторинга Edge Analytics можно найти на главной странице «Панели мониторинга аналитики» в документации Edge. Чтобы узнать больше о плагинах, см. раздел «Использование плагинов».