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

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

Edge Microgateway v. 3.1.x

Обзор

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

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

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

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

Часть 1. Настройка Edge Microgateway

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

Шаги настройки Apigee Edge Cloud

Выполните следующие действия, чтобы использовать Edge Microgateway с Apigee Edge Cloud:

  1. Инициализируйте Edge Microgateway (этот шаг нужно сделать только один раз):
    edgemicro init
    
  2. Файл конфигурации с именем default.yaml был помещен в ваш домашний каталог в подкаталог с именем .edgemicro . Проверьте сейчас, существует ли этот файл:
    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:

  1. Инициализируйте Edge Microgateway (этот шаг нужно выполнить только один раз):
    edgemicro init
    
  2. Распечатайте справочную информацию для команды Edgemicro Private configure . Таким образом можно распечатать справку для любой команды или параметра команды Edge Microgateway CLI.
    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 — это среда в вашей организации (например, test или prod).
    • runtime_url — это URL-адрес среды выполнения вашего экземпляра частного облака.
    • mgmt_url — URL-адрес сервера управления вашего экземпляра частного облака.
    • username — это адрес электронной почты, связанный с вашей учетной записью Apigee.
    • virtual_host — это список имен виртуальных хостов, разделенных запятыми. Значения по умолчанию: default,secure

Пример

edgemicro private configure -o docs -e test -u jdoe@example.com -r http://192.162.52.106:9001 -m http://192.162.52.106:8080 -v default

или, если у вас есть псевдоним виртуального хоста myorg-test.mycompany.com , вы должны использовать такую ​​команду:

edgemicro private configure -o docs -e test -u jdoe@example.com -r myorg-test.mycompany.com -m http://192.162.52.106:8080 -v default

Выход

delete cache config
checking for previously deployed proxies
configuring edgemicro internal proxy
deploying edgemicro internal proxy
deploying  edgemicro-auth  app
copy auth app into tmp dir
copy config into tmp deer
Give me a minute or two... this can take a while...
App edgemicro-auth added to your org. Now adding resources.

checking org for existing 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 — это среда в вашей организации (например, test или prod).
  • 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 может обнаружить при запуске. Прокси-серверы с поддержкой Microgateway имеют соглашение об именах, которому вы должны следовать: имя должно быть с помощью edgemicro_ . Например, edgemicro_hello или edgemicro_userinfo . При запуске Edge Microgateway он получает от Edge список прокси-серверов с поддержкой микрошлюза из той же организации и среды Edge, которые вы указали при запуске Edge Microgateway.

    Для каждого прокси-сервера с поддержкой микрошлюза Edge Microgateway получает целевой URL-адрес прокси-сервера и его базовый путь. Прокси-серверы с поддержкой Microgateway также предоставляют удобный способ связать аналитические данные, созданные Edge Microgateway, с прокси-сервером на платформе Edge. Поскольку Microgateway обрабатывает вызовы API, он асинхронно передает аналитические данные в Edge. Данные аналитики будут отображаться в пользовательском интерфейсе Edge Analytics под именами прокси-серверов, поддерживающих микрошлюз, как и для любого другого прокси-сервера.
  • Продукт, разработчик и приложение разработчика . Edge Microgateway использует продукты, разработчиков и приложения разработчиков для обеспечения безопасности токена доступа OAuth2 или ключа API. Когда Edge Microgateway запускается, он загружает все конфигурации продукта из вашей организации Apigee Edge. Он использует эту информацию для проверки вызовов API, сделанных через Edge Microgateway с помощью ключей API или токенов доступа OAuth2.

1. Создайте прокси-сервер API с поддержкой Edge Microgateway в Edge.

  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. Создайте продукт

  1. Выберите «Опубликовать» > «Продукты API» в боковом меню навигации.
  2. Нажмите + Продукт API . Появится страница сведений о продукте.
  3. Заполните страницу сведений о продукте следующим образом:
    • Имя: EdgeMicroTestProduct
    • Отображаемое имя: EdgeMicroTestProduct
    • Среда: тестирование и разработка
    • Доступ: Публичный
    • Ключевой тип утверждения: Автоматический
  4. В разделе «Ресурсы» нажмите +API-прокси.
  5. Выберите EdgeMicro-Auth
  6. Нажмите +API-прокси еще раз.
  7. Выберите Edgemicro_hello.
  8. Выбрать + Пользовательский ресурс
  9. Входить /**
  10. Снова выберите + Пользовательский ресурс .
  11. Входить /
  12. Нажмите Сохранить .

3. (Необязательно) Создайте разработчика тестов.

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

  1. Выберите «Опубликовать» > «Разработчики» в боковом меню навигации.
  2. Нажмите + Разработчик .
  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 Microgateway в Edge, пришло время запустить Edge Microgateway. HTTP-сервер Edge Microgateway будет работать на вашем локальном компьютере, и вы будете выполнять вызовы API непосредственно к этому серверу.

1. Запустите Edge Microgateway.

Используйте команду запуска Edgemicro , чтобы запустить Edge Microgateway.

  1. Убедитесь, что у вас есть ключи, которые были возвращены ранее при выполнении команды настройки Edgemicro . Этот вывод выглядел примерно так:
    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 — это среда в вашей организации (например, test или prod).
    • 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
    

Что случилось?

Полезная информация о конфигурации Edge Microgateway загружается из Apigee Edge и кэшируется локально. Эта информация включает в себя:

  • Открытый ключ, который мы создали и сохранили ранее в зашифрованной карте значений ключей (KVM).
  • Представление всех прокси-серверов с поддержкой Edge Microgateway, существующих в организации/среде. Это все прокси, имена которых имеют префикс Edgemicro_ .
  • Представление всех продуктов API, существующих в организации/среде.

Благодаря этой информации Edge Microgateway знает, какие прокси-серверы и пути к прокси-серверам ему разрешено обрабатывать. Он использует информацию о продукте для обеспечения безопасности (точно так же, как любой прокси-сервер API в Apigee Edge, где ключи приложений разработчика связаны с продуктами). Вскоре мы рассмотрим шаги по обеспечению безопасности Edge Microgateway.

2. Тестирование периферийного микрошлюза

Когда Edge Microgateway запущен, вы можете вызвать прокси. Конфигурация прокси-сервера Edgemicro_hello была загружена из Edge при запуске Edge Microgateway. Помните, что базовый путь прокси — /hello .

Чтобы протестировать Edge Microgateway, мы начинаем с базового пути и добавляем путь к ресурсу /echo . Обратите внимание, что все, что следует за базовым путем (включая любые параметры запроса), просто передается в серверную цель:

curl -i http://localhost:8000/hello/echo
{"error":"missing_authorization","error_description":"Missing Authorization header"}

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

4. Остановить пограничный микрошлюз

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

Часть 4. Микрошлюз Secure Edge

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

Безопасные вызовы API с помощью токена доступа OAuth2.

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

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

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

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

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

Использование CLI для получения токена доступа

Первый метод удобен и соответствует шаблону, который мы использовали на протяжении всего урока. Второй метод обычно более полезен для разработчиков клиентских приложений, которым необходимо запрашивать токены. Фактическая конечная точка токена реализована в прокси-сервере 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 — это среда в вашей организации (например, test или prod).
    • 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 . Вот пример скручивания. Просто подставьте имена своей организации и среды в URL-адрес и передайте значения Consumer Key:Consumer Secret, разделенные двоеточиями, в заголовке базовой аутентификации:

curl -i -X POST "http://[org]-[env].apigee.net/edgemicro-auth/token" -d '{ "client_id": "your consumer key", "client_secret": "your consumer secret", "grant_type": "client_credentials" }' -H "Content-Type: application/json"

Где:

  • org — это название вашей организации Edge (вы должны быть администратором организации).
  • env — это среда в вашей организации (например, test или prod).
  • client_id — это идентификатор потребителя в созданном вами ранее приложении разработчика.
  • client_secret — это секрет потребителя в созданном вами ранее приложении разработчика.

Выход (образец)

Команда, независимо от того, использовали ли вы команду CLI EdgeMicro Token или вызвали конечную точку с помощью Curl, возвращает подписанный токен доступа, который можно использовать для выполнения клиентских вызовов. Что-то вроде этого:

MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls 
b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD 
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 
OAQ+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 . По умолчанию они ложны, но рекомендуется перепроверить:
    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 — это среда в вашей организации (например, test или prod).
    • key — это ключ, возвращенный ранее командой configure.
    • secret — это ключ, возвращенный ранее командой configure.

    Пример

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
    

4. Безопасно вызывайте API

Имея на руках токен доступа, вы теперь можете безопасно выполнить вызов API. Например:

  curl -i -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhcHBsaWNhdGlvbl
9uYW1lIjoiYmU2YmZjYjAtMWQ0Ni00Y2IxLWFiNGQtZTMxNzRlNTAyMDZkIiwiY2xpZW50X2lkIjoiOGxTTTVIRHdyM
VhIT1ZwbmhURExhYW9FVG5STVpwWk0iLCJzY29wZXMiOltdLCJhcGlfcHJvZHVjdF9saXN0IjpbIk1pY3JvZ2F0ZXdh
eVRlQcm9kdWN0Il0sImCI6MTQzNTM0NzY5MiwiZXhwIjoxNDM1MzQ5NDkxfQ.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. На странице приложения разработчика покажите Consumer Key и скопируйте его. Это значение является ключом API. Вы будете использовать этот ключ для выполнения аутентифицированных вызовов API.

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

  1. Откройте файл $HOME/.edgemicro/org-env-config.yaml. См. раздел «Где установлен Edge Microgateway», если вы не можете найти этот файл.
  2. Убедитесь, что для этих свойств плагина oauth установлено значение 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 — это среда в вашей организации (например, test или prod).
    • key — это ключ, возвращенный ранее командой configure.
    • secret — это ключ, возвращенный ранее командой configure.

    Пример

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c30177d64a88754d615c74e1f78b6181d
    

3. Безопасный вызов API с помощью ключа API.

Вызовите API с заголовком x-api-key следующим образом. Значение Consumer Key, которое вы скопировали из приложения разработчика, является ключом API. По умолчанию Edge Microgateway ожидает, что вы передадите ключ в заголовке с именем x-api-key , например:

curl -i http://localhost:8000/hello/echo -H "x-api-key: [apikey]"

Где:

  • apikey — это значение Consumer Key, взятое из EdgeMicroTestApp.

Например:


curl -i http://localhost:8000/hello/echo -H 'x-api-key: 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 , как показано ниже. Свойство конфигурации последовательности сообщает 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 с помощью команды перезагрузки . Эту команду необходимо запустить из каталога, в котором вы запустили Edge Microgateway.
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]
    

    Где:

    • org — это название вашей организации Edge (вы должны быть администратором организации).
    • env — это среда в вашей организации (например, test или prod).
    • key — это ключ, возвращенный ранее командой configure.
    • secret — это ключ, возвращенный ранее командой configure.

    Пример

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
    
  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 можно прочитать на домашней странице панелей мониторинга Analytics в документации Edge. Чтобы узнать больше о плагинах, см. Использование плагинов.