2025-06-16 AWS 데이터베이스 서버 준비

sso·2025년 6월 16일

AWS

목록 보기
10/34

1. 파라미터 그룹 생성

파라미터 그룹 이름은 숫자로 시작할 수 없고 영어로 시작할 수 있음

2. 옵션 그룹 생성

3. DB 서브넷 그룹 생성

가용 영역 - a, c
서브넷 - private1, private2

4. DB생성

암호 : 4gldata!

교재는 퍼블릭 사용하지 않지만 이번 실습에서는 퍼블릭 사용으로 체크

생성 완료 시 오류 발생

오류 발생 시 VPC 설정 편집에서 호스트 이름 활성화 체크

5. 퍼블릭 인스턴스 임시로 1개 생성

모바에서 바로 퍼블릭 ip, key 입력 후 접속 (ec2-user)

퍼블릭 인스턴스에서 mysql 설치

sudo su -
dnf -y install mariadb105-server

Server A

dnf -y install mariadb-server

호스트에는 rds 인스턴스의 엔드포인트로 표시되는 주소 입력

4gl-tempweb 인스턴스

mysql -u admin -p -h db-4gl.c1cyk6i4kj9n.ap-northeast-2.rds.amazonaws.com

Server A

mysql -u admin -p -h db-4gl.c1cyk6i4kj9n.ap-northeast-2.rds.amazonaws.com

데이터터베이스 서브넷 그룹 생성 시 private으로 설정했기에 열어주지 않으면 외부에서 접속은 불가능함

  • 완전히 RDS를 퍼블릭에서 접근하려면 서브넷 그룹에 퍼블릭 서브넷을 지정해야함
  • DB 엔진 생성 시 퍼블릭 엑세스 가능 여부를 "예" 로 해야함

insert into purchase(user_id, item_name, quantity, price, purchase_date) 
values (1004, '건조기', 2, 750000, '2025-04-01');

insert into purchase(user_id, item_name, quantity, price, purchase_date) 
values (1005, '커피머신', 2, 150000, '2025-03-15');

insert into purchase(user_id, item_name, quantity, price, purchase_date) 
values (1002, '전자레인지', 1, 1300000, '2025-02-03');

insert into purchase(user_id, item_name, quantity, price, purchase_date) 
values (1006, '청소기', 2, 400000, '2024-12-04');

insert into purchase(user_id, item_name, quantity, price, purchase_date) 
values (1001, '건조기', 1, 250000, '2024-12-28');

위 방법처럼 수동으로 생성해도되지만 DB를 시각적으로 제어하기 위해 phpmyadmin 사용

phpmyadim 사이트 : https://www.phpmyadmin.net/

4gl-tempweb 인스턴스

dnf -y install nginx
systemctl start nginx
cd /usr/share/nginx/html
curl -O https://files.phpmyadmin.net/phpMyAdmin/5.2.2/phpMyAdmin-5.2.2-all-languages.zip
dnf -qy install unzip
unzip -q phpMyAdmin-5.2.2-all-languages.zip
(이름이 너무 길어서 사용하기 힘드니 1. 이름 변경, 2. 심볼릭 링크 생성, 나의 경우 이름 변경)
mv phpMyAdmin-5.2.2-all-languages pm
chown -R nginx.nginx pm

인스턴스의 퍼블릭 DNS 주소 사용하여 웹에서 접속 (사용하기 위한게 pm 폴더 내이 있다는 사실 확인)

dnf -y install php
dnf -y install php-mysqlnd (php 플러그인 오류 발생 시 설치)
systemctl restart nginx

cd /usr/share/nginx/html/pm
cp config.sample.inc.php config.inc.php
vi config.inc.php

30번째 행의 localhost를 지우고 AWS 데이터베이스의 엔드포인트값을 입력

그 후 웹에서 admin / 4gldata! 접속 시 접속 성공

내가 만든 DB와 테이블들이 정상적으로 보이는것을 확인


볼륨 생성...

그리고 갑자기 포맷하여 마운트...

fdisk /dev/xvdf
n
w

mkfs -t xfs /dev/xvdf1
mkdir /sdf
mount /dev/xvdf1 /sdf

디스크 제거
umount /sdf

볼륨에서 볼륨 분리 - 디테치?
아직 지운게 아니므로 하드디스크에 데이터가 남아있으면 남아있는 db를 들고있는것과 같음
볼륨을 분리한것은 그냥 컴퓨터에서 하드를 뗀 상태라고 생각하면 됨
볼륨 삭제


RDS 삭제


tempweb에 임의의 EBS 볼륨들을 추가하여 임의의 용량을 가진 RAID 50을 생성하고 해당 레이드 볼륨에 LV를 1개 생성하시오.

profile
오늘도 하나씩 해결해 나가자!

0개의 댓글