sql >> Database >  >> RDS >> PostgreSQL

Hybride Cloud PostgreSQL-implementatietips

Hybrid Cloud is een veelvoorkomend architectuurontwerp in elk bedrijf. Dit concept combineert public cloud, private cloud en zelfs on-premise oplossingen waardoor bedrijven flexibiliteit hebben over waar ze hun data kunnen opslaan en gebruiken. Het helpt ook bij het implementeren van een High Availability-omgeving. Het probleem is dat het implementeren van dit soort omgevingen een moeilijke en tijdrovende taak kan zijn. In deze blog zullen we zien wat Hybrid Cloud is, enkele overwegingen waarmee u rekening moet houden voordat u het gebruikt en hoe u deze omgeving kunt implementeren met ClusterControl.

Wat is hybride cloud?

Het is een topologie die gebruikmaakt van een combinatie van private en public cloud, en zelfs on-premises services. Het klinkt vergelijkbaar met een Multi-Cloud-omgeving, maar het belangrijkste verschil is dat dit concept specifiek verwijst naar de combinaties van openbaar en privé, waaronder ook on-prem kan vallen.

Overwegingen voor hybride clouddatabases

De overstap naar een hybride omgeving is voor elk bedrijf anders, omdat ze hun eigen unieke set gegevens, vereisten, beperkingen en bijbehorende processen hebben.

Laten we enkele overwegingen bekijken waarmee rekening moet worden gehouden bij het plannen van dit soort topologie.

  • Naleving:zorg ervoor dat u een leverancier selecteert die gespecialiseerd is in uw branche en bekend is met de unieke nalevingsmaatregelen die waaraan moet worden voldaan, of dat nu HIPAA, FISMA, PCI is of welke regelgeving uw bedrijf ook onderschrijft. Uiteindelijk moet uw databasebeheerstrategie worden bepaald door welke architectuur het beste aansluit bij de behoeften van uw bedrijf en met u meegroeit naarmate u groeit.

  • Workloads:elke database heeft verschillende workloads. Sommige daarvan zullen het beter doen in een openbare cloud, sommige op locatie en sommige in een privécloud. Het kennen van uw werklast is essentieel om de beste mix voor uw databases te vinden.

  • Beheer en onderhoud:een nieuwe omgeving betekent een nieuwe manier om deze te beheren en de gegevens te onderhouden. Zorg ervoor dat je de juiste onderdelen en mensen hebt om deze nieuwe omgevingen te beheren voordat je de sprong maakt.

PostgreSQL implementeren in een hybride cloudomgeving

We gaan ervan uit dat u een ClusterControl-installatie hebt uitgevoerd en al twee verschillende Cloud Provider-accounts hebt aangemaakt, of één account als u Public en Private Cloud in dezelfde Cloud Provider gebruikt, of als u een combinatie van cloud- en on-prem-omgevingen.

Uw cloudomgeving voorbereiden

Eerst moet u uw omgeving maken in uw belangrijkste Cloud Provider. In dit geval gebruiken we AWS met 2 PostgreSQL-knooppunten:

Zorg ervoor dat het SSH- en PostgreSQL-verkeer van uw ClusterControl-server is toegestaan ​​door uw beveiligingsgroep bewerken:

Ga vervolgens naar de secundaire cloudprovider of naar de privé- of on-prem-servers en maak ten minste één virtuele machine die het stand-byknooppunt zal zijn.

En nogmaals, zorg ervoor dat u SSH- en PostgreSQL-verkeer van uw ClusterControl-server toestaat:

In dit geval laten we het verkeer toe zonder enige beperking van de bron, maar het is slechts een voorbeeld en wordt in het echte leven niet aanbevolen.

Een PostgreSQL-cluster implementeren

Ga naar uw ClusterControl-server en selecteer de optie "Deploy". Als er al een PostgreSQL-instantie actief is, moet u in plaats daarvan 'Bestaande server/database importeren' selecteren.

Als je PostgreSQL selecteert, moet je Gebruiker, Sleutel of Wachtwoord en poort specificeren om via SSH verbinding te maken met je PostgreSQL-knooppunten. Je hebt ook de naam van je nieuwe cluster nodig en als je wilt dat ClusterControl de bijbehorende software en configuraties voor je installeert.

Controleer de gebruikersvereisten van ClusterControl voor meer informatie over deze stap.

Na het instellen van de SSH-toegangsinformatie, moet u de databasegebruiker, -versie en datadir (optioneel) definiëren. U kunt ook aangeven welke repository u wilt gebruiken. In de volgende stap moet u uw servers toevoegen aan het cluster dat u gaat maken.

Bij het toevoegen van uw servers kunt u IP of hostnaam invoeren. In deze stap kunt u ook het knooppunt toevoegen dat in de secundaire Cloud Provider of op locatie is geplaatst, aangezien ClusterControl geen beperkingen heeft met betrekking tot het te gebruiken netwerk, maar om het duidelijker te maken, zullen we het in de volgende toevoegen sectie. De enige vereiste hier is om SSH-toegang tot het knooppunt te hebben.

In de laatste stap kunt u kiezen of uw replicatie synchroon of asynchroon zal zijn.

Als u uw externe node hier toevoegt, is het belangrijk om asynchrone replicatie te gebruiken, zo niet, dan kan uw cluster worden beïnvloed door de latentie of netwerkproblemen.

U kunt de aanmaakstatus volgen in de ClusterControl-activiteitenmonitor.

Zodra de taak is voltooid, kunt u uw nieuwe PostgreSQL-cluster zien in het hoofdscherm van ClusterControl.

Een extern stand-byknooppunt toevoegen

Zodra je je cluster hebt gemaakt, kun je er verschillende taken op uitvoeren, zoals het implementeren/importeren van een load balancer of een replicatieknooppunt.

Ga naar clusteracties en selecteer "Replicatieslave toevoegen":

Laten we de optie "Nieuwe replicatieslave toevoegen" gebruiken, omdat we aannemen dat het externe knooppunt een nieuwe installatie is, zo niet, dan kunt u in plaats daarvan de optie "Bestaande replicatieslave importeren" gebruiken.

Hier hoeft u alleen uw primaire server te kiezen, het IP-adres voor uw nieuwe standby-server en de databasepoort in te voeren. Vervolgens kunt u kiezen of u wilt dat ClusterControl de software installeert en of de replicatie Synchroon of Asynchroon moet zijn. Nogmaals, als u een knooppunt toevoegt op een andere locatie (andere cloudprovider of op locatie), moet u asynchrone replicatie gebruiken om problemen met de netwerkprestaties te voorkomen.

Op deze manier kunt u zoveel replica's toevoegen als u wilt en het leesverkeer tussen de replica's verdelen met behulp van een load balancer, die u ook kunt implementeren met ClusterControl.

U kunt het maken van replicatieknooppunten volgen in de ClusterControl-activiteitenmonitor.

En controleer uw uiteindelijke topologie in de sectie Topologieweergave.

Conclusie

Met deze ClusterControl-functies kunt u snel replicatie opzetten in een Hybrid Cloud-omgeving, tussen verschillende Cloud Providers, of zelfs tussen een Cloud Provider en een On-prem-omgeving, voor een PostgreSQL-database (en verschillende technologieën), en de installatie beheren in een gemakkelijke en vriendelijke manier. Over de communicatie tussen de Cloud Providers, of tussen Private en Public Cloud, moet u om veiligheidsredenen het verkeer alleen van bekende bronnen beperken, om het risico van ongeautoriseerde toegang tot uw netwerk te verminderen.


  1. SQLite Self-Join

  2. Flask-SQLAlchemy Index met kleine letters - functioneel overslaan, niet ondersteund door SQLAlchemy-reflectie

  3. PSQLEException:ResultSet niet goed gepositioneerd, misschien moet je hierna bellen

  4. BIN() – Verkrijg de binaire waarde van een getal in MySQL