29
Toast Cloud For Beginners v.1.3 플랫폼서비스팀 2015년 9월 16일 2015 NHN Entertainment Corp.

Toast cloud for beginners

Embed Size (px)

Citation preview

Page 1: Toast cloud for beginners

Toast Cloud For Beginners

v.1.3

플랫폼서비스팀

2015년 9월 16일

ⓒ 2015 NHN Entertainment Corp.

Page 2: Toast cloud for beginners

1. Toast Cloud Products

Page 3: Toast cloud for beginners

일반

3 / Toast Cloud for Beginner

Products - Infrastructure

Compute

Instances

Images

Volumes

Network & Security

Security Groups

Key Pairs

Floating IPs

Networks

Load Balancer

Storage

Object Storage

Monitoring

Monitoring

Page 4: Toast cloud for beginners

일반

4 / Toast Cloud for Beginner

Products – Platform as a Service (PaaS)

Contents

Image

CDN

Analytics

Game Analytics

Log & Crash Search

Game

Leaderboard

Game Server (출시예정)

Game Data (출시예정)

Security

AppGuard

Common

Launching

IAP

Mobile Test (Beta)

Image

Address Search

Push (출시예정)

Performance Test (출시예정)

Page 5: Toast cloud for beginners

2. Toast Cloud Console

Page 6: Toast cloud for beginners

일반

6 / Toast Cloud for Beginner

Toast Cloud Console

Project

프로젝트 관리 – 생성, 삭제, 이름/설명 변경

멤버 관리 – 추가, 삭제, 권한 변경

Product

이용 / 이용 종료

Page 7: Toast cloud for beginners

일반

7 / Toast Cloud for Beginner

멤버 권한

이름 Admin Member

공통

Project 추가 O View

삭제 O View

Member 추가 O X

삭제 O X

Product

추가 O View

삭제 O View

설정변경 O O

Billing O X

상품

Infrastructure(Network 제외) Edit Edit

Infrastructure(Network) Edit View

Game Analytics Edit Edit

Log & Crash Search Edit Edit

Leaderboard Edit Edit

Launching Edit Edit

IAP Edit Edit

Mobile Test Edit Edit

Page 8: Toast cloud for beginners

3. Instance

Page 9: Toast cloud for beginners

일반

9 / Toast Cloud for Beginner

Instance - Basics

Access

Instance

Key Pair

(1)

Security

Group (2)

Floating

IP (3)

Page 10: Toast cloud for beginners

일반

10 / Toast Cloud for Beginner

Instance - Key Pair

• Instance (Linux) 터미널 원격 접속에 필요한 인증을 비대칭 키 암호화 방식을 사용

• 비대칭 키 암호화 (Asymmetric-key Cryptograph) 암호화 (Encrypt) / 복호화 (Decrypt) 에 사용하는 키가 다르며 각각 공개키 (public-key), 개인키 (private-key) 라 함 공개키 라는 개념 때문에 공개키 암호화 (public-key cryptography) 방식이라고 부르기도 함

• 분실한 경우 해당 Key Pair로 생성한 instance에는 접근 불가 유출된 경우 습득한 자는 모든 instance에 접근 가능

1. 공개키 요청

2. SSH 접속용 공개키

3. 클라이언트 개인키 / 서버 공개키로 데이터 암호화

4. 서버의 개인키 / 클라의 공개키로 데이터 복호화

client Instance

Page 11: Toast cloud for beginners

일반

11 / Toast Cloud for Beginner

• 방화벽으로 inbound / outbound traffic에 대한 통제

• 침해사고 예방 : 원격 포트, admin page와 같은 경우 ingress rule 추가 시 원격 IP를 사무실 IP와 같이 특정 IP로 제한

Instance - Security Groups

Internet

Ingress

Egress Instance

Page 12: Toast cloud for beginners

일반

12 / Toast Cloud for Beginner

Instance - Floating IP

Public 192.168.0.x

Network Node 1:1 NAT Mapping

192.168.0.x = 119.x.x.x

1:1 NAT Mapping되어 Instance에서 외부 공인 확인 불가 Floating IP 확인은 Console을 통해 확인 가능

Tip : 공인-공인은 curl http://bot.whatismyipaddress.com으로 확인 가능.

• 외부에 서비스를 제공하기 위한 공인 IP

Page 13: Toast cloud for beginners

일반

13 / Toast Cloud for Beginner

Instance – 시연

KR-x Zone

Internet ❶ Key Pair 생성 ❷ Security Group 설정 - Security Group 생성 - Security Group Rule 추가 ❸ Instance 생성 ❹ Floating IP 할당 ❺ PEM (Key Pair)를 PPK 변환 ❻ Instance 접속 w/ Putty

Page 14: Toast cloud for beginners

일반

14 / Toast Cloud for Beginner

Instance - 준비물

• 리눅스 터미널 원격 접속 프로그램 무료 : PuTTY 개인 무료, 상업 유료 : xShell

• PuTTYGen : PuTTY는 Toast Cloud의 Key Pair (*.pem) 을 지원하지 않음. PuTTY에서 지원하는 *.ppk 파일로 변환해주는 무료 툴.

• Download URL PuTTY : http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe PuTTYGen : http://the.earth.li/~sgtatham/putty/latest/x86/puttygen.exe

Page 15: Toast cloud for beginners

일반

15 / Toast Cloud for Beginner

Instance – PEM 파일 PPK 파일로 변환

PuTTYGen 실행 Key Pair Load Private Key 저장

Page 16: Toast cloud for beginners

일반

16 / Toast Cloud for Beginner

Instance – 접속

PuTTY Command Line 명령어 PuTTY GUI 설정

• Session

• Host Name (or IP address) : Floating IP • Port : 22 (Default) • Connection type : SSH

• Connection Data

• Auto-login username : root / ubuntu / debian

• Connection SSH Auth • PuTTYGen으로 Key Pair를 변환한 PPK 파일 선택

Linux, Mac에서 PEM Key 파일로 instance 접속 시도 시 password를 물으며 접속이 안되는 경우 : $ ssh -i demo_keypair.pem [email protected] @@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0777 for ‘demo_keypair.pem' are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored. bad permissions: ignore key: demo_keypair.pem [email protected]'s password: 원인 : PEM Key 파일 권한이 낮은 경우 접속이 되지 않으며 Password를 묻는다. 해결 : 파일 권한 변경 / chmod 700 demo_keypair.pem

Page 17: Toast cloud for beginners

4. High Availability / Failover

Page 18: Toast cloud for beginners

일반

18 / Toast Cloud for Beginner

Instance

• 가상 서버 (또는 Virtual Machine) 로 물리적인 컴퓨터에서 구동되는 운영체제와 응용프로그램으로 이루어진 소프트웨어 컨테이너, 이를 Openstack에서는 Instance라고 함.

Hypervisor KR Pool

• 임의의 Zone kr-a / kr-b zone 중 random한 hypervisor에 생성

• kr-a kr-a zone 중 random한 hypervisor에 생성

• kr-b kr-b zone 중 random한 hypervisor에 생성

kr-a zone kr-a zone KR-A Zone Hypervisor Pool kr-a zone kr-a zone KR-B Zone

Hypervisor Pool

Page 19: Toast cloud for beginners

일반

19 / Toast Cloud for Beginner

• 네트워크 트래픽을 여러 instance에 분산 제어

• L4 Proxy mode vs. DSR mode

Load Balancer (LBaaS)

Instances Internet

LBaaS

Round Robin, Least Connections,

Source IP

Proxy Mode DSR Mode

개념 Server에서 Client로 응답시 L4를 경유하여 응답 Server에서 Client로 응답시 L4를 경유하지 않고 Direct로 응답

동작 구조 Client L4 Server L4 Client Client L4 Server Client L4에서 Server로 패킷 전달시, Client IP 그대로 Server로 전달

장점 * 같은 Subnet이 아닌 다른 IP 대역이더라도 L4 수용이 가능 * 하나의 포트에 여러가지 리얼 포트로 전달해 줄 수 있는 멀티 포트 기능 지원 가능

* L4를 경유하지 않고 Client로 바로 응답하여 L4장비 부하를 줄여 줌, 응답속도가 더 빠름 * Client IP를 그대로 전달하여 Server에 로그를 남기거나 접근 제어를 할 수 있음

단점 * 모든 트래픽이 L4를 경우하기 때문에 인터페이스 병목현상 및 장비에 부하

* 같은 Subnet 안에 있는 Server(IP) 대역이 아닐 경우 L4 수용이 어려움 * 하나의 포트에서 여러가지의 리얼 포트로 전달해 줄 수 있는 멀티포트 기능지원이 어려움

Page 20: Toast cloud for beginners

일반

20 / Toast Cloud for Beginner

KR-A Zone KR-B Zone

LBaaS / ABZone을 통한 서비스 이중화

Internet

Master Slave

사설 : 192.168.0.2 사설 : 192.168.0.3

사설 : 192.168.0.4 사설 : 192.168.0.5

사설 : 192.168.0.6

Toast Cloud LBaaS 공인 : 119.x.x.x

Round Robin

Page 21: Toast cloud for beginners

5. Tips

Page 22: Toast cloud for beginners

일반

22 / Toast Cloud for Beginner

Image

Public Image Create instance

Install software

& configure

instance

Create Private

Image Create instance

+ Apache Tomcat

User Data

Apache Tomcat

User Data +

Apache Tomcat

User Data

+ Apache Tomcat

User Data

Instance에 attach된 volume은 Image 생성시 포함 안됨

+ Apache Tomcat

User Data

• OS와 기본적으로 설치되는 어플리케이션의 템플릿으로 Instance 생성 또는 재구성 시 사용 - Public : 기본적인 보안 검증을 마친 이미지 - Private : 사용자가 구성한 Instance로 생성된 이미지 - Shared : Private 이미지를 다른 프로젝트에서 사용 가능하도록 공유한 이미지

Page 23: Toast cloud for beginners

일반

23 / Toast Cloud for Beginner

Volume

Instance

Default Disk

20 GB

Create

Volume

Volume

Attach

Format &

mount

Volume

Configure

fstab

+

+

+

❶ Default Volume 20 GB

❷ Volume 50 GB

❶ Default Volume 20 GB

mkfs.ext4 –L disk2 /dev/vdb mkdir –p /home1 mount /dev/vdb /home1

/dev/vdb /home1 ext4 defaults 0 0

❷ Volume 50 GB

• Instance 생성시 제공된 디스크가 부족한 경우 volume을 생성하여 instance에 추가하여 디스크 공간 증설이 가능

Page 24: Toast cloud for beginners

일반

24 / Toast Cloud for Beginner

Volume / Floating IP

Instance +

Volume (Data) +

Floating IP

Instance 장애

(Hacking 등)

Private Image로

Instance

복제

Volume /

Floating IP

Detach

Instance에

Volume /

Floating IP Attach

● ● ● ●

● ● ● ●

● ● ● ●

수초 내에 서비스 복구

Page 25: Toast cloud for beginners

일반

25 / Toast Cloud for Beginner

LBaaS 사용시 Client IP 확인 방법

X-Forwarded-For (XFF) 는 HTTP Header 중 하나로 HTTP Server에 요청한 Client의 IP를 식별하기 위한 사실상의 표준.

Client IP : A Header : A

Internet

Public 192.168.0.x

Floating IP (Pub) 119.xxx.xxx.xxx Header : A, B

LBaaS, L4, Proxy, etc IP : B Header : A, B

Page 26: Toast cloud for beginners

6. Developer’s Guide / Devcenter

Page 27: Toast cloud for beginners

일반

27 / Toast Cloud for Beginner

개발자 가이드

모든 상품의 Console 화면 상단에 “개발자 가이드” 링크 클릭 시 Devcenter의 상품 사용 가이드 페이지로 이동

Page 28: Toast cloud for beginners

일반

28 / Toast Cloud for Beginner

개발자 가이드

http://cloud.toast.com

Page 29: Toast cloud for beginners

Thank You.