39
Amazon Elastic Block Store AWS Black Belt Tech Webinar 2014 작성 : Amazon Data Services Japan 솔루션스 아키텍트 平山 毅 번역 : Amazon Corporate Services Korea LLC 솔루션스 아키텍트 정윤진

20150121 AWS BlackBelt - Amazon EBS (Korean)

Embed Size (px)

Citation preview

Page 1: 20150121 AWS BlackBelt - Amazon EBS (Korean)

Amazon Elastic Block Store

AWS Black Belt Tech Webinar 2014 작성 : Amazon Data Services Japan 솔루션스 아키텍트 平山 毅번역 : Amazon Corporate Services Korea LLC 솔루션스 아키텍트 정윤진

Page 2: 20150121 AWS BlackBelt - Amazon EBS (Korean)

Agenda

• 1.Amazon Elastic Block Store

– 기본 기능

– Snapshot 기능

– Provisioned IOPS 기능

• 2.이전 (2013년 1월) 이후의 주요 업데이트

– 암호화

– SSD(gp2)

– Throughput 향상

• 3. 비용

• 4. 정리

Page 3: 20150121 AWS BlackBelt - Amazon EBS (Korean)

응용 프로그램

스토리지EBS, S3, Glacier, Storage Gateway

컨텐츠 전송(CDN)CloudFront

네트워킹VPC, Route 53, Direct Connect

인증 및로그IAM,

CloudTrail,CloudHSM

모니터링CloudWatch

Web 관리 콘솔Management

Console

배포 및 자동화Elastic Beanstalk,Cloud Formation,

OpsWorks

명령줄 도구CLI

라이브러리 & SDKsJava, PHP, .NET,

Python, Ruby

글로벌 인프라리전(region), 가용 영역(Availability Zone), 엣지 로케이션(CDN edge)

AZRegion

컴퓨팅

데이터베이스RDS, DynamoDB,

Redshift, ElastiCache

분석Elastic MapReduce,

Kinesis, Data Pipeline

어플리케이션 서비스AppStream, Cloud Search, SWF, SQS, SES, SNS, Elastic Transcoder

EC2, Auto Scaling, Elastic Load Balancing, Workspaces

Page 4: 20150121 AWS BlackBelt - Amazon EBS (Korean)

1.Amazon Elastic Block Store

Page 5: 20150121 AWS BlackBelt - Amazon EBS (Korean)

AWS 스토리지 서비스 분류

S3 Glacier

IOPS 설정이가능한 EBS

일반 디스크 WEB 기반오브젝트스토리지

아카이브용스토리지

EC2인스턴스와

함께제공되는디스크

휘발성 비휘발성(영속성)

EC2StorageGateway

연결VTL

Stored

Cached

EBSProvisioned

IOPS

(SSD)

EBSMagnetic

New !EBS

General

Purpose

(SSD)

SSD 기반의디스크

EphemeralDisk

Elastic Block Store

Page 6: 20150121 AWS BlackBelt - Amazon EBS (Korean)

Amazon Elastic Block Store

• 크기는 1GB 단위로 1GB~1TB 까지

• 크기/사용 기간을 기준으로 과금

• Magnetic의 경우 발생하는 IO 횟수에도 과금

특징

• EC2 인스턴스와 독립적으로 사용 가능

(다른 EC2 인스턴스에 교체 가능)

• 데이터는 영구적으로 저장됨

• 원하는 가용 영역에 (AZ) 생성 가능

• Snapshot 백업에서 EBS 볼륨을 생성 가능

(다른 AZ에도 생성 가능)

• 3 가지의 Disk 유형을 선택 가능

Region

Availability Zone - a

EBS EBS EBS

Availability Zone - b

EBS EBS

Amazon Simple

Storage Service

(S3)

EBS

Snapshot

EC2 EC2

EBS는, EC2에 연결되는블록 레벨의 스토리지 서비스※각 컴퓨팅 서비스의 데이터 기반

Page 7: 20150121 AWS BlackBelt - Amazon EBS (Korean)

EBS 기본 아키텍처

물리인터페이스

방화벽

하이퍼바이저

…EC2

인스턴스

OS

• 각 볼륨은 내부적으로 높은 가용성을 가질 수 있도록 구성됨

• 볼륨을 생성한 후에는 OS에서 파일 시스템을 사용할 수 있도록 포맷등의 준비가 필요

• EBS는 기본적으로 네트워크로 연결된 스토리지

가용 영역 (AZ) 리전 (Region)

Snapshot

EBS

AWS 내부적으로고가용성의 구조

Page 8: 20150121 AWS BlackBelt - Amazon EBS (Korean)

EBS를 공유 디스크로 사용시 제한 사항

• 여러 인스턴스에서 하나의 EBS 볼륨을 연결하는 것은 불가능

(반대로, 하나의 인스턴스에서 다수의 EBS 볼륨을 연결하는 것은 가능)

• 공유 디스크를 사용하는 클러스터들, 이를테면 Oracle RAC와 같은 솔루션은 그대로 사용할수 없음

• Shared Nothing 의 구조를 가지는 클러스터는 사용 가능

Region

Availability Zone - a

Region

Availability Zone - a

EC2:N → EBS:1 EC2:1 → EBS:N

EBS EBSEBS

Page 9: 20150121 AWS BlackBelt - Amazon EBS (Korean)

EBS, Instance Store 의 적용

OS 부팅 디스크

D:C:

EBS

EC2

EBS

Windows

데이터 저장 디스크

Instance

Store

E:

데이터 계산용

임시 디스크

응용프로그램 데이터

시스템데이터

정렬데이터

Page 10: 20150121 AWS BlackBelt - Amazon EBS (Korean)

Delete on Termination

• 기본적으로 EC2와 연결된 EBS는 EC2가「Stop」상태가 되면 문제가 없지만,

EC2가「Terminate」되면 함께 삭제됨

• EC2 시작 또는 AMI 생성시, Storage Device Configuration의「Delete on Termination」체크를 해제 함으로서 EBS 볼륨 삭제를 방지(Management Console 에서 설정 가능)

Page 11: 20150121 AWS BlackBelt - Amazon EBS (Korean)

EBS 스냅샷이란?• EBS 스냅샷이란?

– EBS 백업 기능

– EBS 볼륨의 특정시점의 스냅샷을 S3에저장

– 용량 기준으로 과금

– 2번째 스냅샷은 첫번째 스냅샷에서변경된 데이터만을 S3에 저장

– 각 스냅샷의 세대(generation) 관리가가능

– 저렴한 가격에 장기 보관이 가능

– 스냅샷을 사용하여 서로 다른 AZ에 EBS볼륨을 생성 및 복원 가능

– 다른 계정과 공유 설정 가능

– AZ에 종속적이지 않음

– EBS의 크기 변경 역시 스냅샷을 통해가능

Region

Availability Zone - a

EBS EBS EBS

Availability Zone - b

EBS EBS

Amazon Simple

Storage Service

(S3)

EBS

Snapshot

EBS Snapshot으로 저장

S3 에서 직접확인은 불가능

Page 12: 20150121 AWS BlackBelt - Amazon EBS (Korean)

EBS 스냅샷 처리 방식

・스냅샷은 S3에 저장되며, 블록 레벨에서 이전 스냅샷과 다른 데이터만 취합하여 수분내에 처리

EBS10G

EBS10G

EBS10G최초

Amazon Simple Storage Service (S3)에 실제 파일이 저장

두번째

세번째A

A

B B

B

C

C

A B B C

스냅샷개념

1G 전체 1G←변경된부분

←변경된 부분전체2G

최초에는 전체 1G를스냅샷으로 저장

두번째는 첫번째와다른 1G만 검색

세번째는 두번째와신규 1G 를 검색

이전 시점의 데이터와배교

S3에 저장된 각 스냅샷은 해당시점으로 복구가 가능하도록 저장

다른 부분

Page 13: 20150121 AWS BlackBelt - Amazon EBS (Korean)

EBS 스냅샷 복원• 복구를 원하는 시점의 스냅샷을 사용하여 복구

• (당연히 Disk 의 물리적 교환이 필요 없는 EBS의 기능)

EBS10G

EBS10G

EBS10G

최초

Amazon Simple Storage Service (S3)에 실제 파일이 저장

두번째

세번째A

A

B B

B

C

C

A B B C

스냅샷 개념

1G 전체 1G

예를 들어, 이 스냅샷을 지우면

전체 2G

장애 EBS

10GB

전체 1G

두번째 스냅샷시점으로 복원

나머지 스냅샷에 없는데이터 A는 제거

두번째시점

Page 14: 20150121 AWS BlackBelt - Amazon EBS (Korean)

Snapshot 공유・EBS 탭에서 해당 Snapshot을 선택,「Permission」에서 변경이 가능

・공개 가능한 범위는 다음의 두가지

・AWS 계정간 공유를 통해 동일하게 사용되는 데이터 세트가 저장된 볼륨을 공유하는 것도 가능

①전체 공유「Public」선택

↓모든 AWS 사용자가 이용 가능

②특정 AWS 계정과 공유「Private」를 선택

특정 AWS 계정을 지정↓

지정된 AWS 사용자만 이용 가능

Page 15: 20150121 AWS BlackBelt - Amazon EBS (Korean)

Snapshot Copy• 생성된 Snapshot을 복사하는 기능(※Region내에 복사, 다른 Region에 복사, 모두 가능)

[주요용도]

• 서비스 대상 지역의 확대(새로운 region 에서 서비스를 런칭하고자 하는 경우)

• 이전 (현재 리전에서 다른 리전으로 서비스를 이전)

• DR (재해 복구)

Region : A

Availability

Zone - a

Snapsho

t

EBS

Availability

Zone - b

Region : B

Availability

Zone - aAvailability

Zone - b

Internet

Snapshot

Copy

Snapshot

Copy

EBS

AMI

Create EBS

from Snapshot

Create AMI

from Snapshot

Page 16: 20150121 AWS BlackBelt - Amazon EBS (Korean)

Snapshot Copy 작업• Snapshot 을 선택하고「Copy」를 클릭,「Copy Snapshot」으로 대상 리전을 선택

• 다수의 스냅샷을 동시에 병렬로 처리하는것도 가능

• Management Conslole 에서는 스냅샷이 존재하는 리전에서 대상리전으로 Push

명령줄 도구에서는 대상 리전에서 원본 리전에 있는 스냅샷을 Pull 하여 실행하는 점에 주의

$ aws –region 대상리전 ec2 copy-snapshot --source-region 원본리전 --source-

snapshot-id 원본 스냅샷 ID

원본 쪽에서Push

대상 리전에서Pull

리전간 복사진행상황을 확인가능

ManagementConslole

CLI

Page 17: 20150121 AWS BlackBelt - Amazon EBS (Korean)

스냅샷 처리의 자동화

• EBS는 직접 스토리지를 운영하는 경우 가장 빈도가 높고 귀찮은 Disk 교환작업이 불필요하기 때문에 운용 부하가 크게 감소

• 그러나 스냅샷을 생성하기 위해서는 별도의 운영 작업이 필요하기 때문에,아래와 같은 방법을 통해 자동화하여 운영 부하를 감소시킬 수 있음

지동화 설정예

#인증정보가급적이면 IAM ROLE을 사용하고 ACCESS_KEY, SECRET_KEY의 사용은피한다#시작조건(선택)・・・・・ ← 선처리 또는 별도의 파일 연계 등의 필요한 조건을 넣을수 있음#스냅샷ec2 create snapshot “volume-ID” ← ID 매개 변수 전달

CLI、SDK 를 사용하여 프로그램을 작성

①OS 일정 관리 도구로 프로그램을 스케줄(Linux:Cron, Windows:작업 스케줄러에 추가)②Build-in job 스케줄러를 사용

Page 18: 20150121 AWS BlackBelt - Amazon EBS (Korean)

Provisioned IOPS

• IOPS 성능을 지정할 수 있는 EBS

• EBS-Optimized 인스턴스에 대한 연결을 전제

• Volume를 만들때 PIOPS(SSD)를 지정하여 생성 가능

EBS Root Volume 에도 PIOPS 볼륨을 사용 가능

• OS에서는 일반 EBS와 동일하게 사용

• 지정한 IOPS 성능의 ±10%를 99.9% 의 확률로 보장

18

IOPS?

Input Output per Second 의 약자로,「1초당 디스크 I/O」를 의미하며 DISK성능지표로 자주 사용되는 값 중 하나

(산출 방법)1

회전 지연 시간+탐색 시간+전송 시간

Volume Type은

Provisioned IOPS를 선택

IOPS 지정

Page 19: 20150121 AWS BlackBelt - Amazon EBS (Korean)

EBS-Optimized Instance

• EBS의 Disk 전용 네트워크 대역폭을 최적화

(EC2인스턴스 유형에 따라 성능이 다름)

• General Purpose, Magnetic Volume 을 사용하는 경우에도 효과가 있음

• “EBS-Optimized Instance” 와 “Provisioned IOPS”를 함께 사용하여 IO의최대 성능을 끌어내는 것이 가능

EC2normal

Net

work

PIOPSEBS

PIOPSEBS

EC2

일반 인스턴스 EBS-Optimized-Instance

EC2EBS-

OptimizedNet

work

PIOPSEBS

PIOPSEBS

EC2

EBS용네트워크

일반네트워크

EBS 전용네트워크

일반네트워크

EBS용 대역과 공유 EBS전용 네트워크를 별도로

Page 20: 20150121 AWS BlackBelt - Amazon EBS (Korean)

EBS-Optimized Instance 활성화

여기의 체크 박스를체크

Page 21: 20150121 AWS BlackBelt - Amazon EBS (Korean)

PIOPS와 EBS-Optimized 의 조합

EC2normal

Net

work

EBS EBS

EC2

EBS네트워크

일반네트워크

EC2EBS-

Optimized

Net

work

EBS EBS

EC2

EBS전용네트워크

일반네트워크

EC2normal

Net

work

PIOPSEBS

PIOPSEBS

EC2

EC2EBS-

Optimized

Net

work

PIOPSEBS

PIOPSEBS

EC2

EBS네트워크

일반네트워크

EBS 전용네트워크

일반네트워크

①일반 ②EBS-optimized

③PIOPS ④PIOPS+EBS-optimized

P-IOPS

EBS-optimized

스토리지 네트워크를최적화

추천하지않음

(※PIOPS 기능은 EBS-Optimized 에서의 사용을 전제로 함 )

빠른 IO안정화

IO 안정화

Page 22: 20150121 AWS BlackBelt - Amazon EBS (Korean)

Auto Enable IO 기능

• EBS 데이터의 정합성보다 EBS 에 대한 I/O 작업을 우선시 하는 기능

• 데이터의 무결성보다 디스크의 가용성을 보다 중시하는 경우 사용

• 이 경우, 디스크의 상태는 항상「Okay」가 되지만, 데이터에 일관성에 문제가 될 수 있는경우에는「Auto I/O enable」이벤트가 생성됨

체크 박스를 확인

Page 23: 20150121 AWS BlackBelt - Amazon EBS (Korean)

EBS Volume Status 기능• EBS의 데이터 무결성(intigrity) 관점에서 EBS의 상태를 내부적으로

자동으로 확인 하는 기능(5분 단위)

• Status Checks 탭의「Volume Status」에서 확인 가능

• 성공시에는「Okay」, 실패시에는「impaired」가 표시

기본적으로 EBS의 I/O가 중단됨

• Linux의 경우 fsck, Windows의 경우 chkdsk, OS에서 데이터의 무결성을확인하는 것이 필요

■유의 사항

• EBS 하드 디스크의 오류 감지(내부 미러 디스크도 사용 불가)는 Status Checks대신 State의 「Error」에서 확인

↓error ↓integrity

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monito

ring-volume-status.html

Page 24: 20150121 AWS BlackBelt - Amazon EBS (Korean)

EBS Status Check 이벤트 확인

• Status Checks 항목에서 발생하는 이벤트는 다음과 같이 확인 가능

(※Cloudwatch의 알람 설정과 다름)

$ aws ec2 describe-volume-status –volume-ids (볼륨ID)

■명령줄 도구Status 정보와 이벤트 정보 확인

■Management ConsoleEC2의「Event」탭에서 EC2 이벤트와 함께 표시됨

Page 25: 20150121 AWS BlackBelt - Amazon EBS (Korean)

EBS의 상태 모니터링

Amazon Web Services

Guest OS

PIOPSEBS

Middleware

Application

EC2EBS-

Optimized

Hypervisor

EC2

OS 또는미들웨어파일 시스템

EBS 전용네트워크

일반 이더넷네트워크

■기본 개념■내부 모니터링OS・Middleware・Application레벨에서의 모니터링필요

■AWS의 모니터링AWS 상태 모니터링

State 의미

Creating EBS 생성중

Available EBS 사용 가능

In-use EBS 사용중

Deleting EBS 삭제중

Deleted EBS 삭제됨

Error EBS 이용 불가

Status 의미

Okay EBS I/O 정상

Warning EBS I/O 문제

Impaired EBS I/O 불가

Insufficient-Data

EBS I/O확인중

①EBS 동작 모니터링

②EBS I/O 상태 모니터링

모니터링 필요

Page 26: 20150121 AWS BlackBelt - Amazon EBS (Korean)

2.Update

Page 27: 20150121 AWS BlackBelt - Amazon EBS (Korean)

EBS 암호화 기능

・EBS가 AES-256으로 암호화가 가능해 짐.

키 정보는 AWS측에서 관리

[유의사항]

・비 암호화 EBS로 암호화된 EBS 생성 불가

・부트 볼륨에는 지원되지 않음

・암호화된 EBS Snapshot은 공유 및

타 AWS 계정에 공유 되어도 decryption 불가

・연결 가능한 인스턴스 유형에 제한이 있음

(2014년 9월 기준)

「암호화」체크

인스턴스 패밀리 인스턴스 유형을 지원

M3 m3.medium | m3.large | m3.xlarge | m3.2xlarge

C3 c3.large | c3.xlarge | c3.2xlarge | c3.4xlarge | c3.8xlarge

CR1, R3 cr1.8xlarge | r3.large | r3.xlarge | r3.2xlarge | r3.4xlarge | r3.8xlarge

I2 i2.xlarge | i2.2xlarge | i2.4xlarge | i2.8xlarge

G2 g2.2xlarge

Page 28: 20150121 AWS BlackBelt - Amazon EBS (Korean)

EBS 비 암호화에서 EBS 암호화 볼륨 마이그레이션(예)

이전Instance

Boot Data

새로운 유형Instance

Boot Data Data

파일 파일

신규 암호화지원 EBS연결

Snapshot

암호화 되지 않은 EBS Snapshot에서는 암호화 된 EBS 볼륨 생성불가

・EBS 암호화를 지원하는 인스턴스 유형으로 변경암호화를 지원하는 EBS 볼륨을 생성, 인스턴스에 연결하여 데이터를 복사

ChangeInstanceType 새로운 유형

Instance

Boot Data Data

파일

드라이브 레터의조정이 필요한 경우Snapshot 을 사용

Page 29: 20150121 AWS BlackBelt - Amazon EBS (Korean)

EBS General Purpose (SSD) – GP2

항목 (Standard)Magnetic GP2

Provisioned IOPS (PIOPS)

종류 하드 디스크 SSD 스토리지 SSD 스토리지

용량에 따른 비용 GB당 과금 GB당 과금 GB당 과금

IOPS사용에 따른 비용

없음 없음 있음(Provisioned

IOPS당)

IO 발생에 따른 비용 있음(100만 I/O당)

없음 없음

성능 보통 고성능 – burst 가능 고성능(PIOPS 설정)

New !

・EBS Volume 의 3번째유형으로 GP2 등장!・기본으로 사용하는 것을권장!

Page 30: 20150121 AWS BlackBelt - Amazon EBS (Korean)

GP2 세부 사항

• SSD 기반의 새로운 볼륨

• 1GB 당 3IOPS를 보장

100GB 볼륨의 경우 300IOPS, 500GB의 경우 1500IOPS

• 최대 3000IOPS까지 burst (순간 성능 향상) 가능

시스템 root 볼륨과 같이 순간적으로 IO 가 발생하는 경우 적합

Burst 가 지속되는 시간은 I/O Credit 과 용량을 기준으로

• 단순한 요금 체계

1GB당 1개월 0.12 USD(Tokyo 기준)

IOPS당 과금 및 I/O에 따른 과금이 없으며, 용량만을 기준으로 과금

Page 31: 20150121 AWS BlackBelt - Amazon EBS (Korean)

용량에 비례하는 성능

General Purpose(SSD)볼륨성능(I/O부하지속시,볼륨크기별)

• 기본 성능 이상의 I/O 요청이발생하면 일정시간 동안 burst

• burst 가 종료되면 (1GB당3IOPS)의 성능이 유지

• 1TB를 사용하게 되면 항상3000IOPS 성능을 유지 할 수있음(=Provisioned IOPS와동일)

IOPS

500GB

1TB

100GB

burst

Page 32: 20150121 AWS BlackBelt - Amazon EBS (Korean)

GP2의 3000IOPS burst 시간 산출 방법

Credit 잔액

기간 =

Burst IOPS - 3 × 볼륨의 크기

볼륨 크기(GiB)

1기가당 3IOPS(기반 성능)

3,000 IOPS 에서최대 burst 기간(초)

Credit 을충전하는데 걸리는

시간

1 3 1,802 1,800,000100 300 2,000 18,000250 750 2,400 7,200500 1,500 3,600 3,600750 2,250 7,200 2,400

1,000 3,000 무제한 없음

용량이늘어나면burst 시간이늘어남

Page 33: 20150121 AWS BlackBelt - Amazon EBS (Korean)

부하와 비용 관점에서3가지의 EBS 유형 비교

IO 부하가 낮은 경우 IO 부하가 높은 경우

• GP2의 경우 Magnetic과 유사한비용이지만, 3000IOPS 사용이 가능

• 고 부하시에는 GP2가 PIOPS 비해 저렴• 표준 Magnetic에서는 성능이 부족• PIOPS에서는 안정된 3000IOPS 성능이

나오지만, burst 기준으로 GP2가 최저가

100IOPS 까지의성능

최저가

1TB 100IOPS 1TB 3000IOPS

Page 34: 20150121 AWS BlackBelt - Amazon EBS (Korean)

EBS의 최대 처리량 성능 향상

■최대 전송 속도의 두배

최대 128MB/Sec까지 가능(종전에는 64MB/Sec까지)

■IO 단위 16 배

최대 256KB 까지 가능(기존에는 16KB까지)

OSEBS Optimized에서 확보된대역폭

128MB/Sec

EC2 예

256MB/Sec

블록크기256KB

1 IOPS에서 256K의처리 가능

※이전에는 256K는 8개의 IOPS가 필요

Page 35: 20150121 AWS BlackBelt - Amazon EBS (Korean)

3. 가격

Page 36: 20150121 AWS BlackBelt - Amazon EBS (Korean)

가격

• Amazon EBS General Pupose (SSD)– $0.12 : 1GB 를 1개월 동안 사용한 경우

• Amazon EBS Provisioned IOPS (SSD)– $0.142 : 1GB 를 1개월 동안 사용한 경우

– $0.074: 1 IOPS 를 1개월 동안 지정한 경우

• Amazon EBS Magnetic Volume– $0.080 : 1GB 를 1개월 동안 사용한 경우

– $0.080/100만 I/O 요청 당

• Amazon EBS 스냅샷– $0.095 : 1개월 동안 저장된 데이터 GB당

※2014년 9월 3일 기준 Tokyo region

Page 37: 20150121 AWS BlackBelt - Amazon EBS (Korean)

4. 정리

Page 38: 20150121 AWS BlackBelt - Amazon EBS (Korean)

정리

• EBS는 EC2의 기본 스토리지

• 스냅샷은 백업 외에도 리전간, AZ간 데이터의 마이그레이션에도 사용 됨

• GP2 볼륨 및 EBS 의 처리 성능 향상을 통해 보다 높은 워크로드 처리가 가능

저렴한 구성이 가능!

• EBS 볼륨에 AES-256 암호화를 적용하여 보다 안전한 데이터 저장이 가능

Page 39: 20150121 AWS BlackBelt - Amazon EBS (Korean)

참고 자료

• Amazon Elastic Block Store Developer Guide

– http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html

• Amazon EBS Optimized Instance Developer Guide

– http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html

• Amazon EBS FAQ

– http://aws.amazon.com/ko/ec2/faqs/

• Amazon EBS 가격

– http://aws.amazon.com/ko/ec2/pricing/