Локальная установка Edge Private Cloud или экземпляр Edge состоит из нескольких компонентов Edge, установленных на наборе серверных узлов. На изображении ниже показана взаимосвязь между планетой, регионами, капсулами, организациями, средами и виртуальными хостами, которые составляют экземпляр Edge:

В таблице ниже описаны эти отношения.
| Компонент | Содержит | Связано с | По умолчанию |
|---|---|---|---|
| Планета | Один или несколько регионов | – | |
| Регион | один или несколько контейнеров; | "dc-1" | |
| Пакет | Один или несколько компонентов Edge | "central" "gateway" "analytics" |
|
| Организация | Одна или несколько сред | Один или несколько контейнеров с процессорами сообщений и пользователь, выступающий в роли администратора организации. | Нет |
| Среда | Один или несколько виртуальных хостов. | Один или несколько процессоров сообщений в контейнере, связанном с родительской организацией. | Нет |
| Виртуальный хост | Один или несколько псевдонимов хоста. | Нет |
Планеты
Планета представляет собой всю аппаратную и программную среду Edge и может содержать один или несколько регионов. В Edge планета – это логическая группа регионов. При установке Edge планета не создается и не настраивается.
О регионах
Регион – это группа из одного или нескольких контейнеров. По умолчанию при установке Edge установщик создает один регион с названием dc-1, содержащий три модуля, как показано в таблице ниже.
| Регион | Поды в регионе |
|---|---|
| "dc-1" | "gateway", "central", "analytics" |
На изображении ниже показаны регионы по умолчанию.

На этом изображении показано, как балансировщик нагрузки направляет трафик в модуль gateway. В контейнере gateway находятся компоненты Edge Router и Message Processor, которые обрабатывают запросы API. Если вы не определите несколько центров обработки данных, вам не нужно будет создавать дополнительные регионы.
В более сложных случаях можно создать два или более региона. Одна из причин создать несколько регионов – организовать машины по географическому принципу, чтобы сократить время передачи данных по сети. В этом случае вы размещаете конечные точки API так, чтобы они были географически близки к потребителям этих API.
В Edge каждый регион называется центром обработки данных. Центр обработки данных на востоке США может обрабатывать запросы, поступающие из Бостона (Массачусетс), а центр обработки данных в Сингапуре – запросы, поступающие с устройств или компьютеров в Азии.
Например, на изображении ниже показаны два региона, соответствующие двум центрам обработки данных:

О пакетах
Кластер – это группа из одного или нескольких компонентов Edge и хранилищ данных Cassandra. Компоненты Edge можно установить на одном узле, но чаще их устанавливают на разных узлах. Хранилище данных Cassandra – это репозиторий данных, используемый компонентами Edge в контейнере.
По умолчанию при установке Edge программа установки создает три модуля и связывает с каждым из них следующие компоненты Edge и хранилища данных Cassandra:
| Пакет | Компоненты Edge | Хранилища данных Cassandra |
|
|---|---|---|---|
| "gateway" | Маршрутизатор, процессор сообщений | cache-datastore counter-datastore dc-datastore |
keyvaluemap-datastore kms-datastore |
| "central" | Сервер управления, Zookeeper, LDAP, интерфейс, Qpid | application-datastore apimodel-datastore audit-datastore auth-datastore |
identityzone-datastore edgenotification-datastore management-server scheduler-datastore user-settings-datastore |
| "analytics" | Postgres | analytics-datastore | reportcrud-datastore |
Компоненты Edge и хранилища данных Cassandra в контейнере gateway необходимы для обработки API. Эти компоненты и хранилища данных должны быть запущены и работать, чтобы обрабатывать запросы API. Компоненты и хранилища данных в контейнерах central и analytics не требуются для обработки API, но добавляют в Edge дополнительные функции.
На изображении ниже показаны компоненты в каждом контейнере:

Вы можете добавить дополнительные модули Message Processor и Router к трем, которые создаются по умолчанию. Также можно добавить дополнительные компоненты Edge в существующий контейнер. Например, вы можете добавить дополнительные маршрутизаторы и процессоры сообщений в модуль gateway, чтобы справиться с возросшей нагрузкой трафика.
Обратите внимание, что в контейнере gateway содержатся компоненты Edge Router и Message Processor. Маршрутизаторы отправляют запросы только процессорам сообщений в том же контейнере, а не процессорам сообщений в других контейнерах.
Чтобы посмотреть сведения о регистрации сервера в конце установки для каждого модуля, можно использовать следующий вызов API: Это полезный инструмент мониторинга.
curl -u adminEmail:pword http://ms_IP:8080/v1/servers?pod=podName
где ms_IP – IP-адрес или DNS-имя сервера управления, а podName – одно из следующих значений:
gatewaycentralanalytics
Например, для пода gateway:
curl -u adminEmail:pword http://ms_IP:8080/v1/servers?pod=gateway
Apigee возвращает выходные данные, похожие на следующие:
[ { "externalHostName" : "localhost", "externalIP" : "192.168.1.11", "internalHostName" : "localhost", "internalIP" : "192.168.1.11", "isUp" : true, "pod" : "gateway", "reachable" : true, "region" : "dc-1", "tags" : { "property" : [ { "name" : "jmx.rmi.port", "value" : "1101" }, ... ] }, "type" : [ "message-processor" ], "uUID" : "276bc250-7dd0-46a5-a583-fd11eba786f8" }, { "internalIP" : "192.168.1.11", "isUp" : true, "pod" : "gateway", "reachable" : true, "region" : "dc-1", "tags" : { "property" : [ ] }, "type" : [ "dc-datastore", "management-server", "cache-datastore", "keyvaluemap-datastore", "counter-datastore", "kms-datastore" ], "uUID" : "13cee956-d3a7-4577-8f0f-1694564179e4" }, { "externalHostName" : "localhost", "externalIP" : "192.168.1.11", "internalHostName" : "localhost", "internalIP" : "192.168.1.11", "isUp" : true, "pod" : "gateway", "reachable" : true, "region" : "dc-1", "tags" : { "property" : [ { "name" : "jmx.rmi.port", "value" : "1100" }, ... ] }, "type" : [ "router" ], "uUID" : "de8a0200-e405-43a3-a5f9-eabafdd990e2" } ]
Атрибут type содержит тип компонента. Обратите внимание, что в нем перечислены хранилища данных Cassandra, зарегистрированные в контейнере. Хотя узлы Cassandra установлены в контейнере gateway, вы увидите хранилища данных Cassandra, зарегистрированные во всех контейнерах.
Организации
Организация – это контейнер для всех объектов в аккаунте Apigee, включая API, продукты API, приложения и разработчиков. Организация связана с одним или несколькими сегментами, в каждом из которых должен быть хотя бы один обработчик сообщений.
В локальной установке Edge Private Cloud по умолчанию нет организаций. При создании организации необходимо указать два типа информации:
- Пользователь, выполняющий функции администратора организации. Затем этот пользователь может добавить в организацию других пользователей и назначить им роли.
- Контейнер gateway, в котором находятся процессоры сообщений.
Организация может содержать одну или несколько сред. При установке Edge по умолчанию вам будет предложено создать две среды: test и prod. Однако при необходимости вы можете создать дополнительные среды, например "Промежуточная", "Эксперименты" и т. д.
Организация определяет область действия некоторых функций Apigee. Например, данные из карты "ключ-значение" (KVM) доступны на уровне организации, то есть во всех средах. Другие возможности, например кеширование, ограничены определенной средой. Данные аналитики Apigee разделяются по сочетанию организации и среды.
Ниже перечислены основные объекты организации, в том числе определенные на глобальном уровне и на уровне среды:

О средах
Среда – это контекст выполнения API-прокси в организации. Чтобы получить доступ к прокси-серверу API, его необходимо развернуть в среде. Прокси API можно развернуть в одной или нескольких средах.
Организация может содержать несколько сред. Например, в организации можно определить среды "dev", "test" и "prod".
При создании среды вы связываете ее с одним или несколькими процессорами сообщений. Среда – это набор процессоров сообщений, на которых выполняются прокси API. Каждая среда может быть связана с одними и теми же или разными процессорами сообщений.
Чтобы создать среду, укажите два параметра:
- Организация, содержащая среду.
- Message Processor, которые обрабатывают запросы прокси-сервера API к среде. Эти процессоры сообщений должны находиться в контейнере, связанном с родительской организацией среды.
По умолчанию при создании среды Edge связывает с ней все доступные процессоры сообщений в контейнере gateway. Вы также можете указать подмножество доступных процессоров сообщений, чтобы разные процессоры обрабатывали запросы к разным средам.
Message Processor можно связать с несколькими средами. Например, в вашей установке Edge есть два процессора сообщений: A и B. Затем вы создаете в организации три среды: dev, test и prod:
- Для среды разработки вы связываете Message Processor А, поскольку не ожидаете большого объема трафика.
- Для тестовой среды вы связываете Message Processor Б, поскольку не ожидаете большого объема трафика.
- Для рабочей среды вы связываете оба процессора сообщений (А и Б), чтобы обрабатывать объем данных на уровне производства.
Процессоры сообщений, назначенные среде, могут быть из одного или нескольких сегментов, охватывающих несколько регионов и центров обработки данных. Например, вы определяете среду "global" в своей организации, которая включает процессоры сообщений из трех регионов, то есть трех разных центров обработки данных: США, Японии и Германии.
При развертывании прокси-сервера API в среде global он будет выполняться на Message Processor во всех трех центрах обработки данных. Трафик API, поступающий на маршрутизатор в любом из этих центров обработки данных, будет направляться только процессорам сообщений в этом центре обработки данных, поскольку маршрутизаторы направляют трафик только процессорам сообщений в том же сегменте.
О виртуальных хостах
Виртуальный хост определяет порт на маршрутизаторе Edge, на котором представлен прокси-сервер API, и, как следствие, URL, который приложения используют для доступа к прокси-серверу API. Для каждой среды необходимо определить хотя бы одного виртуального хоста.
Убедитесь, что номер порта, указанный виртуальным хостом, открыт на узле маршрутизатора. После этого вы сможете получить доступ к прокси-серверу API, отправив запрос по следующим URL:
http://routerIP:port/proxy-base-path/resource-name https://routerIP:port/proxy-base-path/resource-name
Где:
httpилиhttps: если виртуальный хост настроен на поддержку TLS/SSL, используйте HTTPS. Если виртуальный хост не поддерживает TLS/SSL, используйте HTTP.- routerIP:port – IP-адрес и номер порта виртуального хоста.
- proxy-base-path и resource-name определяются при создании прокси-сервера API.
Как правило, вы не публикуете свои API для клиентов с IP-адресом и номером порта. Вместо этого вы определяете запись DNS для маршрутизатора и порта. Пример:
http://myAPI.myCo.com/proxy-base-path/resource-name https://myAPI.myCo.com/proxy-base-path/resource-name
Кроме того, необходимо создать псевдоним хоста для виртуального хоста, который соответствует доменному имени записи DNS. В приведенном выше примере вы бы указали псевдоним хоста myAPI.myCo.com. Если у вас нет записи DNS, задайте псевдоним хоста в виде IP-адреса маршрутизатора и порта виртуального хоста, как показано в примере routerIP:port.
Подробнее о виртуальных хостах…
Как создать первую организацию, среду и виртуальный хост
После завершения установки Edge обычно выполняется процесс инициализации, в ходе которого создаются организация, среда и виртуальный хост. Чтобы выполнить регистрацию, выполните следующую команду на узле сервера управления Edge:
/opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile
Эта команда принимает в качестве входных данных файл конфигурации, в котором определены пользователь, организация, среда и виртуальный хост.
Например, вы создаете:
- Пользователь, которого вы выберете в качестве администратора организации.
- Организация
example - Среда в организации с названием
prod, связанная со всеми процессорами сообщений в модуле gateway. - Виртуальный хост в среде с именем
default, который разрешает доступ по протоколу HTTP через порт 9001. - Псевдоним хоста для виртуального хоста
После выполнения скрипта вы сможете получить доступ к API, используя URL в следующем формате:
http://routerIP:9001/proxy-base-path/resource-name
Позже вы сможете добавить любое количество организаций, сред и виртуальных хостов.
Подробнее о том, как зарегистрировать организацию…