Dette er en relativt hurtig opsætning af MySQL 5.7.14 på Red Hat Enterprise Linux version 7 (RHEL7).
Jeg er ikke tilknyttet AWS; Jeg nyder bare at bruge deres tjenester.
Sørg for, at du har en AWS EC2-konto. Bemærk, at selvom Amazon kræver et kreditkort registreret, vil der ikke være nogen gebyrer i det første år, hvis du overholder deres Free-tier vilkår. Dette betyder typisk en enkelt mikroinstans (1 Gb RAM) server, der kører 24/7.
Lancering af EC2 RHEL-instans
Trin 1: På AWS EC2 klik på "Launch Instance" og vælg "Red Hat Enterprise Linux 7.2 (HVM), SSD Volume Type - ami-775e4f16" som ses på billedet nedenfor. Bemærk, at versionerne af de tilgængelige eller promoverede AMI'er (Amazon Machine Instance) vil rotere over tid, og dette er i skrivende stund. Men AMI-nummeret er vist ovenfor i teksten.
Normalt valgte jeg Amazon Linux AMI som min foretrukne distro. Det gør jeg ikke længere, da det er deres egen hodge-podge, og der er naturligvis usikkerhed om, hvilken pakkemanager man skal vælge og dermed filerne. Så jeg holder mig til RHEL nu.
På skærmbilledet "Vælg en forekomsttype" skal du vælge en kvalificeret forekomsttype på frit niveau som vist nedenfor:
Klik på Næste. På den næste skærm med detaljer skal du klikke på "Næste" for at acceptere standardindstillinger. På lagerskærmen skal du ændre størrelsen til 16 GB og klikke på "Næste". Så "Næste" igen på Tag info. Dernæst kommer skærmen "Konfigurer sikkerhedsgruppe" vist nedenfor:
Accepter alternativknappen "🔘 opret en ny sikkerhedsgruppe" indtil videre. Bemærk SSH-port 22 er åben for alle (Hvor som helst) IP-adresser med 0.0.0.0/0
CIDR
. Andre muligheder inkluderer registrering af "Min IP" (som i din) eller "Custom". Vær sikker på, at med den næste skærmadgang vil blive låst ned baseret på sikkerhedsnøgler, vi vil konfigurere. Der er en knap til Tilføj regel under de åbne porte for at tilføje sådanne porte som MySQL 3306 eller HTTP 80. Men indtil videre springer vi over det. Bemærk sikkerhedsgruppens navn. Udfyld en eller accepter standarden indtil videre. Det er ikke afgørende at få dette rigtigt, da sikkerhedsgruppen kan ændres senere for en kørende instans . Klik på Gennemse og start.
Klik derefter på "Start" (frygt ikke, det vil ikke starte endnu). Som det næste skærmbillede viser:
Bemærk, at da jeg allerede har nogle nøglepar genereret, er det som standard "Vælg et eksisterende nøglepar" i den første rullemenu. Ellers "Opret et nyt nøglepar" med et givet påmindelsesnavn og fortsætter til "Download nøglepar". På dette tidspunkt har du nøgleparret som en .pem
fil. Behandl det med den største sikkerhed, gem det et sted, hvor du ikke mister det. Helst i et adgangskodebeskyttet område, f.eks. under dit operativsystems brugerbibliotek.
Når du til sidst klikker på "Start forekomster" på samme skærm, sker lanceringen i forhold til det nøglepar (enten lige oprettet eller et allerede eksisterende). Bemærk, generering af et nøglepar kan være en opgave, du kun udfører én gang om året. Genbrug af et nøglepar igen og igen, op til dig.
Efter du har startet instansen, har du cirka fem minutter, før den kommer live. Under menupunktet Forekomster til venstre ved du, at forekomsten er live, når forekomsttilstanden læser "kører", og statuskontrollen viser "2/2 bestået":
Husk .pem
fil du har downloadet? Nå, bare én gang skal du oprette en .ppk
fil ud af det for PuTTY, et SSH-klientprogram, der kommunikerer krytosikret til din kørende instans. Til det bruger vi puttygen
værktøj, der fungerer i harmoni med PuTTY. Så vi kører puttygen, indlæs .pem
downloadet minutter før, og generer .ppk
fil med en "Nøgleadgangssætning", såsom "Jeg &elsker%ancHovies2_fjdi8Ha". Nedenfor er et billede af puttygen:
Og AWS EC2-siden med titlen Opretter forbindelse til din Linux-instans fra Windows ved hjælp af PuTTY
. Trinene er Fil / Indlæs privat nøgle. Skift filteret til Alle filer (. ). Find .pem
fil. Tryk på "Åbn" og derefter "Ok". Indtast en adgangssætning. Klik på "gem privat nøgle", og gem den i samme mappe som en .ppk
fil sammen med din .pem
fil. Som nævnt er dette ikke noget, du måske gør, men årligt.
Kør nu PuTTY, SSH-klienten. Brug sessionen/værtsnavnet som noget lignende
[email protected]
Så det er dybest set [email protected]
sammenkædet med det offentlige DNS-navn, der ses under Forekomster på EC2-kontrolpanelet. Med hensyn til angivelse af PuTTY .ppk
fil, ville den se ud som nedenstående med .ppk
fil valgt ved siden af knappen Gennemse:
Gå tilbage til sessionens øverste venstre hierarki vist nedenfor, giv dette et profilnavn under Gemte sessioner, og tryk på "Gem". Når du herefter indlæser PuTTY, indlæser du blot sessionen efter navn:
Glem ikke, at næsten alt, hvad du gør her, er at gemme .ppk
henvisning til en venligt navngivet profil. Og du kan af og til have brug for at ændre værtsnavnet (i hvert fald når du gemmer et instansbillede på EC2 og kommer tilbage med en ny instans-IP-adresse ved en efterfølgende lancering).
Ok, det er ikke nemt. Men det er, hvad det er.
Når du klikker på Åbn, vil den forsøge at oprette forbindelse til din RHEL-instans. Tryk på Ja på signaturadvarslen. Indtast den tidligere gemte .ppk
Key Passphrase, og du burde sidde ved en Linux-prompt.
MySQL-installation (jeg vil lægge disse noter på GitHub)
URL01:Download MySQL Yum Repository
URL02:Kapitel 1 Installation MySQL på Linux ved hjælp af MySQL Yum Repository
Du har nu MySQL 5.7.14 indlæst og kørende på EC2 med en database og brugeropsætning. Dine servere skal afbildes. Se dette svar her af mine til at skabe billeder (AMI'er). Sikkerhedskopier dine data. Se EC2-dokumentationen såsom Bedste praksis for Amazon EC2 .
Tilbage til sikkerhed:bedste praksis foreslår bestemt, at du ikke åbner din db for direkte forbindelser via sikkerhedsgrupper til port 3306. Hvordan du vælger at overholde det, er dit valg, f.eks. med en PHP, Java eller anden programmerings-API. Bemærk, at forskellige db-klientprogrammer kan oprette forbindelse gennem SSH-tunneler såsom MySQL Workbench. Derudover findes der forskellige udviklingsbiblioteker med SSH Tunnels, men de er ikke særlig nemme at udvikle imod (hovedsageligt på grund af svære nøgleringe og mangel på omfattende udviklererfaringer). For eksempel er der en til C# her .
Derudover har AWS RDS og andre databasetilbud for mindre praktisk og rullende din egen som ovenstående. Grunden til, at mange udviklere målretter mod EC2, skyldes, at du har en komplet server til dine andre programmeringsinitiativer.
Hvis du ændrer sikkerhedsgrupperne som nævnt før, bedes du overveje at bruge IP-områder baseret på CIDR-indtastninger og være forsigtig, før du overeksponerer dine datalagre. Eller overbevilling. Stort set den samme bedste praksis, som du ville gøre for on-premise-arbejde.
Med hensyn til denne MySQL-sektion er mine GitHub-noter til ovenstående få billeder placeret Her .