Edge for Private Cloud v4.18.05
Un'installazione on-premise di Edge Private Cloud o un'istanza Edge è composta da più componenti Edge installati su un insieme di nodi di server. L'immagine seguente mostra la relazione tra pianeta, regioni, pod, organizzazioni, ambienti e host virtuali che costituiscono un'istanza Edge:
La seguente tabella descrive queste relazioni:
Componente | Contiene | Associate a | Predefinito |
---|---|---|---|
Pianeta | Una o più regioni | n/a | |
Regione | Uno o più pod | "dc-1" | |
Pod | Uno o più componenti Edge | "central" "gateway" "analytics" |
|
Organizzazione | Uno o più ambienti | Uno o più pod contenenti elaboratori di messaggi e un utente che agisce come amministratore dell'organizzazione | nessuno |
Ambiente | Uno o più host virtuali | Uno o più elaboratori di messaggi in un pod associato all'organizzazione principale | nessuno |
Virtual Host | Uno o più alias host | nessuno |
Informazioni sui pianeti
Un pianeta rappresenta un intero ambiente hardware e software di Edge e può contenere una o più regioni. In Edge, un pianeta è un raggruppamento logico di regioni: non crei o configuri esplicitamente un pianeta durante l'installazione di Edge.
Informazioni sulle regioni
Una regione è un raggruppamento di uno o più pod. Per impostazione predefinita, quando installi Edge, il programma di installazione crea una singola regione denominata "dc-1" contenente tre pod, come illustrato nella tabella seguente:
Regione | Pod nella regione |
---|---|
"dc-1" | "gateway", "central", "analytics" |
L'immagine seguente mostra le regioni predefinite:
Questa immagine mostra il bilanciatore del carico che indirizza il traffico al pod "gateway". Il pod "gateway" contiene i componenti Edge Router e Message Processor che gestiscono le richieste API. A meno che non definisca più data center, non dovresti dover creare regioni aggiuntive.
In un'installazione più complessa, puoi creare due o più regioni. Uno dei motivi per creare più regioni è organizzare le macchine geograficamente, il che riduce al minimo il tempo di transito sulla rete. In questo scenario, ospiti gli endpoint API in modo che siano vicini geograficamente ai consumatori di queste API.
In Edge, ogni regione è indicata come data center. Un data center negli Stati Uniti ed est può gestire le richieste in arrivo da Boston, nel Massachusetts, mentre un data center a Singapore può gestire le richieste provenienti da dispositivi o computer in Asia.
Ad esempio, l'immagine seguente mostra due regioni, corrispondenti a due data center:
Informazioni sui pod
Un pod è un raggruppamento di uno o più componenti Edge e datastore Cassandra. I componenti di Edge possono essere installati sullo stesso nodo, ma in genere vengono installati su nodi diversi. Un archivio dati Cassandra è un repository di dati utilizzato dai componenti Edge nel pod.
Per impostazione predefinita, quando installi Edge, il programma di installazione crea tre pod e associa a ciascun pod i seguenti componenti Edge e datastore Cassandra:
Pod | Componenti Edge | Datastore Cassandra |
|
---|---|---|---|
"gateway" | Router, processore di messaggi | cache-datastore counter-datastore dc-datastore |
keyvaluemap-datastore kms-datastore |
"centrale" | Management Server, Zookeeper, LDAP, UI, 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 |
I componenti Edge e i datastore Cassandra nel pod "gateway" sono necessari per l'elaborazione dell'API. Questi componenti e datastore devono essere attivi per elaborare le richieste API. I componenti e i datastore nei pod "centrale" e "analytics" non sono necessari per l'elaborazione delle API, ma aggiungono funzionalità aggiuntive a Edge.
La seguente immagine mostra i componenti di ogni pod:
Puoi aggiungere altri pod di Message Processor e Router ai tre creati per impostazione predefinita. In alternativa, puoi aggiungere altri componenti Edge a un pod esistente. Ad esempio, puoi aggiungere altri router e processori di messaggi al pod "gateway" per gestire i carichi di traffico in aumento.
Tieni presente che il pod "gateway" contiene i componenti Edge Router e Message Processor. I router inviano richieste solo ai processori di messaggi nello stesso pod e non ai processori di messaggi in altri pod.
Puoi utilizzare la seguente chiamata API per visualizzare i dettagli della registrazione del server al termine dell'installazione per ogni pod. Si tratta di uno strumento di monitoraggio utile.
curl -u adminEmail:pword http://ms_IP:8080/v1/servers?pod=podName
dove ms_IP è l'indirizzo IP o il nome DNS del server di gestione e podName è uno dei seguenti:
gateway
central
analytics
Ad esempio, per il pod "gateway":
curl -u adminEmail:pword http://ms_IP:8080/v1/servers?pod=gateway
Apigee restituisce un output simile al seguente:
[ { "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" } ]
L'attributo type
elenca il tipo di componente. Tieni presente che vengono elencati i datastore Cassandra registrati nel pod. Poiché i nodi Cassandra sono installati nel pod "gateway", vedrai i datastore Cassandra registrati con tutti i pod.
Informazioni sulle organizzazioni
Un'organizzazione è un contenitore per tutti gli oggetti di un account Apigee, tra cui API, prodotti API, app e sviluppatori. Un'organizzazione è associata a uno o più pod, dove ogni pod deve contenere uno o più elaboratori di messaggi.
In un'installazione on-premise di Edge Private Cloud, non sono presenti organizzazioni per impostazione predefinita. Quando crei un'organizzazione, specifichi due informazioni:
- Un utente che funge da amministratore dell'organizzazione. L'utente potrà quindi aggiungere altri utenti all'organizzazione e impostare il ruolo di ciascuno.
- Il pod "gateway", che contiene i Message Processor.
Un'organizzazione può contenere uno o più ambienti. La procedura di installazione predefinita di Edge ti chiede di creare due ambienti: "test" e "prod". Tuttavia, puoi creare altri ambienti se necessario, ad esempio "preparazione", "esperimenti" e così via.
L'organizzazione fornisce l'ambito per alcune funzionalità di Apigee. Ad esempio, i dati delle mappe chiave-valore (KVM) sono disponibili a livello di organizzazione, ovvero in tutti gli ambienti. Altre funzionalità, come la memorizzazione nella cache, sono limitate a un ambiente specifico. I dati di Apigee Analytics vengono suddivisi in base a una combinazione di organizzazione e ambiente.
Di seguito sono riportati gli oggetti principali di un'organizzazione, inclusi quelli definiti a livello globale nell'organizzazione e quelli definiti specificamente per un ambiente:
Informazioni sugli ambienti
Un ambiente è un contesto di esecuzione in fase di runtime per i proxy API di un'organizzazione. Devi eseguire il deployment di un proxy API in un ambiente prima di potervi accedere. Puoi eseguire il deployment di un proxy API in un singolo ambiente o in più ambienti.
Un'organizzazione può contenere più ambienti. Ad esempio, in un'organizzazione potresti definire ambienti "dev", "test" e "prod".
Quando crei un ambiente, lo associ a uno o più processori di messaggi. Puoi considerare un ambiente come un insieme denominato di processori di messaggi su cui vengono eseguiti i proxy API. Ogni ambiente può essere associato agli stessi processori di messaggi o a processori diversi.
Per creare un ambiente, specifica due informazioni:
- L'organizzazione contenente l'ambiente.
- I processori di messaggi che gestiscono le richieste del proxy API all'ambiente. Questi elaboratori di messaggi devono trovarsi in un pod associato all'organizzazione principale dell'ambiente.
Per impostazione predefinita, quando crei un ambiente, Edge associa tutti i processori di messaggi disponibili nel pod "gateway" all'ambiente. In alternativa, puoi specificare un sottoinsieme di elaboratori di messaggi disponibili in modo che elaboratori diversi gestiscano le richieste per ambienti diversi.
Un elaboratore di messaggi può essere associato a più ambienti. Ad esempio, la tua installazione di Edge contiene due elaboratori di messaggi: A e B. Poi crei tre ambienti nella tua organizzazione: "dev", "test" e "prod":
- Per l'ambiente "dev", associ il Message Processor A perché non prevedi un volume elevato di traffico.
- Per l'ambiente "di test", associ il Message Processor B perché non prevedi un volume elevato di traffico.
- Per l'ambiente "prod", associa entrambi i processori di messaggi A e B per gestire il volume a livello di produzione.
Gli elaboratori di messaggi assegnati a un ambiente possono provenire tutti dallo stesso pod o da più pod, che coprono più regioni e data center. Ad esempio, nella tua organizzazione definisci l'ambiente "globale" che include gli elaboratori di messaggi di tre regioni, ovvero tre diversi data center: Stati Uniti, Giappone e Germania.
Il deployment di un proxy API nell'ambiente "globale" fa sì che il proxy API venga eseguito sui processori di messaggi in tutti e tre i data center. Il traffico API in arrivo a un router in uno di questi data center verrà indirizzato solo ai processori di messaggi in quel data center perché i router indirizzano il traffico solo ai processori di messaggi nello stesso pod.
Informazioni sugli host virtuali
Un host virtuale definisce la porta sull'Edge Router su cui è esposto un proxy API e, per estensione, l'URL utilizzato dalle app per accedere al proxy API. Ogni ambiente deve definire almeno un host virtuale.
Assicurati che il numero di porta specificato dall'host virtuale sia aperto sul nodo Router. Puoi quindi accedere a un proxy API inviando una richiesta ai seguenti URL:
http://routerIP:port/proxy-base-path/resource-name https://routerIP:port/proxy-base-path/resource-name
Dove:
http
ohttps
: se l'host virtuale è configurato per supportare TLS/SSL, utilizza HTTPS. Se l'host virtuale non supporta TLS/SSL, utilizza HTTP.- routerIP:port è l'indirizzo IP e il numero di porta dell'host virtuale.
- proxy-base-path e resource-name vengono definiti quando crei il proxy API.
In genere, non pubblichi le API per i clienti con un indirizzo IP e un numero di porta. Devi invece definire una voce DNS per il router e la porta. Ad esempio:
http://myAPI.myCo.com/proxy-base-path/resource-name https://myAPI.myCo.com/proxy-base-path/resource-name
Devi anche creare un alias host per l'host virtuale che corrisponda al nome di dominio della voce DNS. Nell'esempio precedente, dovresti specificare un alias host di myAPI.myCo.com. Se non hai una voce DNS, imposta l'alias host sull'indirizzo IP del router e sulla porta dell'host virtuale, come routerIP:port.
Per saperne di più, vedi Informazioni sugli host virtuali.
Creazione della prima organizzazione, dell'ambiente e dell'host virtuale
Dopo aver completato la procedura di installazione di Edge, la prima azione in genere consiste nel creare un'organizzazione, un ambiente e un host virtuale tramite la procedura di "onboarding". Per eseguire il onboarding, esegui il seguente comando sul nodo Edge Management Server:
/opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile
Questo comando prende come input un file di configurazione che definisce un utente, un'organizzazione, un ambiente e un host virtuale.
Ad esempio, puoi creare:
- Un utente di tua scelta che fungerà da amministratore dell'organizzazione
- Un'organizzazione denominata
example
- Un ambiente dell'organizzazione denominato
prod
associato a tutti i processori di messaggi nel pod "gateway" - Un host virtuale nell'ambiente denominato
default
che consente l'accesso HTTP sulla porta 9001 - Alias host per l'host virtuale
Dopo aver eseguito lo script, puoi accedere alle tue API utilizzando un URL nel seguente formato:
http://routerIP:9001/proxy-base-path/resource-name
In un secondo momento puoi aggiungere un numero qualsiasi di organizzazioni, ambienti e host virtuali.
Per ulteriori informazioni, consulta Eseguire l'onboarding di un'organizzazione.