Connessione a un'istanza Redis da un'applicazione dell'ambiente standard di App Engine e dall'applicazione App Engine Flex 2020
1.Scarica e installa Cloud SDK.
2.Se hai già installato Cloud SDK, aggiornalo eseguendo il comando seguente:
gcloud components update
3.Crea un nuovo progetto:
gcloud projects create [YOUR_PROJECT_ID] --set-as-default
4.Verifica che il progetto sia stato creato:
gcloud projects describe [YOUR_PROJECT_ID]
5.Imposta il progetto che hai appena creato:
gcloud config set core/project PROJECT_ID
6.Inizializza la tua app App Engine con il tuo progetto e scegli la sua regione:
gcloud app create --project=[YOUR_PROJECT_ID]
7.Quando richiesto, seleziona la regione in cui desideri posizionare l'applicazione App Engine.Ricorda la regione, creeremo l'istanza Redis e il connettore VPC nella stessa regione. La mia applicazione App Engine su europe-west2
8.Assicurati che la fatturazione sia abilitata per il tuo progetto. Un account di fatturazione deve essere collegato al tuo progetto per poter distribuire l'applicazione in App Engine.
9.Installare i seguenti prerequisiti:
a.Scarica e installa Git
b.Esegui il comando seguente per installare il componente gcloud che include l'estensione App Engine per Python 3.7:
gcloud components install app-engine-python
c.Prepara il tuo ambiente per lo sviluppo Python
10.Crea l'istanza Memorystore per Redis. Inserisci il comando seguente per creare un'istanza Redis di livello base da 2 GiB nell'area 'europe-west2'
gcloud redis instances create myinstance --size=2 --region=europe-west2 /
--redis-version=redis_4_0
11.Dopo aver creato l'istanza, immetti il comando describe per ottenere l'indirizzo IP e la porta dell'istanza. Utilizzerai i valori dell'host e della porta per connetterti all'istanza. Trova anche la rete autorizzata della tua istanza Redis
gcloud redis instances describe myinstance --region=europe-west2
12.Configurazione dell'accesso serverless VPC.Assicurati di creare il connettore nella stessa regione dell'app e dell'istanza Redis e assicurati che il connettore sia collegato alla rete VPC autorizzata dell'istanza Redis. Ricorda il nome del connettore.
13.Assicurati che l'API Serverless VPC Access sia abilitata per il tuo progetto:
gcloud services enable vpcaccess.googleapis.com
14.Crea un connettore con il comando:
gcloud compute networks vpc-access connectors create connector --network default --region europe-west2 --range 10.10.0.0/28
15.Verifica che il tuo connettore sia nello stato READY prima di usarlo, l'output dovrebbe contenere lo stato della linea:READY
.
16.Clone il repository per Python.
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
cd python-docs-samples/memorystore/redis
17.Preparazione dell'applicazione per la distribuzione di App Engine Standard .Aggiorna la configurazione dell'app per specificare il connettore Serverless VPC Access e l'indirizzo IP e la porta della tua istanza Redis:
cd gae_standard_deployment/
cat app.yaml
runtime: python37
entrypoint: gunicorn -b :$PORT main:app
# Update with Redis instance details
env_variables:
REDISHOST: '<REDIS_IP>'
REDISPORT: '6379'
# Update with Serverless VPC Access connector details
vpc_access_connector:
name: 'projects/<PROJECT_ID>/locations/<REGION>/connectors/<CONNECTOR_NAME>'
18.Distribuzione dell'applicazione nell'ambiente standard di App Engine
cd ..
cp gae_standard_deployment/app.yaml .
19.Esegui il comando deploy
gcloud beta app deploy
20.Al termine della distribuzione, visita la tua app al seguente URL, sostituendo [PROJECT_ID] con il tuo ID progetto Google Cloud.
Visitor number: 4
SUCCESSO!
21.Preparazione dell'applicazione per la distribuzione di App Engine Flex .Aggiorna la configurazione dell'app per specificare l'indirizzo IP e la porta della tua istanza Redis:
cd gae_flex_deployment/
cat app.yaml
cp gae_flex_deployment/app.yaml .
runtime: python
env: flex
entrypoint: gunicorn -b :$PORT main:app
runtime_config:
python_version: 3
# Update with Redis instance IP and port
env_variables:
REDISHOST: '<REDIS_IP>'
REDISPORT: '6379'
# Update with Redis instance network name
network:
name: default
22.Distribuzione dell'applicazione nell'ambiente standard di App Engine
cd ..
cp gae_flex_deployment/app.yaml .
23.Esegui il comando deploy
gcloud beta app deploy
24.Al termine della distribuzione, visita la tua app al seguente URL, sostituendo [PROJECT_ID] con il tuo ID progetto Google Cloud.
Visitor number: 4
SUCCESSO!