일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 스컬킹점수계산
- 옥길동파티룸
- MBTI
- 구로파티룸
- 웹개발
- 보드게임점수
- 휴식
- 그릭요거트
- 가장존경하는인물
- 광명파티룸
- mysql
- 취미
- 옥길파티룸
- 착한코딩
- 부천파티룸
- 부천공간대여
- 보드게임점수계산
- 개발자
- 스페이스우일
- 스컬킹점수
- 옥길요거트
- 스컬킹
- 일
- 해외여행
- 코딩
- 옥길동요거트
- 옥길그릭요거트
- 존경하는위인
- 서울파티룸
- 파티룸
- Today
- Total
SIMPLE & UNIQUE
2-1강 : AWS 회원 가입, RDS 인스턴스 생성, DB 서버 연결 본문
2_1 목표 : AWS가입(결제카드 입력) 후, RDS t2.micro(1년 프리티어) 인스턴스를 세팅한다. workbench에서 필요한 테이블을 생성하고, 더미데이터를 삽입한다.
1. AWS사이트(aws.amazon.com/ko/)에 접속해, 회원가입을 한다.
참고 : aws 정식 가입 가이드 링크
https://aws.amazon.com/ko/premiumsupport/knowledge-center/create-and-activate-aws-account/
설치 스크린샷을 아래 [더보기]를 클릭해 확인한다.
1) 오른쪽 상단의 [콘솔에 로그인] 버튼을 클릭한다.
2) 하단의 [AWS 계정 새로 만들기]를 클릭한다.
3) 다른 사이트에서 사용중인 이메일을 AWS의 ID로 사용한다.
AWS는 계정별로 1년 무료 서비스(프리티어)를 1번씩만 제공한다. 구글 계정은 여러개 만들 수 있으니, 필요할때마다 구글 계정을 생성해 가입해도 된다.
4) 아래와 같이 정보를 입력한다.
이름, 연락처, 주소 등 정보는 중요하지 않다. [국가 또는 리전]만 정확하게 대한민국으로 선택한다.
5) visa, master 등 지원되는 카드를 등록한다. (가입을 위해 카드 등록은 필수)
무료 버전을 사용할 것이기 때문에, 수업에 사용하는 서비스(ec2, rds)는 과금이 될 일이 없다. 무료버전(프리티어)는 1년후 자동 결제가 시작되는데, 과금을 완벽하게 방지하려면 1년이 지나기전에 카드를 정지시키는 것이 좋다. 만약, 과금이 되더라도 실수였다고 aws에 전달하면, 환불해준다.
6) 휴대폰 인증을 한다.
7) Support 플랜은 무료를 선택하고, 가입을 완료한다.
2. AWS사이트(aws.amazon.com/ko/)에 로그인을 하고, RDS인스턴스를 생성한다.
참고 : aws 정식 RDS 생성 가이드 링크
RDS 생성 스크린샷을 아래 [더보기]를 클릭해 확인한다.
설치 과정에서 별도 언급이 없는 옵션은 수정하지 않는다.
1) 왼쪽 상단의 [서비스] > [RDS]를 클릭해 대시보드에 들어온다.
2) 엔진 옵션을 [MySQL]로 체크한다.
3) 템플릿은 무료 버전인 [프리 티어]를 선택한다.
4) 퍼블릭 액세스 가능을 [예]로 선택해야, AWS외부(로컬PC)에서 RDS서버로 접속할 수 있다.
5) 나머지 설정은 그대로 두고, 하단 오른쪽의 [데이터 베이스 생성] 버튼을 클릭한다.
6) 다시 RDS 대시보드로 돌아오면 생성한 인스턴스가 [생성 중]상태인 것을 확인할 수 있다.
[사용 가능]상태가 되야 RDS서버를 사용가능하다.
3. mysql이 사용하는 포트 3306을 인바운드 규칙에 추가해, AWS외부(로컬PC)에서 RDS서버에 접속가능하도록 한다.
왼쪽 상단 서비스 > EC2 > 왼쪽 메뉴 중 [보안 그룹]을 클릭한다. [인바운드 규칙]을 클릭 해보면, [모든 트래픽]만 기본값으로 설정되어 있다.
[인바운드 규칙 편집] 버튼을 눌르고, 아래와 같이 3306포트를 추가한다. [규칙 저장]버튼을 눌러 저장한다.
4. mysql을 설치한다.
아래 링크에서 mysql을 다운로드 한다. 로컬에서 mysql을 사용하지 않고, AWS와 같은 외부서버에 접속해서만 사용할 것이기 때문에 only client 버전(client버전은 용량이 작다)으로 설치한다. 설치시, workbench를 설치에서 제외하지 않는다.
https://dev.mysql.com/downloads/installer/
설치방법 참고(19번까지만 완료하고, 나머지는 수업시간에 진행한다)
https://help.iwinv.kr/manual/read.html?idx=349
4. workbench에서 RDS서버에 접속해, 스키마와 테이블을 생성하고 더미데이터를 삽입한다.
아래 스크릿샷에서 엔드포인트 주소를 복사한다. 엔드포인트는 실제 자원이 있는 서버 IP나 도메인을 노출할 경우 보안상 좋지 않아, AWS에서 제공하는 가상 도메인네임이다.
Workbench를 열어 Hostname에 엔드포인트를 입력한다. Username은 RDS생성시 기본값이었던 admin으로 수정한다.
[Test Connection]버튼을 눌러 연결을 확인하고, [OK]를 클릭해 스크립트를 연다.
스키마 생성을 위해, 왼쪽 Schemas영역에 오른쪽 마우크 클릭을 하고, [Create Schema]버튼을 클릭한다.
[react]라는 스키마를 생성한다.
Workbench에서 스키마라고 부르는 것은, 하위 데이터베이스라고 생각하면 된다. 하나의 RDS서버에 여러개의 하위 데이터베이스를 추가할 수 있다.
Query창에 아래와 같이 쿼리를 순서대로 실행한다. 쿼리실행 단위는 세미콜론(;)으로 구분한다. 아래 쿼리는 총 4개이다.
1. react라는 스키마를 사용하겠다 선언한다.
2. react_swtool이라는 테이블을 생성한다.
3, 4 더미데이터를 삽입한다.
쿼리 실행 방법은 실행하려는 쿼리에 커서를 놓고 [Ctrl] + [Enter]를 누른다.
use react;
CREATE TABLE `react_swtool` (
`swt_code` varchar(100) NOT NULL COMMENT 'SW툴 코드',
`swt_toolname` varchar(100) DEFAULT NULL COMMENT '툴 이름',
`swt_function` text COMMENT '상세 기능',
`swt_imagepath` varchar(100) DEFAULT NULL COMMENT '라벨 이미지 경로',
`swt_big_imgpath` varchar(100) DEFAULT NULL COMMENT '메인 이미지 경로',
`swt_comments` text COMMENT '설명',
`swt_demo_site` varchar(100) DEFAULT NULL COMMENT '데모 URL',
`swt_manual_path` varchar(100) DEFAULT NULL COMMENT '메뉴얼 파일 경로',
`swt_github_url` varchar(100) DEFAULT NULL COMMENT 'Github URL',
`reg_date` varchar(100) DEFAULT NULL COMMENT ' 등록날짜',
`reg_user` varchar(100) DEFAULT NULL COMMENT ' 등록자',
`update_date` varchar(100) DEFAULT NULL COMMENT ' 수정날짜',
`update_user` varchar(100) DEFAULT NULL COMMENT ' 수정자',
PRIMARY KEY (`swt_code`)
);
INSERT INTO `react_swtool` VALUES ('USW20200101000000', 'toolname1', 'Detailed function1', '20200101000000_라벨 이미지.png'
, '20200101000000_메인 이미지.png', '설명1', '데모 URL1', '20200101000000_메뉴얼 파일.docx', 'Github URL1'
, '20200101000000', 'userA1`', '20200102000000', 'userB1');
INSERT INTO `react_swtool` VALUES ('USW20200102000000', 'toolname2', 'Detailed function2', '20200102000000_라벨 이미지.png'
, '20200102000000_메인 이미지.png', '설명2', '데모 URL2', '20200102000000_메뉴얼 파일.docx', 'Github URL2'
, '20200102000000', 'userA2`', '20200103000000', 'userB2');
Output영역에 ✔모양이 표시되면 성공적으로 쿼리가 실행된 것이다.
5. node소스에서 엔드포인트 주소를 변경해, 새로 생성한 RDS인스턴스의 데이터베이스를 연결한다.
node경로(C:\react200\routes)의 dbconnect_Module.js에서 db연결정보의 host와 password를 신규 인스턴스의 정보로 수정한다.
// Connection Pool 세팅
const pool = mysql.createPool({
connectionLimit: 66,
waitForConnections: true,
host: "taling0401.########.ap-northeast-2.rds.amazonaws.com",
port: "3306",
database: 'react',
user: "admin",
password: "taling########",
});
yarn dev로 서버를 다시 구동하면, 아래와 같이 변경된 데이터가 노출되는 것을 확인할 수 있다.
https://taling.me/Talent/Detail/19341
'탈잉 강의 자료 > 2021_비전공자도 가능한 웹 프로젝트' 카테고리의 다른 글
1-4강 : AWS DB서버 연결, 데이터 조회해 리스트 페이지에 노출 (0) | 2021.04.01 |
---|---|
1-3강 : html, css, img파일 세팅, 공공데이터 API 호출 (0) | 2021.03.27 |
1-2강 : react, node 개발환경 세팅, 프록시 설정 (0) | 2021.03.27 |