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

Na tej stronie dowiesz się, jak włączyć i skonfigurować prywatny dostęp do Google w Cloud Firestore.

Informacje o prywatnym dostępie 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 podsieci używanej przez interfejs sieciowy maszyny wirtualnej.

Odpowiednie usługi i protokoły

  • Instrukcje w tym przewodniku dotyczą tylko Cloud Firestore.

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

Wymagania związane z siecią

Interfejs maszyny wirtualnej może uzyskać dostęp do interfejsów API Google i usług przez wewnętrzną sieć Google przy użyciu 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 wysył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 aliasów IP.

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

Uprawnienia

Właściciele projektów, edytujący i podmioty zabezpieczeń uprawnień z rolą administratora sieci mogą tworzyć i aktualizować podsieci oraz przypisywać adresy IP.

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

Logowanie

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

Możesz skonfigurować raporty dotyczące dziennego wykorzystania i miesięczne raporty zbiorcze, aby były dostarczane do zasobnika Cloud Storage. Szczegółowe informacje znajdziesz na stronie Wyświetlanie raportów dotyczących wykorzystania.

Podsumowanie konfiguracji

W tabeli poniżej znajdziesz podsumowanie różnych sposobów konfigurowania prywatnego dostępu do Google w Cloud Firestore. Więcej informacji i 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)

Domeny domyślne 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 uzyskujesz przez jej publiczne adresy 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.

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 zapory sieciowej zezwalająca na ruch wychodzący 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żywany 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 opisano, 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.2 i 199.36.153.3.

    • Usługa Cloud Firestore jest zgodna z Ustawieniami usługi VPC, więc możesz używać tej domeny w scenariuszach Ustawień usługi VPC.

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

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

    W tym celu rozważ utworzenie strefy prywatnej 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 *.firestore.goog, który wskazuje restricted.firestore.goog.

    Aby dowiedzieć się, jak utworzyć te rekordy w Cloud DNS, przeczytaj artykuł o dodawaniu rekordu.

Konfiguracja routingu

Sieć VPC musi mieć odpowiednie trasy, których następnymi przeskokami jest domyślna brama internetowa. Google Cloud nie obsługuje kierowania ruchu do interfejsów API Google i usług przez inne instancje maszyn wirtualnych ani niestandardowe następne przeskoki. Mimo że brama 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 będą łączyć się z usługą Cloud Firestore przy użyciu tego zakresu publicznych adresów IP: 136.124.0.0/23 . Te adresy IP można kierować publicznie, 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 związku z tym dostęp do tej domeny mogą uzyskać tylko maszyny wirtualne w sieci VPC lub systemy lokalne połączone z siecią VPC.

Jeśli 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 tras niestandardowych. Szczegółowe informacje znajdziesz w sekcji Routing z trasą domyślną.

Jeśli trasa domyślna (miejsce docelowe 0.0.0.0/0 lub ::0/0) została zastąpiona trasą niestandardową, której następny przeskok nie jest domyślną bramą internetową, możesz spełnić wymagania dotyczące routingu usługi Cloud Firestore, używając routingu niestandardowego.

Routing z trasą domyślną

Każda sieć VPC po utworzeniu zawiera domyślną trasę IPv4 (0.0.0.0/0).

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 za pomocą konsoli Google Cloud i Google Cloud CLI znajdziesz w artykule Konfigurowanie prywatnego dostępu do Google.

Routing z trasami niestandardowymi

Zamiast trasy domyślnej możesz użyć niestandardowych tras statycznych, z których każda ma bardziej konkretne miejsce docelowe i używa następnego przeskoku domyślnej bramy internetowej. 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 za pomocą konsoli Google Cloud i Google Cloud CLI znajdziesz w artykule Konfigurowanie prywatnego dostępu do Google.

Konfiguracja zapory sieciowej

Konfiguracja zapory sieciowej sieci VPC musi zezwalać na dostęp z maszyn wirtualnych do adresów IP używanych przez usługę Cloud Firestore. Reguła domniemana allow egress spełnia to wymaganie.

W niektórych konfiguracjach zapory sieciowej musisz utworzyć określone reguły zezwalające na ruch wychodzący. Załóżmy na przykład, że została utworzona reguła odmowy ruchu wychodzącego, która blokuje ruch do wszystkich miejsc docelowych (0.0.0.0 w przypadku IPv4). W takim przypadku musisz utworzyć jedną regułę zapory sieciowej zezwalającą na ruch wychodzący, której priorytet jest wyższy niż reguła blokująca 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

Informacje o tworzeniu reguł zapory sieciowej znajdziesz w artykule Tworzenie reguł zapory sieciowej. Możesz ograniczyć maszyny wirtualne, do których mają być stosowane 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. Instrukcje dotyczące konsoli Google Cloud i Google Cloud CLI znajdziesz w artykule Włączanie prywatnego dostępu do Google.

Co dalej?