26
AWS란? 그리고 EC2를 이용한 API 서버구축 KJCode 김기봉

Aws개념 EC2로 API서버 구축

Embed Size (px)

Citation preview

Page 1: Aws개념 EC2로 API서버 구축

AWS란? 그리고 EC2를 이용한 API 서버구축

KJCode 김기봉

Page 2: Aws개념 EC2로 API서버 구축

왜 AWS를 선택했나?갓준 : 뭔가 나도 서비스를 만들어 보고 싶어요.

ㅋㅋㅋ뭐라고? 서비스 만들려면 서버가 필요할텐데.. 인프라 구축 지식은 있어? 서버개발쪽 지식은 있어? 리소스관리, 서비스 확장 어떻게 할작정?

갓준 : 아몰랑~~~ 암튼 그냥 후딱 하고 싶어요.

Page 3: Aws개념 EC2로 API서버 구축

AWS? Amazon Web Service의 약자로 흔히들 말하는 클라우드 컴퓨팅 서비스입니다.

여기서 클라우드 컴퓨팅 서비스란 ? 인터넷 기반(cloud)의 컴퓨팅(computing) 기술을 의미한다. 클라우드 컴퓨팅의 정의는 개인이 가진 단말기를 통해서는 주로 입/출력 작업만 이루어지고, 정보분석 및 처리, 저장, 관리, 유통 등의 작업은 클라우드라고 불리는 제3의 공간에서 이루어지는 컴퓨팅 시스템 형태라고 할 수 있다.

Page 4: Aws개념 EC2로 API서버 구축

해석을 해보면… 이렇습니다. 1. 자사서버보다 유지비가 싸다. 2. 서버 설비를 위한 투자금이 필요없다. 3. 간단히 서비스에 맞춤형 운영을 할 수 있다.(운영은 필요함.) 4. 서비스의 규모와 성장에 따른 용량을 유연하게 바꿀 수 있다. 5. 서비스의 속도가 빠르고, 민첩하게 확장을 할 수 있다. 6. 전세계 주요 지역(9개지역)을 중심으로 서비스 제공 가능.

AWS의 장점?

1. 유지비싸고, 2. 초기 투자금 필요없고, 3. 애플리케이션 운영도 필요없고, 4. 용량도 유연하고, 5. 속도도 빠르고 뭔가 민첩하며, 6. 글로벌 지원도 한답니다.

Page 5: Aws개념 EC2로 API서버 구축

AWS 서비스 일람

Page 6: Aws개념 EC2로 API서버 구축

실습목표: EC2 서비스를 이용해서 간단히 API서버를 돌려보자.

AWS계정이 있다는 전제하에…

1. EC2 인스턴스 생성.

2. ssh를 이용한 EC2 접속.

3. 필요한 패키지 설치.(Apache, PHP, MySQL Server)

4. 아파치(웹서버) 설치확인

5. Remote 접속을 위한 MySQL서버에 유저추가.

6. MySQL 리모트 접근 설정

7. MySQL 유저 권한 부여/ 접속해보기

8. MySQL 리모트 접속후 데이터 저장

9. PHP로 데이터베이스의 정보를 Json으로 출력.

Page 7: Aws개념 EC2로 API서버 구축

EC2 생성

요녀석 클릭

Page 8: Aws개념 EC2로 API서버 구축

EC2 생성

1. EC2서비스 선택

2. 인스턴스 생성 선택

2개 보유중

Page 9: Aws개념 EC2로 API서버 구축

EC2 생성

3.인스턴스 스펙 선택

4. 작성

Page 10: Aws개념 EC2로 API서버 구축

EC2 생성

5.키페어 선택&다운

6.인스턴스 작성

Page 11: Aws개념 EC2로 API서버 구축

EC2 생성

7.추가됨! 8.생성완료!

Page 12: Aws개념 EC2로 API서버 구축

ssh를 이용한 EC2 접속

1.접속 클릭.

2.키페어 파일 권한 변경.

3.접속 커멘드 복사

Page 13: Aws개념 EC2로 API서버 구축

ssh를 이용한 EC2 접속

1.키페어 폴더로 이동.

2.키페어 파일 권한 변경. 3.접속.

4.성공!!

Page 14: Aws개념 EC2로 API서버 구축

필요한 패키지 설치1. Ubuntu패키지 업데이트

sudo apt-get update

sudo apt-get dist-upgrade

2. 아파치 설치

sudo apt-get install apache2

3. PHP5인스톨

sudo apt-get install libapache2-mod-php5

4. 아파치 재시작

sudo /etc/init.d/apache2 restart

5. MySQL 설치

sudo apt-get install mysql-server

sudo apt-get install php5-mysql

6. /var/www 권한 설정

sudo chmod 777 /etc/mysql/my.cnf

7. PHPMyAdmin설치

sudo apt-get install phpmyadmin

Page 15: Aws개념 EC2로 API서버 구축

아파치(웹서버) 설치확인1. Apache(웹서버)가 설치가 완료가 되면 웹서비스를 할 수 있다는 것을 뜻합니다. 확인은 Instance정보의 publice IP를 브라우저 주소창에 쳐보세요. 아마 접속이 안될껍니다. 왜냐하면 생성한 Instance에 접근할 수 있는 port를 안열여 뒀기 때문입니다. Security groups에 HTTP, HTTPS포트를 추가를 해주세요. (19페이지 참조.)

Security groups설정

Page 16: Aws개념 EC2로 API서버 구축

아파치(웹서버) 설치확인이런 화면이 나오면 성공!!

Page 17: Aws개념 EC2로 API서버 구축

Remote 접속을 위한 MySQL서버에 유저추가.1. Ubuntu로 MySQL에 접속 mysql -u root -p (패키지 설치시 입력한 root 패스워드 입력을 해야함. 성공하면 mysql> 로 바뀜.)

2. 데이터베이스 확인. 데이터베이스내의 테이블들 확인 mysql> show databases; → 설치된 MySQL내의 데이터베이스들이 보임. mysql> use 데이터베이스명 → 데이터베이스를 사용을 함. mysql> show tables; → 사용한 데이터베이스내의 테이블들을 볼 수 있음.

3. mysql데이터베이스내 유저추가 mysql> use mysql; mysql> create user ->‘유저이름’@‘%’ identified by ‘패스워드’; 예) ‘kimgibong’@‘%’ identified by `12345678`;

4. 테스트용 테이블 추가 mysql> CREATE TABLE Persons -> (PersonID int primary key, -> LastName varchar(255), -> FirstName varchar(255), -> Address varchar(255),

Page 18: Aws개념 EC2로 API서버 구축

MySQL 리모트 접근 설정1. MySQL my.cnf파일 설정 변경 ubuntu접속 후

vi /etc/mysql/my.cnf 입력

bind-address부분을 127.0.0.1을 0.0.0.0으로 변경 → 저장

(vi모드에서 i를 누르면 편집가능함.

저장은 esc키 후 :wq)

Page 19: Aws개념 EC2로 API서버 구축

MySQL 리모트 접근 설정2. EC2인스턴스에 접근 권한 주기(Security groups권한 설정) AWS의 좌측 메뉴중 Instances 선택 -> 해당 인스턴스의 Description -> Security groups 선택

해당 Security그룹의 Inbound탭 선택 -> Edit -> MySQL설정 -> Source는 Anywhere.

AnyWhere로 설정

Page 20: Aws개념 EC2로 API서버 구축

MySQL 유저 권한 부여/ 접속해보기

1.MySQL서버에 생성한 유저가 접속할 수 있도록 권한을 부여합니다. mysql> GRANT ALL PRIVILEGES ON *.* TO '유저이름'@'%' WITH GRANT OPTION;

예)GRANT ALL PRIVILEGES ON *.* TO 'kimgibong'@'%' WITH GRANT OPTION;

2. MySQL서버에 접속툴을 이용해 접속을 해봅시다. 접속할 수 있는 툴은 많습니다. 저는 MySQLWorkbench를 이용을 했습니다.

(https://www-jp.mysql.com/products/workbench/)

Public IP Port

추가한 유저명 비밀번호를 입력

Page 21: Aws개념 EC2로 API서버 구축

MySQL 리모트 접속후 데이터 저장

MySQL 리모트 접속이 되었으면 거의 다 온 것입니다.

mysql DB로 접속해서 이전에 만들어둔 Persons가 있는지 확인해봅시다.

있으면 적당히 데이터를 집어 넣습니다.

1.DB접속2.이전에 만든 Person 테이블 확인

3.적당히 데이터 추가

입력시 주의!! DB명, 테이블명 대소문자

구분함

commit; 으로 데이터를 반영해줘야함.

Page 22: Aws개념 EC2로 API서버 구축

PHP로 데이터베이스의 정보를 Json으로 출력.

1.토렐로에서 다운 받은 JsonTest.php파일을 ubuntu의 /var/www/html폴더에 넣기. (전 FileZilla를 이용했습니다. ㅡㅡ?)

파일이 복사가 안되면 권한이 없어서 그렇습니다.

sudo chmod 777 /var/www/html로 권한을 할당해주세요.

Page 23: Aws개념 EC2로 API서버 구축

PHP로 데이터베이스의 정보를 Json으로 출력.

2.접속정보 수정후 테스트를 해봅니다.

DB 접속정보 수정 public ip:port, 유저이름, 비번

Page 24: Aws개념 EC2로 API서버 구축

PHP로 데이터베이스의 정보를 Json으로 출력.

2.접속정보 수정후 테스트를 해봅니다.

public ip/JsonTest.php 주의: 파일명 대소문자 구분.

출력이 된다면… 서..서성공입니다!!

Page 25: Aws개념 EC2로 API서버 구축

http://aws.amazon.com/ko/what-is-aws/

블로그:http://www.chrishjorth.com/blog/free-aws-ec2-ubuntu-apache-php-mysql-setup/

위키:http://ko.wikipedia.org/wiki/클라우드_컴퓨팅

추천하는 책 ->

출처

Page 26: Aws개념 EC2로 API서버 구축

출처: 마죠앤 쎄디

끗!