[partner techshift 2017] 클라우드 시대 기존 legacy에서 벗어나는 방법

66
클라우드 시대, 기존 Legacy 에서 벗어나는 방법 김민성, Solutions Architect, Amazon Web Services

Upload: amazon-web-services-korea

Post on 23-Jan-2018

220 views

Category:

Technology


10 download

TRANSCRIPT

Page 1: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

클라우드 시대, 기존 Legacy 에서벗어나는 방법

김민성, Solutions Architect, Amazon Web Services

Page 2: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법
Page 3: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

패러다임이란?

“Universally recognized scientific achievements that, for a time, provide model problems and solutions for a community of practitioners”

- Thomas Kuhn, the historian of science, in his book ”The Structure of Scientific Revolutions”

“특정 지역 및 시간 동안 용용 되는 일반적인 지식"

Page 4: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

“1900년” 뉴욕 5번가 거리 “1913년” 뉴욕 5번가 거리

Page 5: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

“Legacy” 어플리케이션

“Cloud” 어플리케이션

Page 6: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

Legacy

Cloud Aware

Cloud Native

Page 7: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

v

어플리케이션 구축하기

Page 8: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

v

어플리케이션 구축하기1 단계 VPC 생성

Page 9: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

VPC 생성

172.31.0.0/16

Page 10: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

IP 주소 범위의 선택

Page 11: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

IP 주소 범위의 선택

CIDR 범위 예:

172.31.0.0/16

1010 1100 0001 1111 0000 0000 0000 0000

Page 12: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

IP 주소 범위의 선택

172.31.0.0/16

Recommended: RFC1918 range

Recommended: /16

(64K addresses)

Page 13: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

10.0.0.0 - 10.255.255.255 (10/8 prefix)

172.16.0.0 - 172.31.255.255 (172.16/12 prefix)

192.168.0.0 - 192.168.255.255 (192.168/16 prefix)

RFC 1918

Page 14: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

v

어플리케이션 구축하기2 단계 서브넷 생성

Page 15: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

서브넷

Availability Zone

VPC subnet

172.31.0.0/24

ap-northeast-2a

172.31.0.0/16

Page 16: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

서브넷

172.31.0.0/16

Availability Zone

172.31.0.0/24

ap-northeast-2a

172.31.1.0/24

172.31.2.0/24

Page 17: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

v

인터넷 게이트웨이 (Internet Gateway/IGW)

인터넷 게이트웨이 생성

Page 18: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

서브넷

172.31.0.0/16

Availability Zone

172.31.0.0/24

ap-northeast-2a

172.31.1.0/24

172.31.2.0/24

라우팅 테이블

Page 19: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

라우팅

• Route table 은 패킷이 이동하는 규칙을 포함

• VPC 에 기본 route table이 존재

• … 하지만 서브넷에 다른 route table 을 할당할 수 있음

Page 20: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

v

기본적으로 내부 VPC내에서는통신이 가능해야함

Page 21: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

v

퍼블릭 서브넷에 대하여 인터넷게이트웨이와 네트워크 연동

Page 22: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

서브넷

172.31.0.0/16

Availability Zone

퍼블릭

ap-northeast-2a

프라이빗

프라이빗

Page 23: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

v

NAT GW가 생성

Page 24: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

vPrivate 네트워크을 위한별도의 라우트 테이블 구성

필요

Page 25: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

v

인터넷을 목적하는 경우 NAT GW로 패킷을 보냄

Page 26: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

v

어플리케이션 구축하기3 단계 서버 구성

Page 27: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

서버 구성

Availability Zone

VPC subnet

ap-northeast-2a

172.31.0.0/16

Page 28: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

EC2 인스턴스 타입

간단한 VPS FPGA

P3M4 D2 X1G2/3

T2 R4 I3C4/5

Lightsail F1

Elastic GPUs On EC2

범용 GPU고밀도

저장소

대용량

메모리

그래픽 집약메모리

집약

높은 I/O

연산 집약버스팅

범용

Page 29: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

EC2 인스턴스

c5.large인스턴스 종류

인스턴스 세대

인스턴스 사이즈

Page 30: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

EC2 인스턴스 부트스트래핑

인스턴스Launching

사용자데이터

Instance

메타데이터

Page 31: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

사용자 데이터와 메타 데이터

• 사용자 데이터• 인스턴스 생성과 함께 전달되는 최대 16KB 크기의 텍스트

데이터

• 최초 부트에 대한 부트 스트레핑에 활용• 리눅스 : #!

• 윈도우즈 : <script>

• 메타 데이터• 인스턴스에 대한 주요 메타데이터 (호스트 이름, 가용 영역등)

• 인스턴스 내에서 HTTP를 통한 접근 가능예: # curl http://169.254.169.254/latest/meta-data/hostname

Page 32: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

사용자 데이터와 메타 데이터

• 부트 시 Apache 및 MySQL을 설치하고 EIP를 할당

#!/bin/bash

# Install Apache, PHP, and MySQLyum install –y httpd mysql-server

# Attach an Elastic IP to this instanceec2-associate-address \

23.34.45.56 \-i $(curl http://169.254.169.254/latest/meta-data/instance-id)

Page 33: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

부트스트래핑

AMI 생성동적 구성

커스텀 정보의 전달 및인스턴스 생성 이후 태스크 수행을

위하여 부트스트래핑 사용

인스턴스 구성 변경 후AMI로 저장하여 재사용

스윗 스팟(Sweet spot)

Page 34: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

오토 스케일링

Availability Zone

VPC subnet

ap-northeast-2a

172.31.0.0/16

Page 35: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

오토 스케일링의 목적

변화하는 워크로드에 대응

단 몇 분 안에…

3 단위씩 증가(Utilization 70% 초과 시)3 단위씩 감소(Utilization 10% 미만 시)

인스턴스 장애 대응

일부 EC2 인스턴스 장애에도…

지정 “X” 개 만큼의 인스턴스 확보(with ELB or without ELB)

Page 36: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

Application Load BalancerNetwork Load Balancer

TCP 지원

고정 IP 주소 제공

원천 소스의 IP 및 포트 수정 없음

Pre-Warm의 불필요

HTTP, HTTPS, WebSoket 지원

TLS 터미네이션 지원

HTTP 에러 대응

콘텐트 기반 라우팅 및 HTTP2.0, 컨테이너등 다양한 부가 기능 제공

1개의 로드밸런서로 여러 어플리케이션에 대한 컨텐트 기반 동시 분산 처리

Hash Based Least Outstanding Requests

ELB (Elastic Load Balancer)

Page 37: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

v

호스트 및 Path를 인지하여타켓 그룹으로 라우팅

지원하는 문자열• A-Z, a-z, 0-9• _ - . $ / ~ " ' @ : +• & (using &amp;)• * (matches 0 or more characters)• ? (matches exactly 1 character)

Page 38: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

오토 스케일링 Lifecycle Hook

1 Auto Scale Group 확장 2 Pending : Wait

4 Auto Scale Group 축소 5 Terminating : Wait

3 Auto Scale Group 합류

3 인스턴스 제거

“인스턴스의 서비스 Ready 여부 검증”

“서비스 Ready를 위해 필요한Action 수행”

“인스턴스 상태 로깅"

“정상 종료를 위해 필요할 수있는 Action 수행”

Page 39: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

관리에 대한 고민

Run Command

Maintenance Window

Inventory

State Manager

Parameter Store

Patch Manager

Automation

Amazon 시스템스 메니저

ElasticBeansTalk

OpsWorks

CloudFormation

RDS DynamoDB ElastiCache Redshift

관리형 서비스

Kinesis EMRMachineLearning

ElasticsearchService

MobileAnalytics

SNSMobileHub

Congito

ElasticTranscoder

IoT WorkSpacesDirectoryService

Page 40: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

관리형 서비스

Power, HVAC, net

Rack & stack

Server maintenance

OS patches

DB s/w patches

Database backups

Scaling

High availability

DB s/w installs

OS installation

App optimization

Power, HVAC, net

Rack & stack

Server maintenance

OS patches

DB s/w patches

Database backups

Scaling

High availability

DB s/w installs

OS installation

App optimization

Power, HVAC, net

Rack & stack

Server maintenance

OS patches

DB s/w patches

Database backups

Scaling

High availability

DB s/w installs

OS installation

App optimization

Page 41: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

v

활용할 데이터베이스 엔진 선택

Page 42: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

v

Page 43: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

EC2 인스턴스 비용 최적화

온디멘드 예약 스팟

Page 44: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

v

어플리케이션 구축하기4 가용성의 확장

Page 45: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

가용 영역 (Availability Zone)

리전

데이터센터 데이터센터

데이터센터

1개 이상의 데이터센터

가용 영역C

가용 영역A

가용 영역B

Page 46: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

DR과 부하분산을 동시에…

Availability Zone

VPC subnet

ap-northeast-2a

172.31.0.0/16

Availability Zone

VPC subnet

ap-northeast-2c

Page 47: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

v

어플리케이션 구축하기5 방화벽 설정

Page 48: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

VPC subnet

방화벽

Availability Zone

ap-northeast-2a

172.31.0.0/16

Availability Zone

ap-northeast-2c

VPC subnet VPC subnet

Page 49: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

NACL과 Security Group

Availability Zone

VPC subnet

ap-northeast-2a

172.31.0.0/16

Availability Zone

VPC subnet

ap-northeast-2c

Page 50: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

“MyWebServers” Security Group

“MyBackends” Security Group

“MyWebServers” 부터 오는트레픽만 허용

Page 51: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

v

Security groups example: web servers이 그룹의 호스트는 인터넷에서 포트 80(HTTP)으로 연결 가능

Page 52: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

v

MyWebServers Security Group에 속한인스턴스만 이 Security Group에 연결 가능

Page 53: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

v

어플리케이션 구축하기옵션 : 데이터의 이행

Page 54: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

기존 데이터베이스를 이행

“어플리케이션 개선과 함께새로운 데이터베이스 옵션을

사용하고자 한다면…”

데이터베이스 스키마 이행Amazon SCT

기존 데이터 이행Amazon DMS

Page 55: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

SCT

Page 56: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

DMS

AWSDatabase Migration

Service

데이터베이스 마이그레이션을 손쉽게 시작

마이그레이션 중 어플리케이션 서비스 유지

Amazon EC2 또는 RDS를 원본 및 대상으로 복제

동일 또는 이기종 데이터베이스간 복제

CDC 지원

http://aws.amazon.com/ko/dms/

Page 57: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

v

정말 프로그래밍으로관리가 되나요?

Page 58: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

AWS CLI / PowershellAWS 관리 콘솔

AWS 관리

New-EC2Vpc [[-CidrBlock] <System.String>] [[-InstanceTenancy]<Amazon.EC2.Tenancy>] [-Force<System.Management.Automation.SwitchParameter>][<CommonParameters>]

Page 59: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

v

AWS 라이브러리 Include

작업을 위한 Credential 호출

서비스 인스턴스 생성

사용할 AMI 이미지 및 인스턴스의크기등을 파라메터로 사용하여인스턴스 생성

Page 60: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

AWS SDK

• AWS의 모든 서비스에 대한 Programing 가능

• Wrapped API 형태로 제공

• HTTP 또는 HTTPS로 기반의 통신• API Call은 각 서비스별 Endpoint와 통신

• http://docs.aws.amazon.com/general/latest/gr/rande.html

Page 61: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

AWS SDK

• 다양한 언어 및 개발 환경 지원

Java NodeJS .NET PHP Python Ruby C++ Go

Android iOS Javascript

Eclipse Visual Studio

Page 62: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

v

AWS 주요 서비스에 대한 생성, 변경, 관리, 삭제 가능

주요 샘플 코드 제공

Page 63: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

v

Page 64: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

90여개 이상의 서비스들TECHNICAL &

BUSINESS SUPPORT

Account Management

Support

Professional Services

Solutions Architects

Training & Certification

Security & Pricing Reports

Partner Ecosystem

AWSMARKETPLACE

Backup

Big Data& HPC

Business Apps

Databases

Development

IndustrySolutions

Security

MANAGEMENTTOOLS

Queuing

Notifications

Search

Orchestration

Email

ENTERPRISEAPPS

VirtualDesktops

StorageGateway

Sharing &Collaboration

Email &Calendaring

Directories

HYBRID CLOUDMANAGEMENT

Backups

Deployment

DirectConnect

IdentityFederation

IntegratedManagement

SECURITY &MANAGEMENT

Virtual PrivateNetworks

Identity &Access

EncryptionKeys

Configuration Monitoring Dedicated

INFRASTRUCTURESERVICES

RegionsAvailabilityZones

ComputeStorageObject, Blocks, Files

DatabasesSQL, NoSQL, Caching

CDNNetworking

PLATFORMSERVICES

App

Mobile & WebFront-end

Functions

Identity

Data Store

Real-time

Development

Containers

SourceCode

BuildTools

Deployment

DevOps

Mobile

Sync

Identity

PushNotifications

MobileAnalytics

MobileBackend

Analytics

DataWarehousing

Hadoop

Streaming

DataPipelines

MachineLearning

Page 65: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

Cloud Aware

• 언제나 괘적한 성능을 제공하고…

• 장애에 강하며…

• 어플리케이션과 비지니스에 보다 집중할 수 있는…

“Cloud Aware Application”

Page 66: [Partner TechShift 2017] 클라우드 시대 기존 Legacy에서 벗어나는 방법

v

감사합니다.