본문 바로가기

Cloud/AWS

12. AWS : RDS (Relational Database Service)

Amazon RDS (Amazon Relational Database Service)

AWS 클라우드에서 관계형 데이터베이스를 더 쉽게 설치, 운영 및 확장할 수 있는 웹 서비스

  •  Amazon Aurora(MySQL 호환), Amazon Aurora(PostgreSQL 호환), MySQL, MariaDB, PostgreSQL, Oracle 및 SQL Server 엔진을 제공한다.
  • Amazon RDS on AWS Outposts를 통해 온프레미스에 배포할 수 있다.

1. RDS 실습 전 인스턴스 생성

식별하기 쉽도록 WEB-A 인스턴스 뒤에 private IP 뒷자리를 넣는다.

1.1. Bastion Server 설정

※ BastionServer로 key  보내기

 

 BastionServer 접속

 

 private key 권한 변경

$ chmod 600 .ssh/id_rsa

 

참고) 호스트에서 bastionServer로 접속 안될 경우 known_hosts 파일 삭제

 

 WEB-A-27 접속

# ssh ec2-user@10.0.0.27

 

루트 접속 후 웹 서버 설치

# sudo su -
# yum install -y httpd

 


2. Amazon RDS

2.1. RDS 생성

AWS에서 RDS 서비스 검색

 

 데이터베이스 생성

 

MySQL 엔진으로 데이터베이스 생성

 

VPC 보안 그룹 선택

 

 초기 데이터베이스를 설정할 수 있다.

 


3. 생성한 RDS 이용해서 PHP 연결해보기

3.1. 웹 서버(PHP) 설정

 WEB-A-27 서버 접속

 

 루트 접속

$ sudo su -

 

패키지 리스트 확인

# amazon-linux-extras list

 

 php7.2. 버전 enable 설정

 

 위 명령어 입력 후 출력되는 Now you can install 부분에 php 설치 명령어 복사

 

 복사한 명령어 입력하여 php 설치

# yum install -y php-cli php-pdo php-fpm php-json php-mysqlnd

 

 호스트에서 php파일 받아올 디렉터리 생성 후 권한 변경

# mkdir /php
# chmod 777 /php

 

 호스트에서 php파일 보내기

 

 파일 확인

 

 /var/www/html 아래로 php 파일 옮기기

# mv /php/* /var/www/html/

 

 위에서 생성한 RDS의 엔드포인트 확인

 

 nslookup 명령어 이용하여 RDS IP Address 확인

 

 php 파일 내용 수정

# vi index.php
# vi insert1.php
# vi table1.php

hostname: 엔드포인트 또는 RDS의 IP를 입력

username: RDS 생성 시 설정한 마스터 사용자 이름 입력

 

 인스턴스의 Pubilc IP 입력

# vi person1.php

 

 웹 브라우저 접속하여 DB 연결 됐는지 확인

 

3.2. DB(RDS) 설정

WEB-A-52 인스턴스에 DB Client를 설치하여 RDS 접속한다.

 

Bastion Server에서 WEB-A-52 접속

 

 루트 접속

$ sudo su -

 

 repository 구성

# yum install -y http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

 

57 버전 gpgcheck 0으로 변경

# vi /etc/yum.repos.d/mysql-community.repo

 

 mysql client 설치

# yum install -y mysql-community-client

 

 mysql 접속

 

 database 출력

 

 test DB 사용 설정 후 member 테이블 생성

 

 테이블 확인

 

admin 사용자에 test DB 모든 권한 부여

> grant all privileges on test.* to 'admin'@'%' identified by 'It12345!';
> flush privileges;

 

 데이터 입력 후 회원가입

 

 테이블 조회 페이지로 이동

 

 테이블 조회 - 데이터 정상적으로 나오는지 확인

 

 mysql client에서도 테이블 조회를 해본다.

 

 


Reference.

 

데이터베이스 관리 시스템 | 관계형 RDS | Amazon Web Services

 

aws.amazon.com

 

'Cloud > AWS' 카테고리의 다른 글

14. AWS : Bastion Host 만들기 / CLI key 생성  (0) 2022.07.01
13. AWS : EC2 - Auto Scaling  (0) 2022.06.28
11. AWS : EC2(Instance) - mariaDB 설치  (0) 2022.06.28
10. AWS : Instance - wordpress 설치  (0) 2022.06.28
9. AWS : S3 - Amazon S3  (0) 2022.06.28