DB instance 제어를 수행하기 위해서는 DB instance의 RDBMS client tool을 통해 제어 수행
3306 포트
MySQL 기반 DB instance에 접속하는 정보
Test connection 버튼을 클릭하여 DB instance와 연결 test 수행
id : int, PK ,NN, AI
name : varchar(20), NN
age : int, NN, default = 0
SQL 명령은 대소문자 구별 X
INSERT INTO 명령 : INSERT INTO <DB명.테이블명>(필드 목록) VALUES (값 목록)
insert into dbtest.person_tb (name, age) values ('홍길동',25); -> 레코드 삽입(추가)
insert into dbtest.person_tb (name, age) values ('김길동',35);
insert into dbtest.person_tb (name, age) values ('이길동',15);
SELECT 명령 : SELECT <필드 목록> FROM <DB명.테이블명> WHERE <조건식>
SELECT * FROM dbtest.person_tb; -> 전체 레코드 검색
=
select id, name, age from dbtest.person_tb;
select name, age from dbtest.person_tb;
select * from dbtest.person_tb where age > 20; -> 나이가 20 이상인 레코드 검색
select count(id) from dbtest.person_tb; -> 레코드 개수
select avg(age) from dbtest.person_tb; -> age 필드의 평균 값
sudo yum -y install mariadb.x86_64
보안 그룹 포트 번호와 연결 소스는 0.0.0.0/0으로 설정
HTTP 프로토콜 기반으로 서비스 제공
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
. ~/.nvm/nvm.sh
REPL (Read Eval Print Loop) 방식으로 Node.js 사용
Node.js script 파일(.js)을 작성하여 일괄 실행
editori 프로그램을 이용하여 Javascript 코드를 작성하고 일괄 실행하는 방식
npm init : package.json 파일 생성, 프로젝트에 대한 정보 및 의존성 정보 포함
- npm (node package manager) : node.js에서 사용하는 package
Linux 환경에서 80 포트는 관리자 권한을 가지고 있어야 사용가능
사용자가 작성한 server program은 관리자 권한을 가지지 않으므로 직접 사용 불가
Node.js로 작성한 프로그램은 직접 80 포트 사용 불가능
=> 웹서버와 Node.js로 구성한 application 서버를 포워딩 시켜서 웹서비스 제공 프로그램이 80 포트를 사용할 수 있도록 시스템 구성
사용자로부터 요청 수신 및 응답
80 포트로 들어오는 내용을 Application Server로 포워딩 시켜서 처리
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://13.209.26.179:8080/;
proxy_redirect off;
}
Business Logic 처리
Node.js 환경구성 및 server program
Data 저장
Cloud Design Pattern : 문제 해결을 위한 infra 구성에 대한 검증된 구성 방법
초반 단순 데이터베이스만 다룰 때만 해도 이미 여러번 배운 익숙한 것에 제대로 방심했다가 후반부에 제대로 된통 당했다. 설상가상으로 한창 실습이 가장 빡쎌 때 내 집의 모든 네트워크가 버벅거리면서 그거 수습하느라 진도를 못따라가서 말그대로 핵망폭망. 늘 그렇듯 겨우겨우 따라잡긴 했지만 결국 마지막 nginx 어플리케이션 서버 DB 연결은 끝끝내 원인을 못찾은 채 에러만 난 상태로 끝나고 말았다.
놀라운건 오늘이 AWS 챕터의 마지막 날이었다는거. 어쩐지 오늘 진도가 막판에 엄청 쭉쭉 나가더라. 다음주부턴 IaaC를 나간댔는데 부디 오늘의 망한 인스턴스들 말고 새 인스턴스로 진행했으면 하는 바램이다.