AWS RDS 생성, On-Premise와 RDS 연동 실습
▶ Troubleshooting (문제 해결 방법)
1. VPC관련
- VPC에 IGW가 연결되었는가?
- Subnet이 Public 상태인가?
- 라우팅 테이블에 Subnet과 IGW가 등록되어 있는가?
2. EC2관련
- 설정 변경 또는 추가 설치 후, Apache2를 재시작 했는가?
- 웹서버 디렉토리의 권한 또는 위치가 정확하게 설치되어 있는가? sudo -i (프롬프트가 #으로 변경됨, root권한으로 사용)
- 보안 그룹에서 IP허용이 정상적으로 등록되어 있는가? /32 ----> IP주소 32자리를 모두 확인, /24 ----> 4번째 옥텟이 바뀌더라도 무관
3. RDS Troubleshooting
- RDS를 Private으로 설정한 경우, EC2를 통해서만 접속 가능
- EC2에서 접속이 안되면? 보안 그룹에서 '위치 무관'으로 변경
- 계정, 비밀번호 등 확인
▶ RDS (RDS : Relational Database Service, 관계형 데이터베이스 서비스)
- RDS는 AWS에서 관리 : 관리 잘됨(백업 등등) ----> 안정적으로 운영이 가능함
cf. Ubuntu Server에 MySQL을 설치하면 OS, DB를 사용자(고객)가 관리
- RDS는 사용자가 DB를 관리할 수 없음(PaaS) -----> root권한 없고 사용자 권한만 부여함
참고) IT 5대관리 : 성능, 용량, 비용, 장애, 보안 ------> AWS에 Trusted Advisor에서 확인 (상태를 Red, Yellow, Green 세가지로 구분해줌)
RDS 생성
▶ RDS 설정 방법
1) Public하게 설정 (외부에서 접속 가능) -----> 안전하지 않음, 웹서버를 On Premise로 사용하고, DB만 AWS에 설치하는 경우에 적합
2) Private하게 설정 (외부에서 접속 불가능) -----> VPC에서만 접근 가능, VPC에 있는 Web Server를 통해서만 접근 가능
▶ 서브넷이 하나일 경우 RDS가 안 만들어지므로 Subnet을 추가
- 이니셜_subnet_private
- 10.N.20.0/24
- ap-northeast-2b // 가용영역 b에 생성합니다.
▶ RDS에 접근할 때에는 DNS 호스트 이름이 필요 (RDS는 PaaS라서 IP를 사용하지 않음)
- VPC > 편집 > DNS 호스트 이름 편집 > DNS 호스트 이름 활성화에 체크
▶ RDS 생성
- 메뉴에서 rds 입력해서 RDS로 이동합니다.
- '데이터베이스 생성' 클릭합니다. (Aurora : MySQL, PostgreSQL을 AWS에 맞게 최적화시킨 것)
- 스토리지 : IOPS provisioned SSD는 매우 빠른 속도(매우 비쌈) ----> 금융권, 고객이 요구하는 경우 등
일반적으로는 GP2 (범용 SDD)를 선택하면됨. Magnetic선택하면 대박 느림(약간 저렴). - 가용 영역(Availability Zone, AZ) : 가상의 데이터센터, a/b/c/d 등
mysql workbench - RDS 연동
▶ mysql workbench 설치
https://dev.mysql.com/downloads/workbench/
MySQL :: Download MySQL Workbench
Select Operating System: Select Operating System… Microsoft Windows Ubuntu Linux Red Hat Enterprise Linux / Oracle Linux Fedora macOS Source Code Select OS Version: All Windows (x86, 64-bit) Recommended Download: Other Downloads: Windows (x86, 64-bit), M
dev.mysql.com
그 후 다 next
File > Open SQL Script 에서 goods.sql을 선택 // DB작업을 스크립트 형태로 만들어놓은 것
Ctrl+a를 눌러서 전체선택, 번개를 클릭 // 한번에 실행
show databases; // classicmodels
use classicmodels;
show tables;
desc products; // products 테이블의 컬럼 목록을 보기
select * from products;
select distinct productLine from products; // distinct : 중복제거
Quiz)페라리(Ferrari)만 골라서 보려면?
select * from products where productName like '%ferrari%';
On-Premise와 Cloud의 연동
VMware에 있는 Web Server(Gnuboard)에서 DB는 AWS의 RDS를 사용해서 데이터 저장하기 (On-Premise와 Cloud의 연동) ( AmazonLinux_lamp_gnuboard.txt)
1. VMware에 있는 Ubuntu Server에 : Apache, PHP와 8개, Gnuboard 다운로드 (MySQL은 설치하지 않음!)
2. RDS를 활용 ---> board계정 만들지 않음, 권한부여하지 않음 (RDS만들때 사용한 계정으로 설정)
----> Workbench에서 gnuboard라는 DB를 만들어주어야 함 ( create database gnuboard; )
Host : bys-rds-public.chm9rhbwy6vo.ap-northeast-2.rds.amazonaws.com:3306
'클라우드 > AWS' 카테고리의 다른 글
[ 클라우드 ] 4일차 ( vmware ubuntu - ec2만들기, s3에 이미지 업로드 , 계정 가져오기 ) (0) | 2022.06.23 |
---|---|
[ AWS ] putty - AWS EC2 연결 (0) | 2022.06.23 |
[ AWS ] Window EC2 생성, 원격 데스크톱 연결 (0) | 2022.06.22 |
[ 클라우드 ] 2일차 ( 클라우드 핵심, AWS 기초내용) (0) | 2022.06.13 |
[ AWS ] VPC와 Subnet 연결 (0) | 2022.06.13 |