9

Abbiamo un'istanza EC2 su AWS a cui abbiamo implementato i nostri servizi di backend. Abbiamo iniziato utilizzando Google Spreadsheets (script con Script di Google Apps) per presentare il nostro back-end, tramite un servizio web distribuito sul nostro server. Abbiamo una porta specifica da cui https (utilizza un certificato autofirmato) viene utilizzato per servire il servizio web crittografato durante il volo. Avevamo istituire gruppi di protezione (in pratica un gruppo di entrata firewall) che comprendono seguente CIDR gamme per quella specifica porta di ingresso del nostro webservice:UrlFetchApp.fetch su Google Spreadsheets non può connettersi al servizio web backend AWS

64.18.0.0/20 
64.233.160.0/19 
66.102.0.0/20 
66.249.80.0/20 
72.14.192.0/18 
74.125.0.0/16 
173.194.0.0/16 
207.126.144.0/20 
209.85.128.0/17 
216.58.192.0/19 
216.239.32.0/19 

come descritto nel https://developers.google.com/apps-script/guides/jdbc#setup_for_google_cloud_sql

Questa messa a punto stava funzionando benissimo fino a 5 giorni fa. Poi è successo qualcosa di strano. Quando eseguiamo lo script dietro il foglio di calcolo dal codice "Script Editor" , funziona correttamente e le richieste al nostro servizio di reso sul Web vengono restituite correttamente. Ma quando lo stesso identico codice è stato invocato attraverso una voce di menu, non stava facendo nulla. Dopo lunghe indagini frustranti abbiamo scoperto che la richiesta non raggiungeva nemmeno il nostro server (c'erano molti altri sintomi bizzarri come solo l'ultimo comando di registro era visibile su "Transcript di esecuzione" anche se ce ne dovevano essere molti altri). Poi abbiamo provato a sostituire il gruppo di sicurezza con una regola che accetta da qualsiasi ip, ma a una porta specifica tutto funzionava di nuovo bene.

Ecco un link questione apparentemente rilevante in google-apps-script-problemi pagina: https://code.google.com/p/google-apps-script-issues/issues/detail?id=4679#c8

abbiamo corso tcpdump tcp port <port> -i eth0 -vv e hanno osservato che quando si corre il codice richiesta 'Script Editor' stato fatto da 66.102.7.156 (e da ips simili, che sono in 66.102.0.0/20), quando il codice viene richiamato dalla voce di menu nel foglio di calcolo la richiesta è stata fatta da 72.14.199.55 (e da IP simili, che sono in 72.14.192.0/18). Questo sembra essere il range ip problematico.

La mia domanda è: perché è il caso che quando le fonti di richiesta sono incluse correttamente nelle regole del firewall un blocco di IP non funziona e inizia a funzionare quando viene rimossa la restrizione IP sulla porta (fonte ip 0.0.0.0/0)? È un bug dei Security Groups in AWS? O stiamo facendo qualcosa di sbagliato? Inoltre, se il nostro approccio non è adeguato in alcun modo, soluzioni o suggerimenti alternativi sarebbero molto apprezzati.

+0

Interessante. Ricordo di aver letto qualcosa di simile qualche tempo fa, penso sulla pagina dei problemi GAS. –

+0

Interessante davvero. E grazie per avermelo ricordato, sì, in realtà c'è un problema che ho dimenticato di collegare qui. Eccolo: https://code.google.com/p/google-apps-script-issues/issues/detail?id=4679#c8 – ciuncan

risposta

1

Come per lo issues a cui ci si è collegati, c'era un errore in Script di app che ha portato a questo comportamento. Questo bug è stato corretto.

+0

Grazie per la risposta. Potrebbe volerci un po 'per confermare se il nostro problema è risolto. Quindi contrassegnerò questo come risposta. – ciuncan

Problemi correlati