sql >> Database teknologi >  >> RDS >> PostgreSQL

Kører PostgreSQL ved hjælp af Amazon RDS

Cloud computing er nu almindeligt i de fleste virksomheder. Det giver mulighed for on demand tilgængelighed af computerkraft, database, lagring, applikationer og andre ressourcer via internettet.

De vigtigste fordele bag skyen er, at du ikke behøver at bruge mange penge på at købe kraftfulde servere eller bygge dine egne datacentre. Men dette er ikke den eneste fordel, når du skal skalere, behøver du ikke at købe en ny server, du kan bare tilføje ressourcer med et par klik. På lignende måde kan vi også reducere antallet af ressourcer, når de ikke er nødvendige for at reducere omkostningerne.

En cloud-database er en database, der kører på en cloud-udbyder. Det giver os mulighed for at gemme, administrere, hente og manipulere vores data via en cloud-platform; tilgængelig over internettet.

I denne blog vil vi se på de forskellige typer cloud-tilbud og derefter fokusere på at køre en PostgreSQL-database ved hjælp af Amazon RDS

Cloud-servicetilbud og muligheder

Som vi kan se på billedet ovenfor, er der flere forskellige slags skytjenester afhængigt af det nødvendige adgangsniveau.

  • På stedet: Det er installeret og kører på computere hos den person eller organisation, der bruger systemet. Faktisk er dette ikke en skytjeneste, men det er nyttigt at se forskellen.
  • IaaS: Det er en onlinetjeneste, der leverer API'er på højt niveau, der bruges til at få adgang til forskellige detaljer på lavt niveau om underliggende netværksinfrastruktur såsom fysiske computerressourcer, placering, dataopdeling, skalering, sikkerhed, sikkerhedskopiering osv.
  • PaaS: Det giver en platform, der giver kunderne mulighed for at udvikle, køre og administrere applikationer uden kompleksiteten i at bygge og vedligeholde den infrastruktur, der er forbundet med udvikling og lancering af en app.
  • SaaS: Det tilgås af brugere over internettet ved hjælp af en klient (browser). Det kræver ingen installation på klientsiden.

Hvis vi taler om PostgreSQL, er der cloud-udbydere, der tilbyder PostgreSQL i skyen; i forskellige smagsvarianter og ved hjælp af forskellige metoder. Som vi nævnte ovenfor, vil vi fokusere på Amazon RDS.

Hvad er Amazon RDS (Relational Database Service)?

Ifølge Amazons websted tilbyder de over 165 fuldt udstyrede tjenester, herunder over 40 tjenester, der ikke er tilgængelige andre steder. Så AWS er ​​formentlig verdens mest avancerede cloud-udbyder med hensyn til funktioner og tjenester med millioner af kunder.

Amazon RDS giver os mulighed for at oprette, administrere og skalere en relationel database i skyen på en nem og hurtig måde, og den er tilgængelig på forskellige databasetyper som Amazon Aurora, PostgreSQL, MySQL og mere. AWS leverer et værktøj kaldet AWS Database Migration Service til at migrere en eksisterende database til Amazon RDS.

Fordele ved Amazon RDS

  • Nem at bruge: Vi kan bruge Amazon RDS Management Console, AWS RDS Command-Line Interface eller API-kald til at få adgang til den relationelle database. Vi har ikke brug for infrastrukturprovision eller installation og vedligeholdelse af databasesoftware.
  • Skalerbar: Vi kan skalere vores databases beregnings- og lagerressourcer med kun få klik. Mange Amazon RDS-motortyper giver os mulighed for at starte en eller flere læsereplikaer for at aflaste læsetrafik fra vores primære databaseinstans.
  • Tilgængelighed: Når vi klargør en Multi-AZ DB-instans, replikerer Amazon RDS synkront dataene til en standby-instans i en anden tilgængelighedszone (AZ). Amazon RDS har mange andre funktioner, der forbedrer pålideligheden af ​​kritiske produktionsdatabaser, herunder automatiske sikkerhedskopier, database-øjebliksbilleder og automatisk værtsudskiftning.
  • Ydeevne: Vi kan vælge mellem to SSD-understøttede lagringsmuligheder:den ene optimeret til højtydende OLTP-applikationer og den anden til omkostningseffektiv generel brug.
  • Sikker: Amazon RDS lader os køre databaseforekomsterne i Amazon VPC (Virtual Private Cloud), som giver os mulighed for at isolere vores databaseforekomster og oprette forbindelse til vores eksisterende it-infrastruktur via en VPN. Mange Amazon RDS-motortyper tilbyder også kryptering i hvile og kryptering under transport.

Selv om dette ikke er officielt nævnt på AWS-webstedet, men hvis vi betragter DBaaS (Database as a Service) som en databasetjeneste, der administreres og implementeres i den eksterne udbyders infrastruktur (ifølge vores liste i afsnittet ovenfor) kan vi sige, at Amazon RDS er en "slags" DBaaS, et sted mellem en PaaS og en SaaS-tjeneste.

En guide til PostgreSQL på Amazon RDS

Først skal vi logge på AWS-konsollen. (Hvis du ikke har en AWS-konto, kan du oprette en gratis her.)

Gå derefter til Tjenester -> Database -> RDS og Opret database sektion.

Nu skal vi vælge, om vi vil følge den normale eller lette oprettelse , motoren og versionen, som vi vil implementere.

Hvis vi vælger den nemme oprettelse, behøver vi kun at tilføje databaseforekomsten navn, bruger og adgangskode.

I dette tilfælde vælger vi PostgreSQL 10 og den normale oprettelse for at kunne se oprettelsesdetaljerne, så dette vil kræve lidt mere arbejde end det nemme.

I dette tilfælde vælger vi PostgreSQL 10 og den normale oprettelse for at kunne se oprettelsesdetaljerne, så dette vil kræve lidt mere arbejde end det nemme.

I den normale oprettelse vælger vi først en skabelon, det kunne være Produktion, Udvikler/Test eller Gratis niveau.

I næste trin tilføjer vi databaseforekomstens navn, bruger og adgangskode.

Det næste trin er databaseforekomststørrelsen, hvor vi har flere muligheder i tre forskellige kategorier:Standardklasser, Memory Optimized-klasser og Burstable-klasser.

I lagersektionen kan vi vælge disktype, størrelse og opbevaringsadfærd.

En af de vigtigste AWS-funktioner er Multi-AZ-implementeringen, hvor vi kan oprette en standby-instans i en anden tilgængelighedszone for at give redundans.

Om tilslutningsmulighederne kan vi vælge en Virtual Private Cloud (VPC) til at tilslut den nye database. Her kan vi vælge yderligere muligheder som offentlig adgang, tilgængelighedszone og databaseport.

Så har vi yderligere konfiguration, hvor vi kan angive databasenavnet, databasen autentificering, sikkerhedskopieringsdetaljer, kryptering, overvågning, logning og vedligeholdelsesservice (automatiske mindre opgraderinger).

Endelig har vi mulighed for at kontrollere de anslåede månedlige omkostninger.

 

Vi kan se flere detaljer om omkostningerne her, eller endda bruge AWS Månedlig Lommeregner.

Efter at have tilføjet alle disse oplysninger, skal vi vente, indtil oprettelsesprocessen er færdig.

Når status ændres til "Tilgængelig", er vores databaseforekomst klar til at brug.

Hvis vi trykker på DB-id'et ("pg1" i vores eksempel), får vi adgang til vores databasesektion, hvor vi kan se en oversigt med information som CPU-brug, forbindelser, status og type . Her kan vi også ændre vores instanskonfiguration eller udføre forskellige handlinger som at genstarte, slette, oprette læsereplika, tage snapshots og endnu mere.

Samme sted kan vi også se mere detaljerede oplysninger i forskellige sektioner .

​Forbindelse og sikkerhed

Vi kan konfigurere sikkerhedsreglerne og kontrollere netværksoplysningerne.

Overvågning

Vi har nogle målinger til at kontrollere vores databasestatus.

logfiler og begivenheder 

Vi har alarmer, hændelser og logfiler fra vores database.

Konfiguration 

Vi kan se vores instanskonfiguration, men også en liste over anbefalinger til at forbedre den, f.eks. aktivere forbedret overvågning.

Vedligeholdelse og sikkerhedskopier 

Vi kan se oplysninger om vedligeholdelsesopgaver, sikkerhedskopiering og snapshot-processen.

Nu skulle vi være i stand til at få adgang til vores database ved at bruge Endpoint-navnet tildelt af AWS ("pg1.cibqq2gl0qof.us-east-1.rds.amazonaws.com ” i vores eksempel). Til dette skal du sørge for, at du har tilladt adgang fra sikkerhedsgruppesektionen, og at du har aktiveret offentlig adgang fra instanskonfigurationen (Offentlig tilgængelighed:Ja). I vores eksempel tillader vi al trafik fra alle kilderne, men af ​​sikkerhedsmæssige årsager vil du sandsynligvis begrænse adgangen fra en eller nogle få kilder.

Lad os nu prøve at oprette forbindelse til vores Amazon RDS-instans fra kommandolinjen :

[[email protected] ~]# psql -U postgres -h pg1.cibqq2gl0qof.us-east-1.rds.amazonaws.com

Password for user postgres:

psql (11.5, server 10.6)

SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)

Type "help" for help.



postgres=> \l

                                  List of databases

   Name    | Owner   | Encoding |   Collate | Ctype    | Access privileges

-----------+----------+----------+-------------+-------------+-----------------------

 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |

 rdsadmin  | rdsadmin | UTF8     | en_US.UTF-8 | en_US.UTF-8 | rdsadmin=CTc/rdsadmin

 template0 | rdsadmin | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/rdsadmin          +

           |          | |             | | rdsadmin=CTc/rdsadmin

 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +

           |          | |             | | postgres=CTc/postgres

(4 rows)



postgres=> select version();

                                                version

--------------------------------------------------------------------------------------------------------

 PostgreSQL 10.6 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-9), 64-bit

(1 row)

På samme måde kan vi oprette forbindelse til den fra vores foretrukne GUI (hvis vi har en).

En note om Amazon Aurora

Amazon Aurora er en MySQL- og PostgreSQL-kompatibel relationsdatabase bygget til skyen. Ifølge AWS-webstedet er Amazon Aurora tre gange hurtigere end standard PostgreSQL-databaser og giver sikkerheden, tilgængeligheden og pålideligheden af ​​kommercielle databaser til 1/10 af prisen. Uanset påstanden er dette ikke en ægte PostgreSQL-instans, bare en kompatibel motor. Men hvis du overvejer at køre PostgreSQL på Amazon, bør du bestemt overveje dette som et muligt alternativ. Du kan lære mere om Aurora og hvordan det relaterer til PostgreSQL her.

Konklusion

Skyen er overalt. Vi kan bruge det til både små og store projekter. I denne blog så vi på de forskellige slags skyer og delte, hvordan man kører PostgreSQL på Amazon RDS. Fortæl os dine tanker i kommentarerne nedenfor.


  1. Sådan gulvnumre i SQL

  2. Hvad betyder det at bruge parenteser med en OR i SQL?

  3. Eliminer dubletter ved hjælp af Oracle LISTAGG-funktionen

  4. kan ikke få simpelt PostgreSQL indsæt til at virke