Personalizzare un progetto Kickstart del portale per gli sviluppatori Apigee in Cloud Marketplace

Questa pagina si applica ad Apigee e Apigee hybrid.

Visualizza la documentazione di Apigee Edge.

Questa pagina descrive le opzioni per personalizzare, gestire e proteggere la soluzione Apigee Developer Portal Kickstart. Una volta implementati, tutti i componenti dei servizi cloud utilizzati dal portale possono in genere essere personalizzati seguendo la documentazione di Google Cloud standard. Le sezioni seguenti forniscono opzioni di configurazione e linee guida per la produzione specifiche per la soluzione del portale.

Connettersi ad Apigee o Apigee hybrid

Per utilizzare la soluzione rapida del portale per sviluppatori di Apigee con un'organizzazione Apigee o Apigee ibrida, il portale deve essere sottoposto a deployment nel progetto Google Cloud utilizzato durante il provisioning di Apigee. Durante il deployment, viene creato un service account con il ruolo Apigee Developer Admin. Questo ruolo è necessario per i chiamanti dell'account di servizio alle API Apigee.

Configurare HTTPS per il portale

Nella configurazione di avvio del deployment del portale, puoi scegliere di configurare HTTPS per il portale. Le opzioni di configurazione della casella di controllo includono:

Deselezionata Lo script di deployment non attiverà automaticamente TLS. TLS può essere configurato manualmente dopo il deployment utilizzando Cloud Load Balancing. Questa è l'opzione predefinita.
Controllato Il pacchetto di deployment attiverà TLS, eseguirà il provisioning di un indirizzo IP, configurerà un nome di dominio e richiederà un certificato SSL utilizzando nip.io. L'utilizzo di nip.io non è approvato da Google, ma viene offerto come opzione di convenienza per i test di deployment. Selezionando questa opzione, accetti i termini e le condizioni di nip.io.

Utilizzare Cloud SQL con CMEK

L'istanza Cloud SQL per il portale viene creata nella regione che scegli durante la configurazione di avvio. Per impostazione predefinita, Google cripta i dati at-rest utilizzando Google-owned and Google-managed encryption keys. Per utilizzare una chiave di crittografia gestita dal cliente (CMEK) per criptare i dati archiviati nell'istanza Cloud SQL, segui i passaggi descritti in Utilizzo delle chiavi di crittografia gestite dal cliente configura una chiave.

Gestisci Cloud SQL

Per gestire l'istanza Cloud SQL dopo il deployment:

Configura e aggiorna i gruppi di istanze gestite

Un gruppo di istanze gestite è una raccolta di istanze di macchine virtuali (VM) che puoi gestire come una singola entità. Puoi rendere i tuoi workload scalabili e ad alta affidabilità sfruttando i servizi MIG automatizzati, tra cui: scalabilità automatica, riparazione automatica, deployment regionale (più zone) e aggiornamento automatico.

Per configurare i MIG dopo il deployment:

Le nuove immagini VM per le soluzioni Apigee Developer Portal Kickstart verranno rilasciate regolarmente. I clienti possono utilizzare i passaggi descritti in Aggiornamento delle istanze in un MIG per sostituire o riavviare le istanze in un MIG in modo da utilizzare l'immagine più recente.

Abilitare l'IP privato con i Controlli di servizio VPC

Per attivare un indirizzo IP privato per l'istanza Cloud SQL:

Personalizzare il codice del portale

Se vengono apportate personalizzazioni al codice del portale o agli script di avvio dopo il deployment, queste modifiche devono essere esportate e sottoposte a backup in Filestore per evitare la loro perdita durante gli aggiornamenti all'immagine di base di Apigee Developer Portal Kickstart.

Ad esempio, se vengono installati nuovi moduli Drupal su un'istanza Compute Engine, crea un backup seguendo i seguenti passaggi:

  1. Esegui /opt/apigee/scripts/export-code.sh per esportare le modifiche.
  2. Lo script copia i file esportati nell'istanza Filestore montata in /mnt/fileshare/portalname/.
  3. Riavvia le istanze nel gruppo di istanze gestite per attivare l'applicazione delle modifiche nel gruppo. Lo script di avvio rileva automaticamente se esiste un backup del codice, carica le modifiche, corregge le autorizzazioni dei file e applica il file settings.php.
  4. Aggiorna i moduli e il core di Drupal utilizzando composer update. Gli aggiornamenti di Apigee all'immagine di base forniscono solo aggiornamenti del sistema operativo, patch PHP e aggiornamenti NGINX. Tutti gli aggiornamenti dei moduli e dei servizi principali di Drupal sono gestiti dal cliente e devono essere applicati manualmente.

Per aggiungere personalizzazioni allo script di avvio, crea uno script in /mnt/fileshare/$PORTAL_NAME/custom-startup-script.sh.

Se installi pacchetti PHP, esegui il comando service supervisor restart per applicare le modifiche.

Crea backup

La creazione di backup regolari è consigliata come best practice per la soluzione Apigee Developer Portal Kickstart. Per la procedura dettagliata, vedi:

Configurare un portale per l'utilizzo in produzione

Per configurare il portale per l'utilizzo in produzione, sono consigliati i seguenti passaggi:

Database Cloud SQL
  • Verificare o modificare il tipo di macchina del database
  • Disabilita l'IP pubblico del database e configura l'IP privato
  • Abilita i backup automatici del database
  • Abilita l'alta disponibilità per il database
Filestore
  • Abilitare i backup per Filestore
Cloud Load Balancing
  • Abilita Cloud CDN per memorizzare nella cache i contenuti statici
  • Se preferisci, aggiungi un certificato SSL personalizzato
Gruppi di istanze gestite
  • Modifica il numero minimo e massimo di istanze richieste per il traffico di produzione
Autenticazione
  • Rimuovi la limitazione di accesso con autenticazione di base HTTP sul tuo sito.

    Esegui questi comandi per rendere accessibile pubblicamente il tuo sito del portale:

    gcloud beta runtime-config configs variables set site_basic_auth/enabled 0 \
      --is-text --config-name=PORTAL_NAME --project=GCP_PROJECT_NAME
    gcloud beta compute instance-groups managed rolling-action \
      replace INSTANCE_GROUP_ID --region=GCP_REGION \
      --replacement-method=substitute --project=GCP_PROJECT_NAME

Passaggi successivi