Konfigurowanie prywatnego dostępu do Google w Firestore w trybie zgodności z MongoDB

Z tego artykułu dowiesz się, jak włączyć i skonfigurować prywatny dostęp do Google w Cloud Firestore.

Prywatny dostęp do Google w Cloud Firestore

Domyślnie, gdy maszyna wirtualna Compute Engine nie ma zewnętrznego adresu IP przypisanego do interfejsu sieciowego, może wysyłać pakiety tylko do innych wewnętrznych adresów IP. Możesz zezwolić tym maszynom wirtualnym na łączenie się z usługą Cloud Firestore, włączając prywatny dostęp do Google w podsieciCloud Firestore używanej przez interfejs sieciowy maszyny wirtualnej.

Obowiązujące usługi i protokoły

  • Instrukcje w tym przewodniku dotyczą tylko Cloud Firestore.

  • Domyślne domeny i domeny VIP używane przez Cloud Firestore oraz ich zakresy adresów IP obsługują tylko protokół MongoDB na porcie 443. Pozostałe protokoły nie są obsługiwane.

Wymagania związane z siecią

Interfejs maszyny wirtualnej może uzyskiwać dostęp do interfejsów API i usług Google przez wewnętrzną sieć Google za pomocą prywatnego dostępu do Google, jeśli spełnione są wszystkie te warunki:

  • Interfejs maszyny wirtualnej jest połączony z podsiecią, w której włączony jest prywatny dostęp do Google.

  • Interfejs maszyny wirtualnej nie ma przypisanego zewnętrznego adresu IP.

  • Źródłowy adres IP pakietów wysłanych z maszyny wirtualnej jest zgodny z jednym z tych adresów IP:

    • Podstawowy wewnętrzny adres IPv4 interfejsu maszyny wirtualnej.
    • wewnętrzny adres IPv4 z zakresu adresów IP aliasów,

Maszyna wirtualna z zewnętrznym adresem IPv4 przypisanym do interfejsu sieciowego nie potrzebuje prywatnego dostępu do Google, aby łączyć się z interfejsami API i usługami Google. Sieć VPC musi jednak spełniać wymagania dotyczące dostępu do interfejsów API i usług Google.

Uprawnienia

Właściciele i edytujący projekty oraz podmioty zabezpieczeń IAM z przypisaną rolą administratora sieci mogą tworzyć i aktualizować podsieci oraz przypisywać adresy IP.

Więcej informacji o rolach znajdziesz w dokumentacji ról uprawnień.

Logowanie

Cloud Logging rejestruje wszystkie żądania API wysyłane z instancji maszyn wirtualnych w podsieciach, w których włączony jest prywatny dostęp do Google. Wpisy w dzienniku identyfikują źródło żądania do interfejsu API jako wewnętrzny adres IP wywołującej instancji.

Możesz skonfigurować dostarczanie dziennych raportów o wykorzystaniu i miesięcznych raportów podsumowania do Cloud Storagekosza. Szczegółowe informacje znajdziesz na stronie Wyświetlanie raportów o użyciu.

Podsumowanie konfiguracji

W tabeli poniżej znajdziesz podsumowanie różnych sposobów konfigurowania prywatnego dostępu do Google w Cloud Firestore. Szczegółowe instrukcje znajdziesz w artykule Konfiguracja sieci.

Opcja domeny Zakresy adresów IP Konfiguracja DNS Konfiguracja routingu Konfiguracja zapory sieciowej

Domena domyślna (firestore.goog)

Domyślne domeny są używane, gdy nie skonfigurujesz rekordów DNS dla restricted.firestore.goog.

136.124.0.0/23 Dostęp do usługi Cloud Firestore odbywa się za pomocą publicznych adresów IP, więc nie jest wymagana żadna specjalna konfiguracja DNS.

Sprawdź, czy sieć VPC może kierować ruch do zakresów adresów IP używanych przez usługę Cloud Firestore.

  • Podstawowa konfiguracja: sprawdź, czy masz trasy domyślne z następnym przeskokiem default-internet-gateway i zakresem docelowym 0.0.0.0/0. Utwórz te trasy, jeśli ich nie ma.
  • Konfiguracja niestandardowa: utwórz trasy do zakresu adresów IP 136.124.0.0/23.

Sprawdź, czy reguły zapory sieciowej zezwalają na ruch wychodzący do zakresu adresów IP 136.124.0.0/23.

Domyślna reguła zezwalająca zapory sieciowej dotycząca ruchu wychodzącego zezwala na ten ruch, jeśli nie ma reguły o wyższym priorytecie, która go blokuje.

restricted.firestore.goog

Użyj restricted.firestore.goog, aby uzyskać dostęp do usługi Cloud Firestore za pomocą zestawu adresów IP, które można kierować tylko z Google Cloud. Może być używana w scenariuszach Ustawień usługi VPC.

199.36.153.2/31 Skonfiguruj rekordy DNS, aby wysyłać żądania do zakresu adresów IP 199.36.153.2/31. Sprawdź, czy sieć VPC ma trasy do zakresu adresów IP 199.36.153.2/31. Sprawdź, czy reguły zapory sieciowej zezwalają na ruch wychodzący do zakresu adresów IP 199.36.153.2/31.

Konfiguracja sieci

W tej sekcji opisaliśmy, jak skonfigurować sieć, aby uzyskać dostęp do Cloud Firestore za pomocą prywatnego dostępu do Google.

Konfiguracja DNS

W przeciwieństwie do innych interfejsów API Google interfejs Cloud Firestore API używa innych nazw domen i adresów IP na potrzeby prywatnego dostępu do Google:

  • restricted.firestore.goog umożliwia dostęp do interfejsu API Cloud Firestore.

    • Adresy IP: 199.36.153.2199.36.153.3.

    • Ponieważ domena Cloud Firestore jest zgodna z Ustawieniami usługi VPC, możesz jej używać w scenariuszach Ustawień usługi VPC.

Aby utworzyć strefę DNS i rekordy dla Cloud Firestore:

  1. Utwórz prywatną strefę DNS dla domeny firestore.goog.

    W tym celu rozważ utworzenie prywatnej strefy Cloud DNS.

  2. W strefie firestore.goog utwórz te rekordy:

    1. Rekord A dla restricted.firestore.goog, który wskazuje te adresy IP: 199.36.153.2 i 199.36.153.3.

    2. Rekord CNAME dla domeny *.firestore.goog, który wskazuje adres restricted.firestore.goog.

    Aby utworzyć te rekordy w Cloud DNS, przeczytaj sekcję Dodawanie rekordu.

Konfiguracja routingu

Sieć VPC musi mieć odpowiednie trasy, których następne przeskoki są domyślną bramą internetową. Google Cloud nie obsługuje kierowania ruchu do interfejsów API i usług Google przez inne instancje maszyn wirtualnych ani niestandardowe następne przeskoki. Mimo że nazywa się domyślną bramą internetową, pakiety wysyłane z maszyn wirtualnych w sieci VPC do interfejsów API i usług Google pozostają w sieci Google.

  • Jeśli wybierzesz opcję domeny domyślnej, instancje maszyn wirtualnych połączą się z usługą Cloud Firestore przy użyciu tego zakresu publicznych adresów IP: 136.124.0.0/23 . Te adresy IP są publicznie dostępne, ale ścieżka z maszyny wirtualnej w sieci VPC do tych adresów pozostaje w sieci Google.

  • Google nie publikuje w internecie tras do żadnego z adresów IP używanych przez domenę restricted.firestore.goog. W konsekwencji dostęp do tej domeny mogą mieć tylko maszyny wirtualne w sieci VPC lub systemy lokalne połączone z siecią VPC.

Jeśli Twoja sieć VPC zawiera trasę domyślną, której następnym przeskokiem jest domyślna brama internetowa, możesz użyć tej trasy, aby uzyskać dostęp do usługi Cloud Firestore bez konieczności tworzenia niestandardowych tras. Szczegółowe informacje znajdziesz w artykule Routing z trasą domyślną.

Jeśli zastąpisz trasę domyślną (miejsce docelowe 0.0.0.0/0 lub ::0/0) trasą niestandardową, której następny przeskok nie jest domyślną bramą internetową, możesz spełnić wymagania dotyczące routingu dla usługi Cloud Firestore, korzystając zamiast tego z routingu niestandardowego.

Wyznaczanie trasy domyślnej

Każda sieć VPC zawiera domyślną trasę IPv4 (0.0.0.0/0) w momencie jej tworzenia.

Trasa domyślna zapewnia ścieżkę do adresów IP tych miejsc docelowych:

  • Domena domyślna (firestore.goog): 136.124.0.0/23
  • restricted.firestore.goog: 199.36.153.2/31

Instrukcje dotyczące sprawdzania konfiguracji trasy domyślnej w danej sieci w konsoli Google Cloud i Google Cloud CLI znajdziesz w artykule Konfigurowanie prywatnego dostępu do Google.

Routing z użyciem tras niestandardowych

Zamiast trasy domyślnej możesz używać niestandardowych tras statycznych, z których każda ma bardziej konkretne miejsce docelowe i korzysta z domyślnej bramy internetowej jako następnego przeskoku. Docelowe adresy IP tras zależą od wybranej domeny:

  • Domena domyślna (firestore.goog): 136.124.0.0/23
  • restricted.firestore.goog: 199.36.153.2/31

Instrukcje dotyczące sprawdzania konfiguracji tras niestandardowych w danej sieci w konsoli Google Cloud i Google Cloud CLI znajdziesz w artykule Konfigurowanie prywatnego dostępu do Google.

Konfiguracja zapory sieciowej

Konfiguracja zapory sieci VPC musi zezwalać na dostęp z maszyn wirtualnych do adresów IP używanych przez usługę Cloud Firestore. Wymaganie to spełnia domyślna reguła allow egress.

W przypadku niektórych konfiguracji zapory sieciowej musisz utworzyć konkretne reguły zezwalające na ruch wychodzący. Załóżmy na przykład, że utworzono regułę odrzucania ruchu wychodzącego, która blokuje ruch do wszystkich miejsc docelowych (0.0.0.0 w przypadku IPv4). W takim przypadku musisz utworzyć 1 regułę zapory sieciowej zezwalającą na ruch wychodzący, której priorytet jest wyższy niż priorytet reguły odrzucającej ruch wychodzący dla każdego zakresu adresów IP używanego przez wybraną domenę:

  • Domena domyślna (firestore.goog: 136.124.0.0/23
  • restricted.firestore.goog: 199.36.153.2/31

Aby utworzyć reguły zapory sieciowej, zapoznaj się z sekcją Tworzenie reguł zapory sieciowej. Możesz ograniczyć maszyny wirtualne, do których mają zastosowanie reguły zapory sieciowej, definiując cel każdej reguły zezwalającej na ruch wychodzący.

Konfiguracja prywatnego dostępu do Google

Prywatny dostęp do Google możesz włączyć po spełnieniu wymagań sieciowych w sieci VPC. Aby uzyskać instrukcje dotyczące konsoli Google Cloud i Google Cloud CLI, wykonaj czynności opisane w artykule Włączanie prywatnego dostępu do Google.

Co dalej?