인스턴스 생성 _ 1011김준호
EC2
1.
AWS → EC2 인스턴스 시작
2.
사용할 이름 및 태그 설정
3.
애플리케이션 및 OS이미지 설정
Ubuntu → 22.04 LTS 선택
4.
인스턴스 유형 설정
t3.small 선택
5.
키페어
a.
키페어 생성
RSA, .pem 방식 선택
6.
네트워크 설정
하단의 체크박스
1. 인터넷에서 HTTPs 트래픽 허용 체크
2. 인터넷에서 HTTP 트래픽 허용 체크
7.
스토리지 구성
최소 8GiB를 설정해야 하므로 일단은 최소 메모리로 설정.
8.
고급 세부 정보
스팟 인스턴스 요청.
연습용이므로 요금을 절약하기 위해 선택.
실제 서비스라면 선택하지 않는것이 좋다.
9.
인스턴스 시작
서정희_1011
SSH 접속후 도커를 이용해 MySQL 띄우기
•
git Bash를 이용해 ec2 인스턴스에 접속
ssh ubuntu@ec2도메인 -i ~/Downloads/<pemkey_name>.pem :ec2인스턴스 접속
•
도커 설치
sudo su : 루트 권한을 빌림
cd ~ : 루트 디렉토리로 이동
mkdir git: git이라는 이름의 디렉토리 생성
cd git: git이라는 디렉토리로 이동
도커 설치를 위해 깃 저장소를 클론함
cd docker_minikube_kubectl_install: docker_minikube_kubectl_install 디렉토리로 이동
sh docker_install.sh: 도커 설치
•
도커를 이용해 nginx 띄우기
docker run nginx/docker run -p 80:80 nginx/docker run -p 80:80 -d nginx :
도커를 이용해 nginx 띄우기
자신이 aws에서 생성한 인스턴스의 주소(또는 주소:80)로 접속해본다.
다음과 같은 화면이 나올 시 성공!
•
도커로 MySql띄우기
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -d mysql/
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=12345678 -d mysql:
Docker로 MySql 띄우기
이때 PASSWORD=”자신이 원하는 비밀번호”의 형태로 작성하면 된다.
docker ps: 컨테이너의 리스트 확인
mysql이 잘 띄워진것을 볼 수 있다.
MySQL WorkBench 다운로드
Download 버튼 클릭 후 다음 페이지에서 로그인 없이 다운로드 선택
workbench 실행 후 + 버튼 클릭
다음과 같이 작성 후 ok 클릭
store in valut… 클릭 후 자신이 설정했던 패스워드 입력
클릭시 연결이 되어야 하지만 다음과 같은 오류로 연결이 되지 않는다
→ 이유 ?
보안그룹 설정이 안돼있기 때문 → 현재 접속하려는 ip를 보안그룹에 추가해야한다.
•
보안그룹 추가하기
자신의 인스턴스의 세부 정보로 들어간 뒤 보안을 클릭
보안그룹 클릭 후 인바운드 규칙 편집 클릭
규칙 추가 후 다음과 같이 작성한 뒤 규칙 저장
다시한번 클릭하면 다음과 같이 연결이 된 것을 볼 수 있다.
성수연_1011
DB
DB란?
•
데이터의 모음집
•
여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합
DB와 File의 차이
•
File의 처리속도는 DB에 비해 빠르고 구현이 간편함. 하지만 자료의 중복 발생과 데이터 무결성, 일관성 보장이 어렵고 개발 생산성을 기대하기 어려움
DB를 사용하는 이유
•
데이터 공유 : 여러명이 데이터를 동시에 공유하더라도 안정성과 정확성을 갖출 수 있음
•
데이터 중복 최소화 : 하나의 데이터베이스에 여러 테이블을 나누어 데이터 중복을 최소화하여 관리할 수 있음
•
지속성 : DBMS에 의해 중앙집중적으로 동시에 관리하며 무결성 유지가 용이함
•
보안성 : DBMS에 의해 중앙집중적으로 관리되기 때문에 한 군데만 보안을 유지하면 됨
DBMS란?
- DataBse Management System(데이터베이스 관리 시스템)의 약자
사용자의 논리적 명령을 해석하여 원하는 정보를 찾아주는 소프트웨어
사용자가 쿼리문을 작성하면 DBMS가 데이터를 찾아준다
- DBMS의 종류로는 Oracle, MySql, MSSQL, MariaDB등이 있다
위와 같이 중복된 데이터를
테이블을 나누고, Key로 연결하여 중복을 최소화한다
Primary Key
•
특정 컬럼내에 데이터가 유일하도록 보장해주는데 사용됨
•
관계형 DB 테이블 내에 기록을 유일하게 식별
•
테이블 내에 하나의 primary key만 허락됨
•
Unique와 Not Null 제약의 결합
•
Null값을 허락하지 않음
•
사위 테이블에서 해당 값을 삭제X
•
암묵적으로 임시 테이블에 정의 될 수 있음
Foreign Key
•
두 테이블 사이에 데이터를 연결시켜주는 관계형 DB테이블의 컬럼
•
다른 테이블의 primary key를 참조 할 수 있음
•
테이블 내에 한 개 이상의 foreign key가 허락됨
•
Null값이 가능함
•
상위 테이블에서 해당 값을 삭제 할 수 있음
•
임시 테이블에서 정의 될 수 없음
전승환_1011
Amazon Web Services (AWS)
아마존 웹 서비스는 클라우드 컴퓨팅 서비스를 제공한다. End-user에게 제공되는 서비스가 아니라, 개발자가 개발을 할 때 편리하게 기능들을 쓸 수 있게 하는 플랫폼을 사용하게 돕는다.
클라우드 컴퓨팅이란 데이터 저장이나 웹 서버 구축과 같은 일을 클라우드에 연결된 다른 컴퓨터를 빌려서 처리하는 것을 말한다.
EC2 (Elastic Compute Cloud)
인스턴스란 제공받은 가상의 서버를 통해 개발 환경을 구축하였을 때 그 환경을 말한다.