Informazioni su pianeti, regioni, pod, organizzazioni, ambienti e host virtuali

Edge for Private Cloud v4.18.05

Un'installazione on-premise di Edge Private Cloud o un'istanza Edge è costituita da più componenti Edge installati su un insieme di nodi server. La seguente immagine mostra la relazione tra pianeta, regioni, pod, organizzazioni, ambienti e host virtuali che compongono un'istanza Edge:

La tabella seguente descrive queste relazioni:

Componente Contiene Associate a Predefinito
Planet 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 processori di messaggi e un utente che agisce come amministratore dell'organizzazione nessuno
Ambiente Uno o più host virtuali Uno o più processori di messaggi in un pod associato all'organizzazione principale nessuno
Host virtuale Uno o più alias host nessuno

Informazioni sui pianeti

Un pianeta rappresenta un intero ambiente hardware e software Edge e può contenere una o più regioni. In Edge, un pianeta è un gruppo logico di regioni: non crei o configuri esplicitamente un pianeta nell'ambito dell'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 mostrato 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 processore di messaggi che gestiscono le richieste API. A meno che non definisci più data center, non dovresti creare regioni aggiuntive.

In un'installazione più complessa, puoi creare due o più regioni. Un motivo per creare più regioni è organizzare le macchine geograficamente, riducendo al minimo il tempo di transito della rete. In questo scenario, ospiti gli endpoint API in modo che siano geograficamente vicini ai consumer di queste API.

In Edge, ogni regione è denominata data center. Un data center negli Stati Uniti orientali può quindi gestire le richieste provenienti da Boston, 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 Edge possono essere installati sullo stesso nodo, ma più comunemente vengono installati su nodi diversi. Un datastore 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 i seguenti componenti Edge e datastore Cassandra a ciascun pod:

Pod Componenti Edge

Datastore Cassandra

"gateway" Router, processore di messaggi cache-datastore
counter-datastore
dc-datastore
keyvaluemap-datastore
kms-datastore
"central" Server di gestione, 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 delle API. Questi componenti e datastore devono essere attivi e funzionanti per elaborare le richieste API. I componenti e i datastore nei pod "central" e "analytics" non sono necessari per elaborare le API, ma aggiungono funzionalità aggiuntive a Edge.

La seguente immagine mostra i componenti di ogni pod:

Puoi aggiungere altri pod processore di messaggi 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 carichi di traffico maggiori.

Nota che il pod "gateway" contiene i componenti Edge Router e processore di messaggi. 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 di registrazione del server al termine dell'installazione per ogni pod. Si tratta di un utile strumento di monitoraggio.

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 elenca i datastore Cassandra registrati nel pod. Sebbene i nodi Cassandra siano installati nel pod "gateway", vedrai i datastore Cassandra registrati con tutti i pod.

Informazioni sulle organizzazioni

Un'organizzazione è un container per tutti gli oggetti di un account Apigee, tra cui API, prodotti API, app e sviluppatori. Un'organizzazione è associata a uno o più pod, ognuno dei quali deve contenere uno o più processori di messaggi.

In un'installazione on-premise di Edge Private Cloud, per impostazione predefinita non sono presenti organizzazioni. Quando crei un'organizzazione, specifichi due informazioni:

  1. Un utente che funge da amministratore dell'organizzazione. Questo utente può quindi aggiungere altri utenti all'organizzazione e impostare il ruolo di ciascun utente.
  2. Il pod "gateway", ovvero il pod contenente i processori di messaggi.

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 in base alle necessità, ad esempio "staging", "esperimenti" e così via.

L'organizzazione fornisce l'ambito per alcune funzionalità di Apigee. Ad esempio, i dati della mappa chiave-valore (KVM) sono disponibili a livello di organizzazione, ovvero in tutti gli ambienti. Altre funzionalità, come la memorizzazione nella cache, hanno come ambito un ambiente specifico. I dati di analisi di Apigee sono partizionati 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 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, puoi definire un ambiente "dev", "test" e "prod" in un'organizzazione.

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:

  1. L'organizzazione che contiene l'ambiente.
  2. I processori di messaggi che gestiscono le richieste del proxy API all'ambiente. Questi processori di messaggi devono trovarsi in un pod associato all'organizzazione principale dell'ambiente.
    Per impostazione predefinita, quando crei un ambiente, Edge associa all'ambiente tutti i processori di messaggi disponibili nel pod "gateway". In alternativa, puoi specificare un sottoinsieme dei processori di messaggi disponibili in modo che processori di messaggi diversi gestiscano le richieste in ambienti diversi.

Un processore di messaggi può essere associato a più ambienti. Ad esempio, l'installazione di Edge contiene due processori di messaggi: A e B. Quindi crei tre ambienti nella tua organizzazione: "dev", "test" e "prod":

  • Per l'ambiente "dev", associ il processore di messaggi A perché non prevedi un volume di traffico elevato.
  • Per l'ambiente "test", associ il processore di messaggi B perché non prevedi un volume di traffico elevato.
  • Per l'ambiente "prod", associ i processori di messaggi A e B per gestire il volume a livello di produzione.

I processori di messaggi assegnati a un ambiente possono provenire tutti dallo stesso pod o da più pod, che si estendono su più regioni e data center. Ad esempio, definisci l'ambiente "globale" nella tua organizzazione che include processori di messaggi di tre regioni, ovvero tre diversi data center: Stati Uniti, Giappone e Germania.

Il deployment di un proxy API nell'ambiente "global" fa sì che il proxy API venga eseguito sui processori di messaggi in tutti e tre i data center. Il traffico API che arriva a un router in uno di questi data center viene 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 sul router Edge 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 del 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 o https: 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 tue 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, specificheresti 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, ad esempio routerIP:port.

Per saperne di più, consulta Informazioni sugli host virtuali.

Creazione della prima organizzazione, del primo ambiente e del primo host virtuale

Al termine del processo di installazione di Edge, la prima azione consiste in genere nella creazione di un'organizzazione, di un ambiente e di un host virtuale tramite il processo di "onboarding". Per eseguire l'onboarding, esegui questo comando sul nodo del server di gestione perimetrale:

/opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile

Questo comando accetta come input un file di configurazione che definisce un utente, un'organizzazione, un ambiente e un host virtuale.

Ad esempio, supponiamo che tu crei:

  • Un utente di tua scelta che funga da amministratore dell'organizzazione
  • Un'organizzazione denominata example
  • Un ambiente nell'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 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 saperne di più, consulta Esegui l'onboarding di un'organizzazione.