Questa pagina si applica ad Apigee, ma non ad Apigee hybrid.
Visualizza la documentazione di
Apigee Edge.
Questo documento spiega come utilizzare Apigee per configurare il controllo di integrità attivo quando utilizzi Private Service Connect (PSC) per il routing di rete in ingresso (traffico dai client ad Apigee). Il controllo di integrità attivo è utile per evitare la perdita di traffico di rete in caso di un errore regionale.
Panoramica
Se prevedi di utilizzare PSC per il routing di rete in uscita di Apigee, segui le istruzioni riportate in questo documento per configurare il controllo di integrità attivo. Al momento PSC non supporta il monitoraggio attivo del controllo di integrità, ma puoi modificare la configurazione di Apigee per utilizzare un gruppo di istanze gestite (MIG), che fornisce la funzionalità di controllo di integrità attivo.
Potresti utilizzare il rilevamento di outlier per il monitoraggio dell'integrità. Tuttavia, durante gli errori a livello di regione, potresti perdere periodicamente una parte del traffico, poiché il rilevamento di outlier utilizza il traffico in tempo reale come indicatori. Il rilevamento outlier reindirizza periodicamente parte del traffico live per controllare l'integrità della regione non riuscita.
La Figura 1 mostra l'architettura proposta. Un endpoint di servizio si connette all'allegato di servizio nell'istanza Apigee e un MIG esegue il proxy del traffico verso l'endpoint di servizio. Attiva il monitoraggio del controllo di integrità nel MIG.
Approccio di controllo di integrità basato sul MIG
Prerequisiti
Puoi applicare la tecnica descritta in questo documento alle installazioni di Apigee che utilizzano il peering VPC o non lo utilizzano. Tuttavia, nel caso di un'installazione con peering VPC, la tecnica di controllo di integrità attiva descritta qui si applica solo se utilizzi PSC per la configurazione del routing.
Prima di eseguire i passaggi descritti in questa sezione:
- Per le installazioni di peering non VPC:
- Completa i passaggi di provisioning di Apigee da 1 a 6 per le installazioni basate su abbonamento o con pagamento a consumo. Al momento, l'unica opzione è eseguire questi passaggi utilizzando l'interfaccia a riga di comando.
- Salta il passaggio 7: configura il routing ed esegui i seguenti passaggi.
- Per le installazioni di peering VPC che utilizzano PSC per il routing:
- Completa i passaggi da 1 a 7 del provisioning di Apigee per le installazioni basate su abbonamento o con pagamento a consumo. Al momento, l'unica opzione è eseguire questi passaggi utilizzando l'interfaccia a riga di comando.
- Salta il passaggio 8: configura il routing ed esegui i seguenti passaggi.
1. Configura un endpoint di servizio PSC per il collegamento del servizio Apigee
In questo passaggio, crei un endpoint di servizio PSC che punta al collegamento del servizio nell'istanza Apigee:
- Recupera l'allegato di servizio dall'istanza Apigee che hai creato in precedenza:
curl -i -X GET -H "Authorization: Bearer $AUTH" \ "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"
Nel seguente output di esempio, il valore
serviceAttachment
è mostrato in grassetto:{ "instances": [ { "name": "us-west1", "location": "us-west1", "host": "10.82.192.2", "port": "443", "createdAt": "1645731488019", "lastModifiedAt": "1646504754219", "diskEncryptionKeyName": "projects/my-project/locations/us-west1/keyRings/us-west1/cryptoKeys/dek", "state": "ACTIVE", "peeringCidrRange": "SLASH_22", "runtimeVersion": "1-7-0-20220228-190814", "ipRange": "10.82.192.0/22,10.82.196.0/28", "consumerAcceptList": [ "875609189304" ], "serviceAttachment": "projects/bfac74a67a320c43a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw1" } ] }
- Crea un endpoint di servizio PSC che rimandi al collegamento al servizio ottenuto dal corpo della risposta dell'istanza nel passaggio precedente, come spiegato in Creare un endpoint Private Service Connect.
2. Configura un MIG che punta all'endpoint di servizio
In questo passaggio, crei un MIG che funge da proxy per il traffico verso l'endpoint di servizio. Puoi quindi attivare il controllo di integrità attivo sul MIG.
2A. Abilitare l'accesso privato Google per una subnet della rete VPC
Per abilitare l'accesso privato Google per una subnet della tua rete VPC, segui i passaggi elencati in Abilitazione dell'accesso privato Google.
2B. Imposta le variabili di ambiente
Le istruzioni riportate in questa sezione utilizzano le variabili di ambiente per fare riferimento a stringhe utilizzate ripetutamente. Ti consigliamo di impostarli prima di continuare:
MIG_NAME=YOUR_MIG_NAME # A name you provide for the MIGVPC_NAME=default # If you are using a shared VPC, use the shared VPC name
VPC_SUBNET=default # Private Google Access must be enabled for this subnet
REGION=RUNTIME_REGION # The same region as your Apigee runtime instance
SERVICE_ENDPOINT_IP=YOUR_SERVICE_ENDPOINT_IP. ## The endpoint IP of the service endpoint you just created
Utilizzerai queste variabili più volte durante le procedure rimanenti. Se vuoi configurare più regioni, crea variabili con valori specifici per ogni regione.
2C. Creare un gruppo di istanze gestite
In questo passaggio, crei e configuri un gruppo di istanze gestite (MIG).
- Crea un template di istanza eseguendo il seguente comando.
gcloud compute instance-templates create $MIG_NAME \ --project $PROJECT_ID \ --region $REGION \ --network $VPC_NAME \ --subnet $VPC_SUBNET \ --tags=https-server,apigee-mig-proxy,gke-apigee-proxy \ --machine-type e2-medium --image-family debian-12 \ --image-project debian-cloud --boot-disk-size 20GB \ --no-address \ --metadata ENDPOINT=$SERVICE_ENDPOINT_IP,startup-script-url=gs://apigee-5g-saas/apigee-envoy-proxy-release/latest/conf/startup-script.sh
Come puoi vedere da questo comando, le macchine sono di tipo
e2-medium
. Eseguono Debian 12 e hanno 20 GB di spazio su disco. Lo scriptstartup-script.sh
configura il MIG per instradare il traffico in entrata dal bilanciatore del carico all'istanza Apigee. - Crea un gruppo di istanze gestite eseguendo il seguente comando:
gcloud compute instance-groups managed create $MIG_NAME \ --project $PROJECT_ID --base-instance-name apigee-mig \ --size 2 --template $MIG_NAME --region $REGION
- Configura la scalabilità automatica per il gruppo eseguendo il seguente comando:
gcloud compute instance-groups managed set-autoscaling $MIG_NAME \ --project $PROJECT_ID --region $REGION --max-num-replicas 3 \ --target-cpu-utilization 0.75 --cool-down-period 90
- Definisci una porta denominata eseguendo il seguente comando:
gcloud compute instance-groups managed set-named-ports $MIG_NAME \ --project $PROJECT_ID --region $REGION --named-ports https:443
3. Configura il bilanciatore del carico con il monitoraggio del controllo di integrità
Nei passaggi seguenti configurerai un bilanciatore del carico con il monitoraggio del controllo di integrità.
3A. Crea un certificato SSL e una chiave per il bilanciatore del carico
Devi creare le credenziali una sola volta, indipendentemente dal fatto che l'installazione venga eseguita in una o più regioni. In un passaggio successivo, assocerai queste credenziali al proxy HTTPS di destinazione del bilanciatore del carico.
Puoi creare le credenziali con:
- Il tuo certificato di un'autorità di certificazione
- Un certificato SSL gestito da Google
- Un certificato autofirmato (non consigliato per la produzione).
Per saperne di più sulla creazione e sull'utilizzo dei certificati SSL per il bilanciatore del carico Google Cloud, consulta Certificati SSL e Panoramica dei certificati SSL.
Nell'esempio seguente, creiamo un certificato SSL gestito da Google:
- Crea queste variabili di ambiente:
CERTIFICATE_NAME=YOUR_CERT_NAME
DOMAIN_HOSTNAME=YOUR_DOMAIN_HOSTNAME
Imposta
DOMAIN_HOSTNAME
su un nome host di dominio valido che hai registrato. In un passaggio successivo, otterrai l'indirizzo IP del bilanciatore del carico e aggiornerai il record A del dominio in modo che punti a questo indirizzo. Ad esempio, il nome host di un dominio potrebbe avere il seguente aspetto:foo.example.com
. - Esegui il comando
gcloud compute ssl-certificates create:
gcloud compute ssl-certificates create $CERTIFICATE_NAME \ --domains=$DOMAIN_HOSTNAME \ --project $PROJECT_ID \ --global
Il provisioning del certificato può richiedere fino a un'ora. Per controllare lo stato del provisioning, esegui questo comando:
gcloud compute ssl-certificates describe $CERTIFICATE_NAME \ --global \ --format="get(name,managed.status, managed.Status)"
3B. Crea un controllo di integrità
- Crea un controllo di integrità:
gcloud compute health-checks create https HEALTH_CHECK_NAME \ --project $PROJECT_ID --port 443 --global \ --request-path /healthz/ingress
Utilizzerai questo controllo di integrità per assicurarti che il servizio di backend sia in esecuzione. Per configurare controlli di integrità più avanzati su un proxy specifico, consulta Esecuzione di controlli di integrità.
- Crea un servizio di backend:
gcloud compute backend-services create PROXY_BACKEND_NAME \ --project $PROJECT_ID \ --protocol HTTPS \ --health-checks HEALTH_CHECK_NAME \ --port-name https \ --timeout 302s \ --connection-draining-timeout 300s \ --global
- Aggiungi il MIG al servizio di backend con il seguente comando:
gcloud compute backend-services add-backend PROXY_BACKEND_NAME \ --project $PROJECT_ID --instance-group $MIG_NAME \ --instance-group-region $REGION \ --balancing-mode UTILIZATION --max-utilization 0.8 --global
- Crea una mappa URL di bilanciamento del carico con il seguente comando:
gcloud compute url-maps create MIG_PROXY_MAP_NAME \ --project $PROJECT_ID --default-service PROXY_BACKEND_NAME
- Crea un proxy HTTPS di destinazione per il bilanciamento del carico con il seguente comando:
gcloud compute target-https-proxies create MIG_HTTPS_PROXY_NAME \ --project $PROJECT_ID --url-map MIG_PROXY_MAP_NAME \ --ssl-certificates $CERTIFICATE_NAME
3C. Ottieni un indirizzo IP riservato e crea regole firewall
Devi assegnare un indirizzo IP al bilanciatore del carico e poi creare regole che consentano al bilanciatore del carico di accedere al MIG. Devi eseguire questo passaggio una sola volta, indipendentemente dal fatto che tu stia eseguendo l'installazione in una o più regioni.
- Prenota un indirizzo IP per il bilanciatore del carico:
gcloud compute addresses create ADDRESSES_NAME \ --project $PROJECT_ID \ --ip-version=IPV4 \ --global
- Crea una regola di forwarding globale con il seguente comando:
gcloud compute forwarding-rules create FORWARDING_RULE_NAME \ --project $PROJECT_ID --address ADDRESSES_NAME --global \ --target-https-proxy MIG_HTTPS_PROXY_NAME --ports 443
- Recupera l'indirizzo IP riservato eseguendo questo comando:
gcloud compute addresses describe ADDRESSES_NAME \ --project $PROJECT_ID --format="get(address)" --global
- Passaggio importante: vai al sito, all'host DNS o al provider di servizi internet in cui vengono gestiti i tuoi record DNS e assicurati che il record DNS del tuo dominio venga risolto nell'indirizzo IP del bilanciamento del carico di Google Cloud. Questo indirizzo è il valore IP restituito nell'ultimo passaggio. Per maggiori dettagli, consulta Aggiorna i record A e AAAA del DNS in modo che puntino all'indirizzo IP del bilanciatore del carico.
- Crea una regola firewall che consenta al bilanciatore del carico di accedere al MIG utilizzando il
seguente comando:
gcloud compute firewall-rules create FIREWALL_RULE_NAME \ --description "Allow incoming from GLB on TCP port 443 to Apigee Proxy" \ --project $PROJECT_ID --network $VPC_NAME --allow=tcp:443 \ --source-ranges=130.211.0.0/22,35.191.0.0/16 --target-tags=gke-apigee-proxy
Tieni presente che gli intervalli di indirizzi IP
130.211.0.0/22
e35.191.0.0/16
sono gli intervalli di indirizzi IP di origine per Google Load Balancing. Questa regola firewall consente a Google Cloud Load Balancing di effettuare richieste di controllo di integrità al gruppo di istanze gestite.
Il provisioning di Apigee è stato completato. Vai a Deployment di un proxy di esempio.