[partner techshift 2017] 클라우드 시대 기존 legacy에서 벗어나는 방법
Post on 23-Jan-2018
220 Views
Preview:
TRANSCRIPT
클라우드 시대, 기존 Legacy 에서벗어나는 방법
김민성, Solutions Architect, Amazon Web Services
패러다임이란?
“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”
“특정 지역 및 시간 동안 용용 되는 일반적인 지식"
“1900년” 뉴욕 5번가 거리 “1913년” 뉴욕 5번가 거리
“Legacy” 어플리케이션
“Cloud” 어플리케이션
Legacy
Cloud Aware
Cloud Native
v
어플리케이션 구축하기
v
어플리케이션 구축하기1 단계 VPC 생성
VPC 생성
172.31.0.0/16
IP 주소 범위의 선택
IP 주소 범위의 선택
CIDR 범위 예:
172.31.0.0/16
1010 1100 0001 1111 0000 0000 0000 0000
IP 주소 범위의 선택
172.31.0.0/16
Recommended: RFC1918 range
Recommended: /16
(64K addresses)
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
v
어플리케이션 구축하기2 단계 서브넷 생성
서브넷
Availability Zone
VPC subnet
172.31.0.0/24
ap-northeast-2a
172.31.0.0/16
서브넷
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
v
인터넷 게이트웨이 (Internet Gateway/IGW)
인터넷 게이트웨이 생성
서브넷
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
라우팅 테이블
라우팅
• Route table 은 패킷이 이동하는 규칙을 포함
• VPC 에 기본 route table이 존재
• … 하지만 서브넷에 다른 route table 을 할당할 수 있음
v
기본적으로 내부 VPC내에서는통신이 가능해야함
v
퍼블릭 서브넷에 대하여 인터넷게이트웨이와 네트워크 연동
서브넷
172.31.0.0/16
Availability Zone
퍼블릭
ap-northeast-2a
프라이빗
프라이빗
v
NAT GW가 생성
vPrivate 네트워크을 위한별도의 라우트 테이블 구성
필요
v
인터넷을 목적하는 경우 NAT GW로 패킷을 보냄
v
어플리케이션 구축하기3 단계 서버 구성
서버 구성
Availability Zone
VPC subnet
ap-northeast-2a
172.31.0.0/16
EC2 인스턴스 타입
간단한 VPS FPGA
P3M4 D2 X1G2/3
T2 R4 I3C4/5
Lightsail F1
Elastic GPUs On EC2
범용 GPU고밀도
저장소
대용량
메모리
그래픽 집약메모리
집약
높은 I/O
연산 집약버스팅
범용
EC2 인스턴스
c5.large인스턴스 종류
인스턴스 세대
인스턴스 사이즈
EC2 인스턴스 부트스트래핑
인스턴스Launching
사용자데이터
Instance
메타데이터
사용자 데이터와 메타 데이터
• 사용자 데이터• 인스턴스 생성과 함께 전달되는 최대 16KB 크기의 텍스트
데이터
• 최초 부트에 대한 부트 스트레핑에 활용• 리눅스 : #!
• 윈도우즈 : <script>
• 메타 데이터• 인스턴스에 대한 주요 메타데이터 (호스트 이름, 가용 영역등)
• 인스턴스 내에서 HTTP를 통한 접근 가능예: # curl http://169.254.169.254/latest/meta-data/hostname
사용자 데이터와 메타 데이터
• 부트 시 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)
부트스트래핑
AMI 생성동적 구성
커스텀 정보의 전달 및인스턴스 생성 이후 태스크 수행을
위하여 부트스트래핑 사용
인스턴스 구성 변경 후AMI로 저장하여 재사용
스윗 스팟(Sweet spot)
오토 스케일링
Availability Zone
VPC subnet
ap-northeast-2a
172.31.0.0/16
오토 스케일링의 목적
변화하는 워크로드에 대응
단 몇 분 안에…
3 단위씩 증가(Utilization 70% 초과 시)3 단위씩 감소(Utilization 10% 미만 시)
인스턴스 장애 대응
일부 EC2 인스턴스 장애에도…
지정 “X” 개 만큼의 인스턴스 확보(with ELB or without ELB)
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)
v
호스트 및 Path를 인지하여타켓 그룹으로 라우팅
지원하는 문자열• A-Z, a-z, 0-9• _ - . $ / ~ " ' @ : +• & (using &)• * (matches 0 or more characters)• ? (matches exactly 1 character)
오토 스케일링 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 수행”
관리에 대한 고민
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
관리형 서비스
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
v
활용할 데이터베이스 엔진 선택
v
EC2 인스턴스 비용 최적화
온디멘드 예약 스팟
v
어플리케이션 구축하기4 가용성의 확장
가용 영역 (Availability Zone)
리전
데이터센터 데이터센터
데이터센터
1개 이상의 데이터센터
가용 영역C
가용 영역A
가용 영역B
DR과 부하분산을 동시에…
Availability Zone
VPC subnet
ap-northeast-2a
172.31.0.0/16
Availability Zone
VPC subnet
ap-northeast-2c
v
어플리케이션 구축하기5 방화벽 설정
VPC subnet
방화벽
Availability Zone
ap-northeast-2a
172.31.0.0/16
Availability Zone
ap-northeast-2c
VPC subnet VPC subnet
NACL과 Security Group
Availability Zone
VPC subnet
ap-northeast-2a
172.31.0.0/16
Availability Zone
VPC subnet
ap-northeast-2c
“MyWebServers” Security Group
“MyBackends” Security Group
“MyWebServers” 부터 오는트레픽만 허용
v
Security groups example: web servers이 그룹의 호스트는 인터넷에서 포트 80(HTTP)으로 연결 가능
v
MyWebServers Security Group에 속한인스턴스만 이 Security Group에 연결 가능
v
어플리케이션 구축하기옵션 : 데이터의 이행
기존 데이터베이스를 이행
“어플리케이션 개선과 함께새로운 데이터베이스 옵션을
사용하고자 한다면…”
데이터베이스 스키마 이행Amazon SCT
기존 데이터 이행Amazon DMS
SCT
DMS
AWSDatabase Migration
Service
데이터베이스 마이그레이션을 손쉽게 시작
마이그레이션 중 어플리케이션 서비스 유지
Amazon EC2 또는 RDS를 원본 및 대상으로 복제
동일 또는 이기종 데이터베이스간 복제
CDC 지원
http://aws.amazon.com/ko/dms/
v
정말 프로그래밍으로관리가 되나요?
AWS CLI / PowershellAWS 관리 콘솔
AWS 관리
New-EC2Vpc [[-CidrBlock] <System.String>] [[-InstanceTenancy]<Amazon.EC2.Tenancy>] [-Force<System.Management.Automation.SwitchParameter>][<CommonParameters>]
v
AWS 라이브러리 Include
작업을 위한 Credential 호출
서비스 인스턴스 생성
사용할 AMI 이미지 및 인스턴스의크기등을 파라메터로 사용하여인스턴스 생성
AWS SDK
• AWS의 모든 서비스에 대한 Programing 가능
• Wrapped API 형태로 제공
• HTTP 또는 HTTPS로 기반의 통신• API Call은 각 서비스별 Endpoint와 통신
• http://docs.aws.amazon.com/general/latest/gr/rande.html
AWS SDK
• 다양한 언어 및 개발 환경 지원
Java NodeJS .NET PHP Python Ruby C++ Go
Android iOS Javascript
Eclipse Visual Studio
v
AWS 주요 서비스에 대한 생성, 변경, 관리, 삭제 가능
주요 샘플 코드 제공
v
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
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
Cloud Aware
• 언제나 괘적한 성능을 제공하고…
• 장애에 강하며…
• 어플리케이션과 비지니스에 보다 집중할 수 있는…
“Cloud Aware Application”
v
감사합니다.
top related