- v1.12 (più recente)
- Versione 1.11
- Versione 1.10
- Elenco delle versioni supportate
- Versione 1.9
- Versione 1.8
- Versione 1.7
- Versione 1.6
- Versione 1.5
- Versione 1.4
- Versione 1.3
- Versione 1.2
- Versione 1.1
Versioni supportate:
Versioni non supportate:
Questa sezione descrive l'utilizzo di Apigee Connect (beta) per la comunicazione tra il piano di gestione ibrido e il servizio MART nel piano di runtime.
Introduzione
Apigee Connect consente al piano di gestione ibrido Apigee di connettersi in modo sicuro al servizio MART nel piano di runtime senza che sia necessario esporre l'endpoint MART su internet. Se utilizzi Apigee Connect, non è necessario configurare il gateway in entrata MART con un alias host e un certificato DNS autorizzato.
Prerequisiti
Apigee hybrid versione 1.2.0 o successive deve essere installato e configurato prima di configurare Apigee Connect.
- Se stai installando Apigee hybrid per la prima volta, segui le istruzioni di installazione nella documentazione di Apigee hybrid.
- Se attualmente utilizzi la versione ibrida di Apigee 1.1.x, devi eseguire l'upgrade dell'installazione alla versione 1.2.0 prima di continuare. Per la procedura di upgrade, consulta la pagina Eseguire l'upgrade di Apigee hybrid
Aggiungi Apigee Connect al runtime ibrido
Questa sezione presuppone che tu abbia installato o eseguito l'upgrade a e configurato Apigee hybrid 1.2.0 o versioni successive
Quando Apigee Connect è configurato e abilitato, il traffico in entrata MART viene ignorato: il piano di gestione si connette solo a MART utilizzando Apigee Connect. Tutto il traffico MART tra il piano di runtime ibrido passa attraverso la connessione sicura di Apigee Connect.
Segui questi passaggi per abilitare e utilizzare Apigee Connect con Apigee hybrid:
- Abilita l'API Apigee Connect nella
libreria API di Google Cloud. Puoi abilitare l'API nella
console di Google Cloud (GCP) o con
gcloud
. Per istruzioni sull'abilitazione delle API nella console Google Cloud, consulta Passaggio 3: abilita le API. Per utilizzaregcloud
per abilitare l'API:
$ gcloud config set project YOUR_GCP_PROJECT_ID $ gcloud services enable apigeeconnect.googleapis.com
DoveYOUR_GCP_PROJECT_ID
è lo stesso progetto Google Cloud per cui Apigee è stato abilitato ed è stato eseguito il provisioning di un'organizzazione Apigee per te. - Aggiungi il ruolo Agente Apigee Connect all'account di servizio MART che hai creato nel passaggio
Creare account di servizio nelle istruzioni per l'installazione di Apigee Connect:
$ gcloud projects add-iam-policy-binding YOUR_GCP_PROJECT_ID --member serviceAccount:YOUR_MART_SERVICE_ACCOUNT_EMAIL --role roles/apigeeconnect.Agent
DoveYOUR_GCP_PROJECT_ID
è lo stesso progetto Google Cloud per cui Apigee è stato abilitato ed è stato eseguito il provisioning di un'organizzazione Apigee per te, eYOUR_MART_SERVICE_ACCOUNT_EMAIL
è il nome dell'account di servizio MART. Il nome è costituito da un indirizzo email. Ad esempio:apigee-mart@my-project.iam.gserviceaccount.com
.
Il ruolo Agente Apigee Connect è predefinito e ha la seguente autorizzazione assegnata:
Autorizzazione Descrizione apigeeconnect.endpoints.connect
Questa è l'autorizzazione per configurare l'agente Apigee Connect. Per maggiori dettagli sull'assegnazione delle autorizzazioni di accesso tramite la console Google Cloud o le API, vedi:
- Assicurati che il file di chiavi dell'account di servizio MART si trovi nella directory
hybrid_files/service_accounts
, come spiegato in Creare gli account di servizio. - Apri il file degli override e aggiungi le stanze seguenti. La configurazione richiede che tu fornisca il percorso della chiave dell'account di servizio scaricata. La chiave deve essere per un account di servizio con il ruolo di agente Apigee Connect .
# Apigee Connect Agent connectAgent: enabled: true serviceAccountPath: ./service-accounts/connect_agent_sa_key.json
Aggiungi la stanza sotto l'intestazione k8sCluster, ad esempio:
k8sCluster: name: your_cluster_name region: your_cluster_region # Apigee Connect Agent connectAgent: enabled: true serviceAccountPath: ./service-accounts/connect_agent_sa_key.json
# Apigee Connect Agent connectAgent: enabled: true replicaCountMin: 3 serviceAccountPath: ./service-accounts/connect_agent_sa_key.json
- Individua la chiave dell'account di servizio con il ruolo Amministratore organizzazione Apigee che hai scaricato quando hai installato inizialmente Apigee hybrid come descritto nella sezione Abilitare l'accesso del sincronizzatore. Questa chiave è necessaria per generare il token necessario per effettuare una chiamata API, come spiegato di seguito.
- Esegui questi due comandi per ottenere un token:
$ export GOOGLE_APPLICATION_CREDENTIALS=org-admin-service-account-file $ export TOKEN=$(gcloud auth application-default print-access-token)
Dove org-admin-service-account-file è il percorso sul tuo sistema verso la chiave dell'account di servizio che hai scaricato con il ruolo Amministratore organizzazione Apigee. - Chiama la seguente API Apigee per abilitare Apigee Connect per la tua organizzazione:
curl -v -X PUT \ https://apigee.googleapis.com/v1/organizations/your_org_name \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $TOKEN" \ -d '{ "name" : "your_org_name", "properties" : { "property" : [ { "name" : "features.hybrid.enabled", "value" : "true" }, { "name" : "features.mart.connect.enabled", "value" : "true" } ] } }'
- Avvia l'agente Apigee Connect nel cluster:
$ $APIGEECTL_HOME/apigeectl apply -f your_overrides_file.yaml -c connect-agent
- Controlla il log dell'agente Apigee Connect. Se non sono presenti errori, l'upgrade è riuscito:
$ kubectl logs -n namespace apigee-connect-agent-pod-name
L'agente Apigee Connect segnala le seguenti categorie di log:
Categoria di audit log Suite operativa DATA_READ ConnectionService.ListConnections
DATA_WRITE Tether.Egress
- Verifica l'installazione.
mart: hostAlias: "mart.apigee-hybrid-docs.net" serviceAccountPath: ./service-accounts/example-project-apigee-mart.json sslCertPath: ./certs/fullchain.pem sslKeyPath: ./certs/privkey.key
Con questo upgrade, il piano di runtime ibrido comunica con il piano di gestione tramite Apigee Connect.
Vedi anche: Rimuovere Apigee Connect.
Testa l'installazione
- Apri l'UI ibrida di Apigee.
- Verifica che tutte le app per sviluppatori e sviluppatori che hai creato in precedenza siano presenti nell'interfaccia utente. Poiché le query su queste entità vengono eseguite dal server MART, saranno presenti solo se la comunicazione tra il piano di gestione e il piano di runtime è configurata correttamente.
- Per assicurarti che le richieste passino attraverso Apigee Connect e non attraverso il Ingress MART, controlla il log del server MART. Dovresti vedere le voci per l'agente Apigee Connect denominato
apigee-connect-agent-1.0
:
$ kubectl logs -n apigee apigee-mart-orgname-rc101-q72tl -c apigee-mart | grep connect
Ad esempio:
"2019-12-11 04:59:52,321 org: env: target: action: context-id: mode: pool-1-thread-1 INFO MART_AUDITLOG - MartAuditListener.eventOccurred() : Type:Audit edge-gaambo-controlplane@system.gserviceaccount.com 1576040392317 /v1/organizations/apigee-connect-hybrid-prod/developers/ count=100&expand=true&startKey=4ee9e8f7-12b2-4cde-bf10-32d991469876 200 GET apigee-connect-hybrid-prod 10.40.11.3 10.40.0.5 apigee-connect-agent-1.0 null"
- Nella UI ibrida, crea un prodotto API, uno sviluppatore e un'app sviluppatore. Quindi, controlla il log del servizio MART per assicurarti che le voci di log confermino che le entità siano state inviate al piano di runtime. Ad esempio,
la seguente voce di log indica che è stato ricevuto il prodotto API denominato
foo-product
:
$ kubectl logs -n apigee apigee-mart-orgname-rc101-q72tl -c apigee-mart
2019-12-16 22:15:29,572 org: env: target: action: context-id: mode: pool-1-thread-1 INFO MART_AUDITLOG - MartAuditListener.eventOccurred() : Type:Audit edge-gaambo-controlplane@system.gserviceaccount.com 1576534529566 /v1/organizations/myorg/apiproducts/foo-product/ -NA- 201 CREATE myorg 10.16.1.61 10.16.1.64 apigee-connect-agent-1.0 null 2019-12-16 22:15:30,412 org: env: target: action: context-id: mode: pool-1-thread-1 INFO MART_AUDITLOG - MartAuditListener.eventOccurred() : Type:Audit edge-gaambo-controlplane@system.gserviceaccount.com 1576534530407 /v1/organizations/myorg/apps/ apiProduct=foo-product&expand=false 200 GET myorg 10.16.1.61 10.16.1.64 apigee-connect-agent-1.0 null
- Prova a creare ed eseguire il deployment di un nuovo proxy, come spiegato in Creare ed eseguire il deployment di un proxy.
- Configura il proxy con la verifica delle chiavi API seguendo i passaggi descritti in Proteggere un proxy API richiedendo chiavi API. Il runtime ottiene i dati necessari per convalidare una chiave API dal piano di gestione tramite Apigee Connect. Pertanto, se la verifica della chiave API funziona, sai che Apigee Connect funziona correttamente. Puoi anche controllare i log di Apigee Connect per vedere un report sui trasferimenti di dati.
Rimozione di Apigee Connect in corso...
Se elimini il deployment di Apigee Connect, lo stato del pod può rimanere in stato "Terminazione" per un massimo di sette minuti. Questo periodo di tempo è previsto. Gli agenti Apigee Connect attendono la scadenza delle connessioni esistenti invece di arrestarle improvvisamente. Il ritardo garantisce che le richieste in corso non vengano perse.