- Összetevők
- SQL adatbázis létrehozása
- Kapcsoldás az adatbázishoz
- Adatbázis létrehozása
- Alkalmazás helyi futtatása
- Alkalmazás futtatása Elastic Beanstalk segítségével
- AWS Elastic Beanstalk
- AWS RDS (MariaDB)
- Lépjünk be az AWS konzolba
- Keresőbe írjuk be a RDS szolgáltatást
- Kattintsunk a "Create database" gombra
- Válasszuk ki a Mariadb adatbázist
- Válasszuk ki a "Free tier" opciót
- Töltsük ki a következő oldalon a kötelező mezőket
- DB instance identifier: adatbazis
- Master username: adatgazda
- Jelszónál (Master password) generáljunk valami erős jelszót itt. (Pl.:
FA+Hb#Tb8dLsUdac8UVesY*8
)
- Kattintsunk a "Create database" gombra
- Miután létrejött az adatbázis, kattintsunk rá, majd kattintsunk a "Modify" gombra
- A "Public accessibility" opciót állítsuk "Yes" (Connectivity > Additional configuration)
- Kattintsunk a "Continue" gombra
- Kattintsunk a "Apply immediately" gombra
- Kattintsunk a "Modify DB instance" gombra
- Várd meg, amíg a módosítás végrehajtódik
Többféle programot hasznélhatunk az adatbázis kezelésére, de most a Beekeeper-t fogjuk használni. Innen tudod letölteni: Beekeeper
- Telepítsd a Beekeeper-t
- Nyisd meg a programot
- Kattints a "New Connection" gombra
- Kapcsolat típusa: MariaDB
- Töltsd ki a következő mezőket:
- Connection name: AWS RDS
- Hostname: az RDS adatbázisunk endpoint-je (ezt megtalálod az RDS konzolban)
- Port: 3306
- Username: adatgazda
- Password: a korábban generált jelszó
- Kattints a "Test" gombra, hogy ellenőrizd a kapcsolatot
- Ha minden rendben van, kattints a "Save" gombra
- Csatlakozz az adatbázishoz
- Nyiss egy új lekérzező (Query) fület
- Futtasd le a következő SQL parancsot:
CREATE DATABASE cikkek
CHARACTER SET utf8
COLLATE utf8_hungarian_ci;
USE cikkek;
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL
);
CREATE TABLE posts (
id INT AUTO_INCREMENT PRIMARY KEY,
userId INT,
title VARCHAR(255) NOT NULL,
content TEXT,
FOREIGN KEY (userId) REFERENCES users(id)
);
- Klónozd le a projektet
- Telepítsd a szükséges csomagokat:
npm install
- Hozz létre egy
.env
fájlt a projekt gyökérkönyvtárában a következő tartalommal:
# .env file
DB_USER="adatgazda"
DB_PASSWORD={RDS jelszava}
DB_SERVER={RDS endpoint}
DB_NAME="cikkek"
DB_PORT="3306"
- Indítsd el az alkalmazást:
npm start
- Nyisd meg a böngészőt, és látogasd meg a
http://localhost:8080
címet
Elastic Beanstalk környezet létrehozásához szükségünk lesz egy EC2 instance profile-ra, amely engedélyezi az EC2 példányoknak a megfelelő hozzáférését.
- Lépjünk be az AWS konzolba
- Keresőbe írjuk be az IAM szolgáltatást
- A bal oldali menüben kattintsunk az "Roles" menüpontra
- A
Trusted entity type
lehetőségek közül válasszuk ki azAWS service
opciót - A
Choose a use case
lehetőségek közül válasszuk ki azEC2
opciót - Kattintsunk a "Next" gombra
- Adjuk hozzá a következő engedélyeket:
- AWSElasticBeanstalkWebTier
- AWSElasticBeanstalkWorkerTier
- AWSElasticBeanstalkMulticontainerDocker
- Kattintsunk a "Next" gombra
- Role name: webalkalmazas-role
- Kattintsunk a "Create role" gombra
- Lépjünk be az AWS konzolba
- Keresőbe írjuk be az Elastic Beanstalk szolgáltatást
- Kattintsunk a "Create environment" gombra
- Töltsük ki a kötelező mezőket
- Application name: cikkek
- Environment name: cikkek-env
- Domain (opcionális): cikkek
- Platform: Node.js
- Platform branch: Node.js 20
- Application code: Sample application
- Presets: Single instance
- Kattintsunk a "Next" gombra
- Create and use new service role
- Service role name: cikkek-role
- EC2 key pair: Create new key pair
- Key pair name: cikkek-key
- EC2 instance profile:
- Instance profile name: webalkalmazas-role
- Kattintsunk a "Next" gombra
- Kattintsunk a "Skip to review" gombra
- Kattintsunk a "Submit" gombra
Ha létrejött a példa alkalmazás, adjuk hozzá az alkalmazás számára szükséges adatbázis hozzásférési paramétereket
- Lépjünk be az AWS konzolba
- Keresőbe írjuk be az Elastic Beanstalk szolgáltatást
- Kattintsunk a "cikkek-env" környezetre
- A bal oldali menüben kattintsunk a "Configuration" menüpontra
- "Updates, monitoring, and logging" részben kattintsunk a "Edit" gombra
- Keressük meg az "Environment properties" részt és kattintsunk az "Add environment property" gombra
- Adjuk hozzá a következő környezeti változókat
Név | Érték |
---|---|
DB_USER | adatgazda |
DB_PASSWORD | {jelszó amit az adatbázis felhasználóhoz megadtál} |
DB_SERVER | {RDS endpoint} |
DB_NAME | cikkek |
DB_PORT | 3306 |
- Kattintsunk a "Apply" gombra
Pár perc múlva életbe lépnek a változtatások.
Végül CodePipeline segítségével töltsd fel a saját alkalmazásodat:
- Keresőbe írjuk be a CodePipeline szolgáltatást
- Kattintsunk a "Create pipeline" gombra
- Töltsük ki a kötelező mezőket
- Pipeline name: cikkek-pipeline
- Pipeline type: V1
- Execution mode: Suspended
- Service role: New service role
- Role name: cikkek-pipeline-role
- Kattintsunk a "Next" gombra
- Source provider: GitHub (Version 2)
- Repository: {GitHub repository link}
- Branch: main
- Kattintsunk a "Next" gombra
- Build provider: Skip build stage
- Deployment provider: Elastic Beanstalk
- Application name: cikkek
- Environment name: cikkek-env
- Kattintsunk a "Create pipeline" gombra
Amikor elkészült a pipeline, a GitHub repository-ba feltöltött változások automatikusan frissítik az alkalmazást az Elastic Beanstalk környezetben.
Pár perc múlva a http://cikkek.eu-central-1.elasticbeanstalk.com/ címen elérhető lesz az alkalmazás.