Upload
amazon-web-services-korea
View
577
Download
1
Embed Size (px)
Citation preview
Amazon Elastic Block Store
AWS Black Belt Tech Webinar 2014 작성 : Amazon Data Services Japan 솔루션스 아키텍트 平山 毅번역 : Amazon Corporate Services Korea LLC 솔루션스 아키텍트 정윤진
Agenda
• 1.Amazon Elastic Block Store
– 기본 기능
– Snapshot 기능
– Provisioned IOPS 기능
• 2.이전 (2013년 1월) 이후의 주요 업데이트
– 암호화
– SSD(gp2)
– Throughput 향상
• 3. 비용
• 4. 정리
응용 프로그램
스토리지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
1.Amazon Elastic Block Store
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
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에 연결되는블록 레벨의 스토리지 서비스※각 컴퓨팅 서비스의 데이터 기반
EBS 기본 아키텍처
물리인터페이스
방화벽
하이퍼바이저
…EC2
인스턴스
OS
• 각 볼륨은 내부적으로 높은 가용성을 가질 수 있도록 구성됨
• 볼륨을 생성한 후에는 OS에서 파일 시스템을 사용할 수 있도록 포맷등의 준비가 필요
• EBS는 기본적으로 네트워크로 연결된 스토리지
가용 영역 (AZ) 리전 (Region)
Snapshot
EBS
AWS 내부적으로고가용성의 구조
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
EBS, Instance Store 의 적용
OS 부팅 디스크
D:C:
EBS
EC2
EBS
Windows
데이터 저장 디스크
Instance
Store
E:
데이터 계산용
임시 디스크
응용프로그램 데이터
시스템데이터
정렬데이터
Delete on Termination
• 기본적으로 EC2와 연결된 EBS는 EC2가「Stop」상태가 되면 문제가 없지만,
EC2가「Terminate」되면 함께 삭제됨
• EC2 시작 또는 AMI 생성시, Storage Device Configuration의「Delete on Termination」체크를 해제 함으로서 EBS 볼륨 삭제를 방지(Management Console 에서 설정 가능)
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 에서 직접확인은 불가능
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에 저장된 각 스냅샷은 해당시점으로 복구가 가능하도록 저장
다른 부분
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는 제거
두번째시점
Snapshot 공유・EBS 탭에서 해당 Snapshot을 선택,「Permission」에서 변경이 가능
・공개 가능한 범위는 다음의 두가지
・AWS 계정간 공유를 통해 동일하게 사용되는 데이터 세트가 저장된 볼륨을 공유하는 것도 가능
①전체 공유「Public」선택
↓모든 AWS 사용자가 이용 가능
②특정 AWS 계정과 공유「Private」를 선택
특정 AWS 계정을 지정↓
지정된 AWS 사용자만 이용 가능
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
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
스냅샷 처리의 자동화
• EBS는 직접 스토리지를 운영하는 경우 가장 빈도가 높고 귀찮은 Disk 교환작업이 불필요하기 때문에 운용 부하가 크게 감소
• 그러나 스냅샷을 생성하기 위해서는 별도의 운영 작업이 필요하기 때문에,아래와 같은 방법을 통해 자동화하여 운영 부하를 감소시킬 수 있음
지동화 설정예
#인증정보가급적이면 IAM ROLE을 사용하고 ACCESS_KEY, SECRET_KEY의 사용은피한다#시작조건(선택)・・・・・ ← 선처리 또는 별도의 파일 연계 등의 필요한 조건을 넣을수 있음#스냅샷ec2 create snapshot “volume-ID” ← ID 매개 변수 전달
CLI、SDK 를 사용하여 프로그램을 작성
①OS 일정 관리 도구로 프로그램을 스케줄(Linux:Cron, Windows:작업 스케줄러에 추가)②Build-in job 스케줄러를 사용
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 지정
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전용 네트워크를 별도로
EBS-Optimized Instance 활성화
여기의 체크 박스를체크
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 안정화
Auto Enable IO 기능
• EBS 데이터의 정합성보다 EBS 에 대한 I/O 작업을 우선시 하는 기능
• 데이터의 무결성보다 디스크의 가용성을 보다 중시하는 경우 사용
• 이 경우, 디스크의 상태는 항상「Okay」가 되지만, 데이터에 일관성에 문제가 될 수 있는경우에는「Auto I/O enable」이벤트가 생성됨
체크 박스를 확인
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
EBS Status Check 이벤트 확인
• Status Checks 항목에서 발생하는 이벤트는 다음과 같이 확인 가능
(※Cloudwatch의 알람 설정과 다름)
$ aws ec2 describe-volume-status –volume-ids (볼륨ID)
■명령줄 도구Status 정보와 이벤트 정보 확인
■Management ConsoleEC2의「Event」탭에서 EC2 이벤트와 함께 표시됨
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 상태 모니터링
모니터링 필요
2.Update
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
EBS 비 암호화에서 EBS 암호화 볼륨 마이그레이션(예)
이전Instance
Boot Data
새로운 유형Instance
Boot Data Data
파일 파일
신규 암호화지원 EBS연결
Snapshot
암호화 되지 않은 EBS Snapshot에서는 암호화 된 EBS 볼륨 생성불가
・EBS 암호화를 지원하는 인스턴스 유형으로 변경암호화를 지원하는 EBS 볼륨을 생성, 인스턴스에 연결하여 데이터를 복사
ChangeInstanceType 새로운 유형
Instance
Boot Data Data
파일
드라이브 레터의조정이 필요한 경우Snapshot 을 사용
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 등장!・기본으로 사용하는 것을권장!
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에 따른 과금이 없으며, 용량만을 기준으로 과금
용량에 비례하는 성능
General Purpose(SSD)볼륨성능(I/O부하지속시,볼륨크기별)
• 기본 성능 이상의 I/O 요청이발생하면 일정시간 동안 burst
• burst 가 종료되면 (1GB당3IOPS)의 성능이 유지
• 1TB를 사용하게 되면 항상3000IOPS 성능을 유지 할 수있음(=Provisioned IOPS와동일)
IOPS
분
500GB
1TB
100GB
burst
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 시간이늘어남
부하와 비용 관점에서3가지의 EBS 유형 비교
IO 부하가 낮은 경우 IO 부하가 높은 경우
• GP2의 경우 Magnetic과 유사한비용이지만, 3000IOPS 사용이 가능
• 고 부하시에는 GP2가 PIOPS 비해 저렴• 표준 Magnetic에서는 성능이 부족• PIOPS에서는 안정된 3000IOPS 성능이
나오지만, burst 기준으로 GP2가 최저가
100IOPS 까지의성능
최저가
1TB 100IOPS 1TB 3000IOPS
EBS의 최대 처리량 성능 향상
■최대 전송 속도의 두배
최대 128MB/Sec까지 가능(종전에는 64MB/Sec까지)
■IO 단위 16 배
최대 256KB 까지 가능(기존에는 16KB까지)
OSEBS Optimized에서 확보된대역폭
128MB/Sec
EC2 예
256MB/Sec
블록크기256KB
1 IOPS에서 256K의처리 가능
※이전에는 256K는 8개의 IOPS가 필요
3. 가격
가격
• 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
4. 정리
정리
• EBS는 EC2의 기본 스토리지
• 스냅샷은 백업 외에도 리전간, AZ간 데이터의 마이그레이션에도 사용 됨
• GP2 볼륨 및 EBS 의 처리 성능 향상을 통해 보다 높은 워크로드 처리가 가능
저렴한 구성이 가능!
• EBS 볼륨에 AES-256 암호화를 적용하여 보다 안전한 데이터 저장이 가능
참고 자료
• 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/