2013-10-03 14 views
16

Budujemy aplikację w chmurze Google. Używamy App Engine jako interfejsu frontend i Compute Engine jako zaplecza. W tych instancjach Compute Engine uruchamiam serwer TCP, który akceptuje niektóre komunikaty "command". Instancje Compute Engine są również podłączone do Internetu za zaporą i mechanizmem równoważenia obciążenia dla przychodzącego ruchu https. Chciałbym powiązać serwer TCP z lokalnymi adresami IP i zezwalać tylko na instancje App Engine (te są w obrębie tego samego projektu), aby połączyć się z portem poleceń TCP poprzez socket api.Google App Engine komunikuje się z Compute Engine przez wewnętrzną sieć

Na razie mamy ograniczenie połączeń przychodzących do Google Ip's only

Compute Engine documentation sais następujące:

Każdy przypadek jest członkiem jednej sieci. Sieć wykonuje tę samą funkcję, co router w sieci domowej: opisuje zasięg sieci i adres IP bramy, obsługuje komunikację między instancjami i służy jako brama między instancjami i osobami dzwoniącymi poza siecią. Sieć jest ograniczona do jednego projektu; nie może obejmować projektów. Wszelka komunikacja między instancjami w różnych sieciach, nawet w obrębie tego samego projektu, musi odbywać się za pośrednictwem zewnętrznych adresów IP. W interfejsie API sieć reprezentowana jest przez obiekt sieciowy.

Czy można zbudować bezpieczną konfigurację komunikacji? Być może z instancjami zaplecza App Engine?

Odpowiedz

7

Obecnie nie ma sposobu na skonfigurowanie sieci prywatnej między GCE i GAE. Ograniczanie zakresu adresów IP w Google nie jest bezpieczne, ponieważ każdy użytkownik GAE lub GCE mógłby połączyć się z serwerem. Zalecam więc uwierzytelnienie połączeń przychodzących na serwerze TCP, aby sprawdzić, czy połączenie pochodzi z instancji GAE.

+0

Planowałem to naprawdę dodać. Poszukuję także zabezpieczeń warstwy sieci. Nie tylko aplikacja. Ale myślę, że masz rację, teraz to jedyna rzecz, którą mogę zrobić. –

+0

Czy mogę to zrobić, gdy tylko mam dostęp do zarządzanych maszyn wirtualnych? Ponieważ o ile rozumiem to AE i moja aplikacja silnika obliczeniowego znajdują się na tym samym komputerze. Czy mogę teraz rozmawiać przez localhost? –

+1

czy ta odpowiedź jest nadal aktualna na dziś? "__")? zamierzam użyć GAE i CGE (aerospike) – Kokizzu

4

Od teraz W 2016 r. Jako google cloud uruchomiono elastyczne środowisko chmury Google appengine/docs/flexible/. Tak więc jest to możliwe teraz, ponieważ teraz zarówno silnik aplikacji, jak i silnik obliczeniowy są obecne w tej samej sieci, a zatem za pomocą mechanizmu aplikacji można uzyskać dostęp do silnika obliczeniowego za pomocą wewnętrznego Ip, należy również pamiętać o usunięciu wszystkich zewnętrznych reguł zapory dla silników obliczeniowych, jeśli tylko chcesz zezwolić na dostęp z silnika aplikacji.