AWS 기초 웨비나 시리즈 | 세 번째 강연
2016년 1월 27일 수요일 | 오후 3시
http://aws.amazon.com/ko
Amazon EC2 살펴보기기
김상필, 솔루션즈 아키텍트
v
Amazon EC2 살펴보기
EC2 기초
인스턴스 수명주기
EC2 인스턴스 종류
AMI(Amazon Machine Image) 사용
EC2 인스턴스 부트스트래핑(Bootstrapping)
CloudWatch를 통한 EC2 모니터링
오토 스케일링(Auto Scaling)
스팟 인스턴스(Spot Instance)
v
EC2 기초
인스턴스 수명주기
EC2 인스턴스 종류
AMI(Amazon Machine Image) 사용
EC2 인스턴스 부트스트래핑(Bootstrapping)
CloudWatch를 통한 EC2 모니터링
오토 스케일링(Auto Scaling)
스팟 인스턴스(Spot Instance)
Amazon EC2 살펴보기
v클라우드 내 가상 서버들
• 한 개에서 수천개의 인스턴스들로 확장
• 모든 공개 AWS 지역 (region)
• 필요에 따라 생성, 시작, 중단, 구성, 모니터링
• 모든 소프트웨어 설치 : 웹, 비지니스
애플리케이션,클라이언트/서버, 배치 프로세싱
• 사용한 용량에 대해서만 비용 지불
• 다양한 비용 모델 Amazon EC2
EC2 기초
v
온디맨드
(On-demand)
예약
(Reserved)
스팟
(Spot)
전용
(Dedicated)
1년 또는 3년 예약
온디맨드보다 최대 75% 저렴한
시간 당 비용
시간 당 컴퓨팅 용량 비용
지불 장기 계약 필요 없음
사용되지 않는 EC2 용량에
대하여 비용 입찰
고객 전용 하드웨어 상의
VPC에 인스턴스 런치
고객은 현재 상황 및 용량 수요 예측에 따라 비용을 최적화하기 위하여 다양한 구매 옵션을 고려할 수 있음
증감하는 부하 확정된 사용률 시간 무관한 부하 매우 민감한 부하
EC2 기초: 비용 모델
v
EC2 기초
인스턴스 수명주기
EC2 인스턴스 종류
AMI(Amazon Machine Image) 사용
EC2 인스턴스 부트스트래핑(Bootstrapping)
CloudWatch를 통한 EC2 모니터링
오토 스케일링(Auto Scaling)
스팟 인스턴스(Spot Instance)
Amazon EC2 살펴보기
v
• 생성(Create) -> 시작(Start)
-> 중지(Stop) ->
종료(Terminate)
• 콘솔에서 수동관리
• API(또는 기타 툴)로
자동관리
• 디맨드 기반의 자동화
(수요 곡선)
프로비저닝 및 수명주기
v
EC2 기초
인스턴스 수명주기
EC2 인스턴스 종류
AMI(Amazon Machine Image) 사용
EC2 인스턴스 부트스트래핑(Bootstrapping)
CloudWatch를 통한 EC2 모니터링
오토 스케일링(Auto Scaling)
스팟 인스턴스(Spot Instance)
Amazon EC2 살펴보기
v
인스턴스 종류
HS1
M1
C1
CC2
HI1CG1
M2
CR1
38개의 “현재 세대” 인스턴스 종류
15개의 “이전 세대” 인스턴스 종류
M4 C3
I2
G2
R3
C4 D2
v
다양한 종류의 인스턴스
M3
범용
M1
컴퓨팅 최적화
C3
C1 CC2
스토리지 최적화
D2I2
HI1
G2
GPU
CG1
메모리 최적화
R3
M2 CR1
C4
HS1
M4
v
EC2 기초
인스턴스 수명주기
EC2 인스턴스 종류
AMI(Amazon Machine Image) 사용
EC2 인스턴스 부트스트래핑(Bootstrapping)
CloudWatch를 통한 EC2 모니터링
오토 스케일링(Auto Scaling)
스팟 인스턴스(Spot Instance)
Amazon EC2 살펴보기
v
AMI(아마존 머신 이미지)
사용자 머신 이미지
사용자가 EC2 인스턴스로부터 생성한
AMI로 다른 계정에 공개 가능
Amazon 관리
각 지역에서 Amazon에 의해
관리되는 Linux 및 Windows
이미지들
커뮤니티 관리
다른 AWS 사용자 및 마켓플레이스
파트너에 의해 관리되고 유지되는
공개 이미지들
v
AMI(아마존 머신 이미지)
v
EC2 기초
인스턴스 수명주기
EC2 인스턴스 종류
AMI(Amazon Machine Image) 사용
EC2 인스턴스 부트스트래핑(Bootstrapping)
CloudWatch를 통한 EC2 모니터링
오토 스케일링(Auto Scaling)
스팟 인스턴스(Spot Instance)
Amazon EC2 살펴보기
v
부트스트래핑: 메타데이터 및 사용자데이터
• 모든 EC2 인스턴스는 로컬 인스턴스의 메타데이터 및 사용자
데이터 서비스에 접근권한을 가짐
인스턴스
요청
User
data
Instance
Meta-data
service
v
부트스트래핑: 메타데이터 및 사용자데이터
• 메타데이터(Metadata): 인스턴스에 대한 불변의 데이터
• 인스턴스 내에서 HTTP를 통하여 접근 가능 http://169.254.169.254/latest/meta-data/
• 인스턴스 내에서 동작하는 스크립트는, 해당 인스턴스에 대한 유용한 정보를 제공할 수
있음 :
• Hostname
• AMI ID
• Instance ID
• Public/Private DNS
• Availability Zone
• 호스트명을 조회하기 위한 메타데이터 사용 예 :
# curl http://169.254.169.254/latest/meta-data/hostname
ip-10-0-1-13.ap-northeast-1.compute.internal
v
부트스트래핑: 메타데이터 및 사용자데이터
• 사용자데이터(User Data): 인스턴스 생성 시 최대 16KB 텍스트
까지 인스턴스에 전달
• 인스턴스 내에서 HTTP를 통하여 접근 가능 -
http://169.254.169.254/latest/user-data/
• 텍스트는 인스턴스 상의 스크립트에 의하여 파싱(Parsing) 되어
머신을 구성하기 위하여 사용 가능
v
AMI 내 커스텀 스크립트
(script_runner.py) 가 사용자데이터를
읽고 파싱하여, 부트 시 EC2
인스턴스를 구성
부트스트래핑: 메타데이터 및 사용자데이터
v• 사용자데이터의 내용이 다음과 같이 시작하면 최초 부트 시
CloudInit 이 이를 실행 :
• #! (Linux)
• <script> (Windows; 기술적으로 CloudInit이 아닌 EC2Config가 실행)
• CloudInit는 Amazon Linux, Ubuntu 및 RHEL AMI들에 설치 됨
• EC2Config는 Windows Server AMI들에 설치 됨
• CloudInit 및 EC2Config 모두 package repo 또는 source 를
통하여 다른 배포판에 설치될 수 있음
부트스트래핑: 사용자데이터 및 CloudInit
v• 부트 시 Apache 및 MySQL을 설치하고 EIP를 할당하는 사용자
데이터:
#!/bin/bash
# Install Apache, PHP, and MySQL
yum install –y httpd mysql-server
# Attach an Elastic IP to this instance
ec2-associate-address 
23.34.45.56 
-i $(curl http://169.254.169.254/latest/meta-data/instance-id)
부트스트래핑: 사용자데이터 및 CloudInit
v
부트스트래핑: 예제
• 최신 소프트웨어 설치
• S3로부터 데이터 복사
• DNS 등록
• 서비스 기동
• 패키지 업데이트
• 재기동
• 80 포트 오픈
• 로드밸런서에 등록
• 장치 마운트
v
동적으로 구성
• 인스턴스 시작
• 인스턴스 시작 시 액션을
수행하기 위하여 메타데이터
서비스 및 cloud-init 사용
• Puppet/Chef/Opsworks 와
같은 구성관리도구 사용
vsAMI 생성
• 인스턴스 시작
• 인스턴스 구성
• 인스턴스로부터 AMI 생성
• AMI로부터 새 인스턴스 시작
부트스트래핑
v
동적으로 구성+AMI 생성
• 인스턴스 시작
• 인스턴스 구성
• 인스턴스로부터 AMI 생성
• AMI로부터 새 인스턴스 시작
부트스트래핑
• 커스텀 정보의 전달 및
인스턴스 생성 이후 태스크
수행을 위하여 부트스트래핑
사용
스윗 스팟(Sweet spot)
Why do this?
자동화
손이 덜 갈수록, 실수가 적음
가용성
자가 치유 능력을
통하여 가용성 향상
보안
인스턴스는
기본적으로 보안
구성
유연성
Shell, Powershell,
CloudFormation,
Chef, Puppet,
OpsWorks 확장성
대규모 배포 관리
및 오토스케일링
효율성
적은 시간과
노력으로 자산을
관리 및 감사
Do Don’t
Some dos and don’ts
IAM 롤 사용
가능한 키없이 사용
AMI와 동적 부트스트래핑 사이의
밸런스 유지
API 액세스 키를 코드에 삽입
(그리고 GIT에 퍼블리시) 또는
AMIs 생성에 포함 (그리고 공유)

v
EC2 기초
인스턴스 수명주기
EC2 인스턴스 종류
AMI(Amazon Machine Image) 사용
EC2 인스턴스 부트스트래핑(Bootstrapping)
CloudWatch를 통한 EC2 모니터링
오토 스케일링(Auto Scaling)
스팟 인스턴스(Spot Instance)
Amazon EC2 살펴보기
v
CloudWatch를 통한 EC2 모니터링
v
EC2 기초
인스턴스 수명주기
EC2 인스턴스 종류
AMI(Amazon Machine Image) 사용
EC2 인스턴스 부트스트래핑(Bootstrapping)
CloudWatch를 통한 EC2 모니터링
오토 스케일링(Auto Scaling)
스팟 인스턴스(Spot Instance)
Amazon EC2 살펴보기
v
Scaling의 종류
• 수직적 Scaling(Scale Up/Down)
• 인스턴스 종류를 변경
• EBS 용량 증가
• 수평적 Scaling(Scale Out/In)
• 인스턴스 추가/제거
• ELB
• 오토스케일링(Autoscaling)
r3.8xlarge
c3.2xlarge
m3.medium
m3.medium m3.medium m3.medium
m3.medium m3.medium m3.medium
v
전통적 IT 리소스 사용 패턴
On and Off Fast Growth
Variable peaks Predictable peaks
v
전통적 IT 리소스 사용 패턴
On and Off Fast Growth
Variable peaks Predictable peaks
Poor
Service
WASTE
v
클라우드 IT 리소스 사용 패턴(Auto Scaling)
On and Off Fast Growth
Variable peaks Predictable peaks
v• 워크로드의 요구에 맞게 컴퓨터 클러스터의 크기를 조정
• 인스턴스의 최대/최소 숫자를 정의
• 언제 스케일 아웃 및 스케일 인이 발생할지 정의
• 스케일링 구동을 위해 Amazon CloudWatch를 통해 메트릭
정보 수집
• 온 디맨드 및 스팟 인스턴스 유형에 대한 오토 스케일링 실행
• It’s Free!
오토 스케일링 AutoScaling
인스턴스 추가 시
오토스케일링이 생성하는
것 정의 – ec2-run-instances
API 커맨드와 유사
AMI
인스턴스 종류
보안 그룹
인스턴스 키 쌍
한 번에 오직 하나의 활성화된
배포 구성
오토스케일링은 오래된
배포구성으로 생성된
인스턴스를 먼저 종료
오토스케일링에 의해
관리되는 EC2 인스턴스들의
그룹
풀 크기를 관리하기 위한 자동
헬스 체크
정책에 따라 자동으로
인스턴스의 숫자를 확장 및
축소 – Min, Max, Desired
ELB와 자동으로 통합
복수 가용 영역에 자동 분산 및
밸런스
오토스케일링 동작 수행을
위한 파라미터
스케일 아웃/인 및 개수
ChangeInCapacity (+/- #)
ExactCapacity (#)
ChangeInPercent (+/- %)
쿨 다운 (초)
CloudWatch 이벤트에 의하여
정책이 트리거됨
배포 구성 오토스케일링 정책오토스케일링 그룹
v• 수요 기반 스케일링
• 수동 스케일링
• 일정 기반 스케일링
• 항상 현재 인스턴스 수준을 유지
스케일링 계획
v
오토스케일링 수명주기
v
오토스케일링
v
오토스케일링
v
오토스케일링
v
오토스케일링
v
오토스케일링
v
Availability Zone A Availability Zone B
오토스케일링: 오토스케일링 그룹
v
Availability Zone A Availability Zone B
오토스케일링: 오토스케일링 그룹
v
Availability Zone A Availability Zone B
오토스케일링: 오토스케일링 그룹
v
Availability Zone A Availability Zone B
오토스케일링: 오토스케일링 그룹
v
Availability Zone A Availability Zone B
오토스케일링: 오토스케일링 그룹
Stop doing these:
서버를 정적으로 배포/운영
컴퓨팅 파워를 물리적인 자원으로 취급
컴퓨팅 파워를 제한된 약정으로 생각
and start doing these
보안
기본적으로 안전한
시스템을 구축
탄력성
스태이트리스
오토스케일링
애플리케이션
수정보다는 대체
문제가 있는 곳을
수정하는 대신, 손쉽게
재구성
자유로운 계획 수립
전통적인 용량
산정방식 극복
비용 고려
리소스 태깅, 다양한
인스턴스 유형 활용
Automation
자동화
필요 시 인스턴스를
생성하고 필요없을때
삭제
v
EC2 기초
인스턴스 수명주기
EC2 인스턴스 종류
AMI(Amazon Machine Image) 사용
EC2 인스턴스 부트스트래핑(Bootstrapping)
CloudWatch를 통한 EC2 모니터링
오토 스케일링(Auto Scaling)
스팟 인스턴스(Spot Instance)
Amazon EC2 살펴보기
스팟 인스턴스 개요
• Amazon EC2 컴퓨팅 예비 용량에 입찰
• 온디맨드 요금과 비교하여 할인된
요금으로 사용
• 수요 / 공급에 기반한 스팟 가격
• 최대 입찰 가격(price/hour) 지정
• 입찰 가격 > 스팟 가격 : 인스턴스 시작
• 입찰 가격 < 스팟 가격 : 인스턴스 종료
• 사용 예 : 분석, 배치 프로세싱,
빅데이터(Amazon EMR), 웹 크롤러,
테스트, 이미지&미디어 인코딩, 슈퍼
컴퓨팅 등
$0.27 $0.29$0.50
1b 1c1a
8XL
$0.30 $0.16$0.214XL
$0.07 $0.08$0.082XL
$0.05 $0.04$0.04XL
$0.01 $0.04$0.01L
C3
$1.76
On
Demand
$0.88
$0.44
$.22
$0.11
• 각 인스턴스 패밀리
• 각 인스턴스 크기
• 각 가용영역
• 모든 지역
..에서 별도의 독립된 스팟 시장
스팟 시장
$0.028 (11.7%) $0.026 (10.8%)
$3.28
(1367%)
On-Demand:
$0.24
스팟 가격 예제
1. https://aws.amazon.com/ko/ec2/spot/bi
d-advisor/
2. 스팟 가격 기록을 분석하여 필요에
적합한 입찰 가격을 결정하는 데 도움
3. 애플리케이션의 중단에 대한 허용
수준과 비용 절감 목표를 비교
4. 스팟 집합 (Spot Fleet) 등 신기능과
사용 시 이용 간편
Spot Bid Advisor
스팟 인스턴스 요청
v
• 간편한 스팟 인스턴스의 집합 관리
• 가장 가격이 낮은 가용 영역에서 스팟 인스턴스를 배포
• 가장 비용 효율적인 스팟 인스턴스를 자동으로 배포
• Spot bid advisor 활용
• 애플리케이션 용량에 대해 단위당 가장 낮은 요금을 제공하는 여러 스팟 인스턴스에
자동으로 입찰하고 관리
• 애플리케이션에서 사용할 수 있는 인스턴스 유형을 포함하고, 애플리케이션 필요에
따라 목표 용량(인스턴스, vCPU, 메모리, 스토리지 또는 네트워크 처리량 등을
단위별로)을 정의
• 목표 용량을 시작 및 유지하고, 중단되거나 직접 종료한 인스턴스를 대체하는 리소스를
자동으로 요청
스팟 집합(Spot Fleet)
v
1. EC2 스팟 인스턴스를 수 분내
배포하기 위한 손쉬운 방법
2. 어플리케이션 요구사항을
충족하는 EC2 인스턴스를
선택하고 입찰할 수 있도록
지원
3. 간편한 대시보드를 통해
어플리케이션의 컴퓨팅
용량을 수정 및 관리
EC2 스팟 콘솔
https://console.aws.amazon.com/ec2spot/home
v
스팟 블록
$1
최대 6시간
지속적으로 실행
온-디맨드 가격의
50%까지 절약
추가 파라미터 하나로
쉽게 이용 가능
스팟 시장 가격 변동에 따라서
인스턴스가 강제 종료되니 불편합니다!
그럼, 스팟 인스턴스 가격
정책은 어떻게 되나요?
스팟 유형이 다양한데,
이용하기 불편하지는 않나요?
v
EC2 스팟 블록 요청 CLI
$ aws ec2 request-spot-instances --spot-price "0.050"
--instance-count 5 --block-duration-minutes 120 --
type "one-time" --launch-specification
file://specification.json
온라인 자습 및 실습
다양한 온라인 강의
자료 및 실습을 통해
AWS에 대한 기초적인
사용법 및 활용 방법을
익히실 수 있습니다.
강의식 교육
AWS 전문 강사가 진행하는
강의를 통해 AWS 클라우드로
고가용성, 비용 효율성을 갖춘
안전한 애플리케이션을 만드는
방법을 알아보세요. 아키텍쳐 설계
및 구현에 대한 다양한 오프라인
강의가 개설되어 있습니다.
인증 시험을 통해
클라우드에 대한 자신의
전문 지식 및 경험을
공인받고 개발 경력을
제시할 수 있습니다.
AWS 공인 자격증
http://aws.amazon.com/ko/training
다양한 교육 프로그램
AWS 시작하기: AWS 프리 티어 이용하기
https://aws.amazon.com
• Amazon EC2: 750시간/월,
윈도우와 리눅스, t2.micro 인스턴스
• Amazon S3: 5GB 용량
• Amazon RDS: 750시간/월, Micro
DB인스턴스 사용
• Amazon DynamoDB: 25 GB 저장
용량, 최대 200백만 요청/월
12달간 AWS 프리 티어 액세스
AWS 시작하기: AWS 프리 티어 이용하기
AWS
관리
콘솔
AWS 시작하기: AWS 프리 티어 이용하기
AWS
관리
콘솔
AWS 시작하기: 퀵랩 실습
• 14 퀘스트
• 87 실습
• 30+ 무료 실습
https://run.qwiklab.com
100개 이상의 실습 주제
AWS 시작하기: 퀵랩 실습
계정 생성
퀘스트 예)
AWS 시작하기: 퀵랩 실습
랩 예)
AWS 시작하기: 퀵랩 실습
EC2 랩 예)
AWS 시작하기: 퀵랩 실습
EC2 랩 예)
AWS 시작하기: 퀵랩 실습
AWS 기초 웨비나 시리즈에 참여해 주셔서 감사합니다!
이번 웨비나가 여러분의 궁금증 해소에 도움이 되었길 바랍니다.
이후 이어질 설문 조사를 통해 오늘 웨비나에 대한 의견을 알려주세요.
aws-korea-marketing@amazon.com
http://twitter.com/AWSKorea
http://facebook.com/AmazonWebServices.ko
http://youtube.com/user/AWSKorea
http://slideshare.net/AWSKorea

Amazon EC2 서비스 살펴보기 (박철수) - AWS 웨비나 시리즈

  • 1.
    AWS 기초 웨비나시리즈 | 세 번째 강연 2016년 1월 27일 수요일 | 오후 3시 http://aws.amazon.com/ko Amazon EC2 살펴보기기
  • 2.
  • 3.
    v Amazon EC2 살펴보기 EC2기초 인스턴스 수명주기 EC2 인스턴스 종류 AMI(Amazon Machine Image) 사용 EC2 인스턴스 부트스트래핑(Bootstrapping) CloudWatch를 통한 EC2 모니터링 오토 스케일링(Auto Scaling) 스팟 인스턴스(Spot Instance)
  • 4.
    v EC2 기초 인스턴스 수명주기 EC2인스턴스 종류 AMI(Amazon Machine Image) 사용 EC2 인스턴스 부트스트래핑(Bootstrapping) CloudWatch를 통한 EC2 모니터링 오토 스케일링(Auto Scaling) 스팟 인스턴스(Spot Instance) Amazon EC2 살펴보기
  • 5.
    v클라우드 내 가상서버들 • 한 개에서 수천개의 인스턴스들로 확장 • 모든 공개 AWS 지역 (region) • 필요에 따라 생성, 시작, 중단, 구성, 모니터링 • 모든 소프트웨어 설치 : 웹, 비지니스 애플리케이션,클라이언트/서버, 배치 프로세싱 • 사용한 용량에 대해서만 비용 지불 • 다양한 비용 모델 Amazon EC2 EC2 기초
  • 6.
    v 온디맨드 (On-demand) 예약 (Reserved) 스팟 (Spot) 전용 (Dedicated) 1년 또는 3년예약 온디맨드보다 최대 75% 저렴한 시간 당 비용 시간 당 컴퓨팅 용량 비용 지불 장기 계약 필요 없음 사용되지 않는 EC2 용량에 대하여 비용 입찰 고객 전용 하드웨어 상의 VPC에 인스턴스 런치 고객은 현재 상황 및 용량 수요 예측에 따라 비용을 최적화하기 위하여 다양한 구매 옵션을 고려할 수 있음 증감하는 부하 확정된 사용률 시간 무관한 부하 매우 민감한 부하 EC2 기초: 비용 모델
  • 7.
    v EC2 기초 인스턴스 수명주기 EC2인스턴스 종류 AMI(Amazon Machine Image) 사용 EC2 인스턴스 부트스트래핑(Bootstrapping) CloudWatch를 통한 EC2 모니터링 오토 스케일링(Auto Scaling) 스팟 인스턴스(Spot Instance) Amazon EC2 살펴보기
  • 8.
    v • 생성(Create) ->시작(Start) -> 중지(Stop) -> 종료(Terminate) • 콘솔에서 수동관리 • API(또는 기타 툴)로 자동관리 • 디맨드 기반의 자동화 (수요 곡선) 프로비저닝 및 수명주기
  • 9.
    v EC2 기초 인스턴스 수명주기 EC2인스턴스 종류 AMI(Amazon Machine Image) 사용 EC2 인스턴스 부트스트래핑(Bootstrapping) CloudWatch를 통한 EC2 모니터링 오토 스케일링(Auto Scaling) 스팟 인스턴스(Spot Instance) Amazon EC2 살펴보기
  • 10.
    v 인스턴스 종류 HS1 M1 C1 CC2 HI1CG1 M2 CR1 38개의 “현재세대” 인스턴스 종류 15개의 “이전 세대” 인스턴스 종류 M4 C3 I2 G2 R3 C4 D2
  • 11.
    v 다양한 종류의 인스턴스 M3 범용 M1 컴퓨팅최적화 C3 C1 CC2 스토리지 최적화 D2I2 HI1 G2 GPU CG1 메모리 최적화 R3 M2 CR1 C4 HS1 M4
  • 12.
    v EC2 기초 인스턴스 수명주기 EC2인스턴스 종류 AMI(Amazon Machine Image) 사용 EC2 인스턴스 부트스트래핑(Bootstrapping) CloudWatch를 통한 EC2 모니터링 오토 스케일링(Auto Scaling) 스팟 인스턴스(Spot Instance) Amazon EC2 살펴보기
  • 13.
    v AMI(아마존 머신 이미지) 사용자머신 이미지 사용자가 EC2 인스턴스로부터 생성한 AMI로 다른 계정에 공개 가능 Amazon 관리 각 지역에서 Amazon에 의해 관리되는 Linux 및 Windows 이미지들 커뮤니티 관리 다른 AWS 사용자 및 마켓플레이스 파트너에 의해 관리되고 유지되는 공개 이미지들
  • 14.
  • 15.
    v EC2 기초 인스턴스 수명주기 EC2인스턴스 종류 AMI(Amazon Machine Image) 사용 EC2 인스턴스 부트스트래핑(Bootstrapping) CloudWatch를 통한 EC2 모니터링 오토 스케일링(Auto Scaling) 스팟 인스턴스(Spot Instance) Amazon EC2 살펴보기
  • 16.
    v 부트스트래핑: 메타데이터 및사용자데이터 • 모든 EC2 인스턴스는 로컬 인스턴스의 메타데이터 및 사용자 데이터 서비스에 접근권한을 가짐 인스턴스 요청 User data Instance Meta-data service
  • 17.
    v 부트스트래핑: 메타데이터 및사용자데이터 • 메타데이터(Metadata): 인스턴스에 대한 불변의 데이터 • 인스턴스 내에서 HTTP를 통하여 접근 가능 http://169.254.169.254/latest/meta-data/ • 인스턴스 내에서 동작하는 스크립트는, 해당 인스턴스에 대한 유용한 정보를 제공할 수 있음 : • Hostname • AMI ID • Instance ID • Public/Private DNS • Availability Zone • 호스트명을 조회하기 위한 메타데이터 사용 예 : # curl http://169.254.169.254/latest/meta-data/hostname ip-10-0-1-13.ap-northeast-1.compute.internal
  • 18.
    v 부트스트래핑: 메타데이터 및사용자데이터 • 사용자데이터(User Data): 인스턴스 생성 시 최대 16KB 텍스트 까지 인스턴스에 전달 • 인스턴스 내에서 HTTP를 통하여 접근 가능 - http://169.254.169.254/latest/user-data/ • 텍스트는 인스턴스 상의 스크립트에 의하여 파싱(Parsing) 되어 머신을 구성하기 위하여 사용 가능
  • 19.
    v AMI 내 커스텀스크립트 (script_runner.py) 가 사용자데이터를 읽고 파싱하여, 부트 시 EC2 인스턴스를 구성 부트스트래핑: 메타데이터 및 사용자데이터
  • 20.
    v• 사용자데이터의 내용이다음과 같이 시작하면 최초 부트 시 CloudInit 이 이를 실행 : • #! (Linux) • <script> (Windows; 기술적으로 CloudInit이 아닌 EC2Config가 실행) • CloudInit는 Amazon Linux, Ubuntu 및 RHEL AMI들에 설치 됨 • EC2Config는 Windows Server AMI들에 설치 됨 • CloudInit 및 EC2Config 모두 package repo 또는 source 를 통하여 다른 배포판에 설치될 수 있음 부트스트래핑: 사용자데이터 및 CloudInit
  • 21.
    v• 부트 시Apache 및 MySQL을 설치하고 EIP를 할당하는 사용자 데이터: #!/bin/bash # Install Apache, PHP, and MySQL yum install –y httpd mysql-server # Attach an Elastic IP to this instance ec2-associate-address 23.34.45.56 -i $(curl http://169.254.169.254/latest/meta-data/instance-id) 부트스트래핑: 사용자데이터 및 CloudInit
  • 22.
    v 부트스트래핑: 예제 • 최신소프트웨어 설치 • S3로부터 데이터 복사 • DNS 등록 • 서비스 기동 • 패키지 업데이트 • 재기동 • 80 포트 오픈 • 로드밸런서에 등록 • 장치 마운트
  • 23.
    v 동적으로 구성 • 인스턴스시작 • 인스턴스 시작 시 액션을 수행하기 위하여 메타데이터 서비스 및 cloud-init 사용 • Puppet/Chef/Opsworks 와 같은 구성관리도구 사용 vsAMI 생성 • 인스턴스 시작 • 인스턴스 구성 • 인스턴스로부터 AMI 생성 • AMI로부터 새 인스턴스 시작 부트스트래핑
  • 24.
    v 동적으로 구성+AMI 생성 •인스턴스 시작 • 인스턴스 구성 • 인스턴스로부터 AMI 생성 • AMI로부터 새 인스턴스 시작 부트스트래핑 • 커스텀 정보의 전달 및 인스턴스 생성 이후 태스크 수행을 위하여 부트스트래핑 사용 스윗 스팟(Sweet spot)
  • 25.
    Why do this? 자동화 손이덜 갈수록, 실수가 적음 가용성 자가 치유 능력을 통하여 가용성 향상 보안 인스턴스는 기본적으로 보안 구성 유연성 Shell, Powershell, CloudFormation, Chef, Puppet, OpsWorks 확장성 대규모 배포 관리 및 오토스케일링 효율성 적은 시간과 노력으로 자산을 관리 및 감사
  • 26.
    Do Don’t Some dosand don’ts IAM 롤 사용 가능한 키없이 사용 AMI와 동적 부트스트래핑 사이의 밸런스 유지 API 액세스 키를 코드에 삽입 (그리고 GIT에 퍼블리시) 또는 AMIs 생성에 포함 (그리고 공유) 
  • 27.
    v EC2 기초 인스턴스 수명주기 EC2인스턴스 종류 AMI(Amazon Machine Image) 사용 EC2 인스턴스 부트스트래핑(Bootstrapping) CloudWatch를 통한 EC2 모니터링 오토 스케일링(Auto Scaling) 스팟 인스턴스(Spot Instance) Amazon EC2 살펴보기
  • 28.
  • 29.
    v EC2 기초 인스턴스 수명주기 EC2인스턴스 종류 AMI(Amazon Machine Image) 사용 EC2 인스턴스 부트스트래핑(Bootstrapping) CloudWatch를 통한 EC2 모니터링 오토 스케일링(Auto Scaling) 스팟 인스턴스(Spot Instance) Amazon EC2 살펴보기
  • 30.
    v Scaling의 종류 • 수직적Scaling(Scale Up/Down) • 인스턴스 종류를 변경 • EBS 용량 증가 • 수평적 Scaling(Scale Out/In) • 인스턴스 추가/제거 • ELB • 오토스케일링(Autoscaling) r3.8xlarge c3.2xlarge m3.medium m3.medium m3.medium m3.medium m3.medium m3.medium m3.medium
  • 31.
    v 전통적 IT 리소스사용 패턴 On and Off Fast Growth Variable peaks Predictable peaks
  • 32.
    v 전통적 IT 리소스사용 패턴 On and Off Fast Growth Variable peaks Predictable peaks Poor Service WASTE
  • 33.
    v 클라우드 IT 리소스사용 패턴(Auto Scaling) On and Off Fast Growth Variable peaks Predictable peaks
  • 34.
    v• 워크로드의 요구에맞게 컴퓨터 클러스터의 크기를 조정 • 인스턴스의 최대/최소 숫자를 정의 • 언제 스케일 아웃 및 스케일 인이 발생할지 정의 • 스케일링 구동을 위해 Amazon CloudWatch를 통해 메트릭 정보 수집 • 온 디맨드 및 스팟 인스턴스 유형에 대한 오토 스케일링 실행 • It’s Free! 오토 스케일링 AutoScaling
  • 35.
    인스턴스 추가 시 오토스케일링이생성하는 것 정의 – ec2-run-instances API 커맨드와 유사 AMI 인스턴스 종류 보안 그룹 인스턴스 키 쌍 한 번에 오직 하나의 활성화된 배포 구성 오토스케일링은 오래된 배포구성으로 생성된 인스턴스를 먼저 종료 오토스케일링에 의해 관리되는 EC2 인스턴스들의 그룹 풀 크기를 관리하기 위한 자동 헬스 체크 정책에 따라 자동으로 인스턴스의 숫자를 확장 및 축소 – Min, Max, Desired ELB와 자동으로 통합 복수 가용 영역에 자동 분산 및 밸런스 오토스케일링 동작 수행을 위한 파라미터 스케일 아웃/인 및 개수 ChangeInCapacity (+/- #) ExactCapacity (#) ChangeInPercent (+/- %) 쿨 다운 (초) CloudWatch 이벤트에 의하여 정책이 트리거됨 배포 구성 오토스케일링 정책오토스케일링 그룹
  • 36.
    v• 수요 기반스케일링 • 수동 스케일링 • 일정 기반 스케일링 • 항상 현재 인스턴스 수준을 유지 스케일링 계획
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
    v Availability Zone AAvailability Zone B 오토스케일링: 오토스케일링 그룹
  • 44.
    v Availability Zone AAvailability Zone B 오토스케일링: 오토스케일링 그룹
  • 45.
    v Availability Zone AAvailability Zone B 오토스케일링: 오토스케일링 그룹
  • 46.
    v Availability Zone AAvailability Zone B 오토스케일링: 오토스케일링 그룹
  • 47.
    v Availability Zone AAvailability Zone B 오토스케일링: 오토스케일링 그룹
  • 48.
    Stop doing these: 서버를정적으로 배포/운영 컴퓨팅 파워를 물리적인 자원으로 취급 컴퓨팅 파워를 제한된 약정으로 생각
  • 49.
    and start doingthese 보안 기본적으로 안전한 시스템을 구축 탄력성 스태이트리스 오토스케일링 애플리케이션 수정보다는 대체 문제가 있는 곳을 수정하는 대신, 손쉽게 재구성 자유로운 계획 수립 전통적인 용량 산정방식 극복 비용 고려 리소스 태깅, 다양한 인스턴스 유형 활용 Automation 자동화 필요 시 인스턴스를 생성하고 필요없을때 삭제
  • 50.
    v EC2 기초 인스턴스 수명주기 EC2인스턴스 종류 AMI(Amazon Machine Image) 사용 EC2 인스턴스 부트스트래핑(Bootstrapping) CloudWatch를 통한 EC2 모니터링 오토 스케일링(Auto Scaling) 스팟 인스턴스(Spot Instance) Amazon EC2 살펴보기
  • 51.
    스팟 인스턴스 개요 •Amazon EC2 컴퓨팅 예비 용량에 입찰 • 온디맨드 요금과 비교하여 할인된 요금으로 사용 • 수요 / 공급에 기반한 스팟 가격 • 최대 입찰 가격(price/hour) 지정 • 입찰 가격 > 스팟 가격 : 인스턴스 시작 • 입찰 가격 < 스팟 가격 : 인스턴스 종료 • 사용 예 : 분석, 배치 프로세싱, 빅데이터(Amazon EMR), 웹 크롤러, 테스트, 이미지&미디어 인코딩, 슈퍼 컴퓨팅 등
  • 52.
    $0.27 $0.29$0.50 1b 1c1a 8XL $0.30$0.16$0.214XL $0.07 $0.08$0.082XL $0.05 $0.04$0.04XL $0.01 $0.04$0.01L C3 $1.76 On Demand $0.88 $0.44 $.22 $0.11 • 각 인스턴스 패밀리 • 각 인스턴스 크기 • 각 가용영역 • 모든 지역 ..에서 별도의 독립된 스팟 시장 스팟 시장
  • 53.
    $0.028 (11.7%) $0.026(10.8%) $3.28 (1367%) On-Demand: $0.24 스팟 가격 예제
  • 54.
    1. https://aws.amazon.com/ko/ec2/spot/bi d-advisor/ 2. 스팟가격 기록을 분석하여 필요에 적합한 입찰 가격을 결정하는 데 도움 3. 애플리케이션의 중단에 대한 허용 수준과 비용 절감 목표를 비교 4. 스팟 집합 (Spot Fleet) 등 신기능과 사용 시 이용 간편 Spot Bid Advisor
  • 55.
  • 56.
    v • 간편한 스팟인스턴스의 집합 관리 • 가장 가격이 낮은 가용 영역에서 스팟 인스턴스를 배포 • 가장 비용 효율적인 스팟 인스턴스를 자동으로 배포 • Spot bid advisor 활용 • 애플리케이션 용량에 대해 단위당 가장 낮은 요금을 제공하는 여러 스팟 인스턴스에 자동으로 입찰하고 관리 • 애플리케이션에서 사용할 수 있는 인스턴스 유형을 포함하고, 애플리케이션 필요에 따라 목표 용량(인스턴스, vCPU, 메모리, 스토리지 또는 네트워크 처리량 등을 단위별로)을 정의 • 목표 용량을 시작 및 유지하고, 중단되거나 직접 종료한 인스턴스를 대체하는 리소스를 자동으로 요청 스팟 집합(Spot Fleet)
  • 57.
    v 1. EC2 스팟인스턴스를 수 분내 배포하기 위한 손쉬운 방법 2. 어플리케이션 요구사항을 충족하는 EC2 인스턴스를 선택하고 입찰할 수 있도록 지원 3. 간편한 대시보드를 통해 어플리케이션의 컴퓨팅 용량을 수정 및 관리 EC2 스팟 콘솔 https://console.aws.amazon.com/ec2spot/home
  • 58.
    v 스팟 블록 $1 최대 6시간 지속적으로실행 온-디맨드 가격의 50%까지 절약 추가 파라미터 하나로 쉽게 이용 가능 스팟 시장 가격 변동에 따라서 인스턴스가 강제 종료되니 불편합니다! 그럼, 스팟 인스턴스 가격 정책은 어떻게 되나요? 스팟 유형이 다양한데, 이용하기 불편하지는 않나요?
  • 59.
    v EC2 스팟 블록요청 CLI $ aws ec2 request-spot-instances --spot-price "0.050" --instance-count 5 --block-duration-minutes 120 -- type "one-time" --launch-specification file://specification.json
  • 60.
    온라인 자습 및실습 다양한 온라인 강의 자료 및 실습을 통해 AWS에 대한 기초적인 사용법 및 활용 방법을 익히실 수 있습니다. 강의식 교육 AWS 전문 강사가 진행하는 강의를 통해 AWS 클라우드로 고가용성, 비용 효율성을 갖춘 안전한 애플리케이션을 만드는 방법을 알아보세요. 아키텍쳐 설계 및 구현에 대한 다양한 오프라인 강의가 개설되어 있습니다. 인증 시험을 통해 클라우드에 대한 자신의 전문 지식 및 경험을 공인받고 개발 경력을 제시할 수 있습니다. AWS 공인 자격증 http://aws.amazon.com/ko/training 다양한 교육 프로그램
  • 61.
    AWS 시작하기: AWS프리 티어 이용하기 https://aws.amazon.com • Amazon EC2: 750시간/월, 윈도우와 리눅스, t2.micro 인스턴스 • Amazon S3: 5GB 용량 • Amazon RDS: 750시간/월, Micro DB인스턴스 사용 • Amazon DynamoDB: 25 GB 저장 용량, 최대 200백만 요청/월 12달간 AWS 프리 티어 액세스
  • 62.
    AWS 시작하기: AWS프리 티어 이용하기 AWS 관리 콘솔
  • 63.
    AWS 시작하기: AWS프리 티어 이용하기 AWS 관리 콘솔
  • 64.
    AWS 시작하기: 퀵랩실습 • 14 퀘스트 • 87 실습 • 30+ 무료 실습 https://run.qwiklab.com 100개 이상의 실습 주제
  • 65.
    AWS 시작하기: 퀵랩실습 계정 생성
  • 66.
  • 67.
  • 68.
    EC2 랩 예) AWS시작하기: 퀵랩 실습
  • 69.
    EC2 랩 예) AWS시작하기: 퀵랩 실습
  • 70.
    AWS 기초 웨비나시리즈에 참여해 주셔서 감사합니다! 이번 웨비나가 여러분의 궁금증 해소에 도움이 되었길 바랍니다. 이후 이어질 설문 조사를 통해 오늘 웨비나에 대한 의견을 알려주세요. aws-korea-marketing@amazon.com http://twitter.com/AWSKorea http://facebook.com/AmazonWebServices.ko http://youtube.com/user/AWSKorea http://slideshare.net/AWSKorea