Nyilvános hozzáférés az Azure Cosmos DB for PostgreSQL-ben
A KÖVETKEZŐKRE VONATKOZIK: Azure Cosmos DB for PostgreSQL (a Citus adatbázisbővítménye a PostgreSQL-re)
Az Azure Cosmos DB for PostgreSQL három hálózati lehetőséget támogat:
- Nincs hozzáférés
- Ez az újonnan létrehozott fürt alapértelmezett értéke, ha a nyilvános vagy a privát hozzáférés nincs engedélyezve. Az adatbáziscsomópontokhoz egyetlen számítógép sem tud csatlakozni, akár az Azure-on belül, akár azon kívül.
- Nyilvános hozzáférés
- A koordinátor csomóponthoz nyilvános IP-cím van hozzárendelve.
- A koordinátor csomóponthoz való hozzáférést tűzfal védi.
- Opcionálisan az összes feldolgozó csomóponthoz való hozzáférés engedélyezhető. Ebben az esetben a nyilvános IP-címek a feldolgozó csomópontokhoz vannak rendelve, és ugyanazzal a tűzfallal vannak védve.
- Privát hozzáférés
- Csak a privát IP-címek vannak hozzárendelve a fürt csomópontjaihoz.
- Minden csomóponthoz szükség van egy privát végpontra, hogy a kijelölt virtuális hálózat gazdagépei elérhessék a csomópontokat.
- Az Azure-beli virtuális hálózatok, például a hálózati biztonsági csoportok biztonsági funkciói használhatók a hozzáférés-vezérléshez.
Fürt létrehozásakor engedélyezheti a nyilvános vagy a privát hozzáférést, vagy választhatja a hozzáférés nélküli alapértelmezett beállítást. A fürt létrehozása után dönthet úgy, hogy a nyilvános vagy a privát hozzáférés között vált, vagy mindkettőt egyszerre aktiválja.
Ez a lap a nyilvános hozzáférés lehetőségét ismerteti. A privát hozzáférésről lásd : Privát hozzáférés az Azure Cosmos DB for PostgreSQL-ben.
Tűzfal áttekintése
Az Azure Cosmos DB for PostgreSQL-kiszolgáló tűzfala mindaddig megakadályozza a koordinátor csomóponthoz való hozzáférést, amíg meg nem adja, hogy mely számítógépek rendelkeznek engedéllyel. A tűzfal biztosítja az adatbázisokhoz való hozzáférést az egyes kérések eredeti IP-címe alapján. A tűzfal konfigurálásakor olyan tűzfalszabályokat adhat meg, amelyek meghatározzák az elfogadható IP-címtartományokat. Tűzfalszabályok a kiszolgálószinten hozhatóak létre.
Tűzfalszabályok: Ezek a szabályok lehetővé teszik az ügyfelek számára, hogy hozzáférjenek a koordinátor csomópontjához, vagyis az összes adatbázishoz ugyanazon a logikai kiszolgálón belül. A kiszolgálószintű tűzfalszabályok az Azure Portal használatával konfigurálhatók. Csak az előfizetés tulajdonosa vagy az előfizetés közreműködői hozhatnak létre kiszolgálószintű tűzfalszabályokat.
Alapértelmezés szerint a tűzfal blokkolja a koordinátor csomóponthoz való összes adatbázis-hozzáférést. Ha egy másik számítógépről szeretné használni a kiszolgálót, meg kell adnia egy vagy több kiszolgálószintű tűzfalszabályt a kiszolgálóhoz való hozzáférés engedélyezéséhez. A tűzfalszabályok segítségével megadhatja, hogy az internetről mely IP-címtartományokat engedélyezze. Az Azure Portal webhelyének elérését nem érintik a tűzfalszabályok. Az internetről és az Azure-ból történő csatlakozási kísérleteknek először át kell haladniuk a tűzfalon, mielőtt elérnék a PostgreSQL-adatbázist, ahogy az alábbi ábrán látható:
Csatlakozás az internetről és az Azure-ból
A fürt tűzfala szabályozza, hogy kik csatlakozhatnak a csoport koordinátorcsomópontjaihoz. A tűzfal a szabályok konfigurálható listájával határozza meg a hozzáférést. Minden szabály egy IP-cím vagy címtartomány, amely engedélyezett.
Ha a tűzfal blokkolja a kapcsolatokat, az alkalmazáshibákat okozhat. A PostgreSQL JDBC-illesztő használata például ehhez hasonló hibát eredményez:
java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.postgresql.util.PSQLException: FATAL: no pg\_hba.conf entry for host "123.45.67.890", user "citus", database "citus", SSL
A szabályok definiálásáról további információt a tűzfalszabályok létrehozása és kezelése című témakörben talál.
Az adatbázis-kiszolgáló tűzfalának hibaelhárítása
Ha a Microsoft Azure Cosmos DB for PostgreSQL szolgáltatáshoz való hozzáférés nem a várt módon működik, vegye figyelembe az alábbi szempontokat:
Az engedélyezési lista módosításai még nem lépnek érvénybe: Az Azure Cosmos DB for PostgreSQL tűzfalkonfigurációjának módosítása akár öt perces késéssel is járhat.
A felhasználó nincs engedélyezve, vagy helytelen jelszót használtak: Ha egy felhasználó nem rendelkezik engedélyekkel a kiszolgálón, vagy a használt jelszó helytelen, a rendszer megtagadja a kapcsolatot a kiszolgálóval. Tűzfalbeállítás létrehozása csak lehetőséget biztosít az ügyfelek számára a kiszolgálóhoz való csatlakozásra. Minden ügyfélnek meg kell adnia a szükséges biztonsági hitelesítő adatokat.
JDBC-ügyfél használatával például a következő hiba jelenhet meg.
java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.postgresql.util.PSQLException: FATAL: password authentication failed for user "yourusername"
Dinamikus IP-cím: Ha dinamikus IP-címzéssel rendelkező internetkapcsolattal rendelkezik, és nem tud átjutni a tűzfalon, próbálkozzon az alábbi megoldások egyikével:
Kérje meg az internetszolgáltatótól (INTERNETP) a koordinátor csomópontot elérő ügyfélszámítógépekhez rendelt IP-címtartományt, majd adja hozzá az IP-címtartományt tűzfalszabályként.
Kérje le inkább a statikus IP-címzést az ügyfélszámítógépekhez, majd adja hozzá a statikus IP-címet tűzfalszabályként.
Következő lépések
A kiszolgálószintű és adatbázisszintű tűzfalszabályok létrehozásával kapcsolatos cikkekért lásd: