2012년 1월 23일 일본 AWS의 玉川 憲 솔루션스 아키텍트 총괄이 진행한 기술 웨비나의 발표자료를 한국 AWS의 정윤진 아키텍트가 한글로 번역한 자료입니다. 작성 당시의 내용이 현재와는 다소 상이할 수 있으니 자료 열람에 이 점 참고 부탁드리며 혹 내용에 대한 문의사항이 있으신 경우 info-kr@amazon.com으로 연락 부탁드리겠습니다.
1. Amazon EC2 & Amazon EBS
[AWS Meister - Reloaded] 웨비나 시리즈 발표자료
작성: 玉川 憲 솔루션스 아키텍트 총괄
번역: 정윤진 솔루션스 아키텍트
이 자료의 내용은 번역 작업이 진행된 2013년 4월 20일에 맞춰져 있어 현재의
내용과는 다를 수 있습니다. 내용에 대한 문의사항이 있으신 경우 info-
kr@amazon.com으로 연락 주시기 바랍니다.
3. Amazon EC2의 이미지
데이터센터
가상 서버(Amazon EC2)
Windows CentOS
(스텐다드) (High CPU)
Oracle DB(Linux)
(High Memory)
명령줄
/ SDK이용
SSH공개키
인증
가상 외장 디스크
(Amazon EBS)
스토리지
AMI
로 부터
가상 데스크톱
터미널
AMI
로 저장
API
Web 콘솔
4. Amazon EC2사용의 장점
필요한 시점에 수백대의 서버라도 몇분 내에 준비가 가능
사용시간을 기반으로한 다양한 가격 모델을 제공
API를 사용한 완벽한 서비스 제어
특정 OS、언어、프레임워크에 대한 종속성이 없음
▪ 다양한 AMI가 준비되어 있으며, 커스터마이즈 가능
▪ OS: Linux, Windows 를 포함
▪ 언어 및 미들웨어를 가리지 않음: Oracle DB、LAMP 등
다양한 성능의 인스턴스를 선택 가능
▪ CPU 성능、코어、RAM、디스크 공간
안전하고 유연한 네트워크 보안 모델
▪ 기본적으로 모든 포트는 접근 거부, 필요에 따라서 허용
▪ SSH 접근을 위해서는 패스워드가 아닌 Key 기반 인증을 사용
11. 지역 (동경)
지역(Region) 및 가용 영역(Availability Zones)
• 현재 전세계 10개 지역 (+호주, 중국)
• 사용자가 원하는 지역을 선택
• 1개의 지역(Region)에는 물리적으로 떨어진
다수의 가용 영역(AZ) 가 존재
• 가용영역은 서로 다른 지층(지진대비), 전원
공급자, 네트워크 공급자를 사용하여 만일에
대비
• 동경 지역의 경우 EC2를 위해 물리적으로
떨어진 2개의 데이터센터(가용영역, AZ)
• AZ 는 사용자가 복수로 선택하여 사용 가능
• AZ 간에는 고속 전용선으로 연결되어 있음
(저렴한 데이터 전송 요금)
• 지역간 통신 (region to region) 에는 인터
넷 비용이 청구됨
미국
동부
미국 서부①
유럽
가용 영역 A 가용역역 B
EC2 EC2
싱가폴
미국 서부② 남미
+ GovCloud
14. 인스턴스 유형 별 Spec
이름 메모리 처리능력 스토리지 32 / 64 bit API 이름
Standard
Small 1.7 GB 1 (1 core x 1 ) 160 GB 32-bit m1.small
Large 7.5 GB 4 (2 cores x 2 ) 850 GB 64-bit m1.large
Extra large 15 GB 8 (4 cores x 2) 1690 GB 64-bit m1.xlarge
Micro
Micro 0.6 GB 2 (short burst) EBS only 32/64-bit t1.micro
High Memory
Extra large 17.1 GB 6.5 (2core x
3.25)
420 GB 64-bit m2.xlarge
Double x large 34.2 GB 13 (4コアx 3.25) 850 GB 64-bit m2.2xlarge
Quad x large 68.4 GB
26 (8コアx
3.25 )
1690 GB 64-bit m2.4xlarge
High CPU
Medium 1.7 GB 5 (2コア x 2.5 ) 350 GB 32-bit c1.medium
Extra large 7 GB 20 (8 コアx 2.5 ) 1690 GB 64-bit c1.xlarge
GPU 인스턴스(cg) 는 US-EAST-1 에서만 사용 가능
15. HPC의 스펙 = EC2 + 광대역/고속 네트워크
클러스터(CC1) 클러스터 GPU 클러스터 CC2
CPU
Xeon 5570 (Intel
Nehalem) x 2
Xeon 5570 (Intel
Nehalem) x 2
Intel Xeon Eight-
core x 2
GPU
N/A
2NVIDIA Tesla
“Fermi” M2050 GPU
x2
N/A
ECU 33.5 33.5 88
Memory 23 GB 22 GB 60.5 GB
Network 10Gbps full
bisection
10Gbps full
bisection
10Gbps full
bisection
가격 約100円 / 時間 約162円 / 時間 約185円 / 時間
18. AMI 의 종류
・기본 AMI
(2009년에 추가됨 )
・EC2가 중단/종료에도 파일 시스템을
유지 할 수 있음
EBS-Backed AMI
AMI (Amazon Machine Image)
서버를 만들기 위한 템플릿
•EC2 서비스 초기 부터 제공 !
•EC2 의 중지 옵션이 없음 !
•EC2 를 종료하면 데이터는 함께 사라
짐
S3-Backed AMI
19. 각 AMI 의 차이점
Amazon S3
하이퍼바이저
가상머신
다수의 !
EBS !
볼륨
네트워크!
IO
EBS 스냅샷
S3 AMI
다수의!
인스턴스!
스토리지
20. EC2 인스턴스의 (EBS-backed)의 라이프사이클
EBS
backed
AMI 선택
인스턴스
(Pending)
인스턴스!
(Runing)
인스턴스
(Shutting
Down)
인스턴스
(Terminated)
EBS AMI
생성
인스턴스
(Stop)
인스턴스
(Start)
32. EC2 인스턴스의 (EBS-backed)의 라이프사이클
EBS
backed
AMI 선택
인스턴스
(Pending)
인스턴스!
(Runing)
인스턴스
(Shutting
Down)
인스턴스
(Terminated)
EBS AMI
생성
인스턴스
(Stop)
인스턴스
(Start)
33. EC2 인스턴스의 (EBS-backed)의 라이프사이클
EBS
backed
AMI 선택
인스턴스
(Pending)
인스턴스!
(Runing)
인스턴스
(Shutting
Down)
인스턴스
(Terminated)
EBS AMI
생성
인스턴스
(Stop)
인스턴스
(Start)
AMI의 선택 / 필요
매개 변수 전달 /
Key pair, 보안그
룹 설정
“이때만 과금”
EIP의 할당/ EBS 볼륨의 연
결 /보안 그룹의 변경
EBS를 영구 보존 옵
션 변경 가능
AMI는 언제든 새로 생
성이 가능 (재시작 필요)
생성한 AMI 를 사
용하여 시작
EIP/EBS 리소스
삭제
34. EC2의 새로운 사용 방법
종료 방지
인스턴스 유형 변경
EBS 추가 / 변경
EC2 인스턴스의 주소
EIP의 이용
EC2 Limit 해제
EBS와 S3의 구분
EC2 관련 서비스
39. EC2 인스턴스의 주소
모든 인스턴스는 아래의 리소스를 가짐 (EC2-classic, VPC는 다
름)
▪ Private IP 주소
▪ Private DNS 이름 (*.internal)
▪ Public DNS 이름 (*.amazonaws.com)
!
public IP 주소를 옵션으로 연결 가능 (EC2-classic과 VPC가
별도)
▪ Elastic IP Addresses (EIP) 라고 불림
▪ 실행중인 인스턴스에 연결 / 연결 해제가 가능
▪ 인스턴스에 할당하는 경우 비용 없음 (트래픽 비용 제외)
41. EIP의 사용
일반적으로、EC2의 Public DNS 이름을 네임서버에 CNAME으로
변환하여 사용
Route 53(DNS 서비스)에서 Public DNS 를 사용
ELB(로드밸런서)에 EC2 를 연결하는 경우
고정 IP 주소가 필요한 경우에는 EIP 를 사용
메일 서버, 게임용 월드 서버 등
메일 서버의 전송 제한 해제 또는 rDNS 신청이 필요한 경우 아래의
링크를 참조
https://aws-portal.amazon.com/gp/aws/html-forms-controller/
contactus/ec2-email-limit-rdns-request
42. Limit 해제의 양식
EC2에 익숙하지 않은 사용자가 수많은 인스턴스를 처음 생성할 수 없도록 20개로 초기
제한
EBS는 5000개의 볼륨 생성 제한, 또는 전체 20TB까지 생성 가능
→필요에 따라 제한 해제를 신청 http://aws.amazon.com/jp/contact-
us/#request_service_limitation
44. Amazon EC2관련 서비스 정보
모니터링, 로드밸런싱, 자동 증설 및 축소
CloudWatch、ELB、AutoScaling
가상 네트워킹
Amazon VPC (Virtual Private Cloud)
① 회사 네트워크에서 VPN 연결
② 라우팅, IP 가상주소, 가상 NIC, 기타 등
단일 사용자 기반 환경
Amazon Dedicated Instance
전용선 연결
Amazon Direct Connect
Windows 인스턴스
HPC 인스턴스
47. 모든 인스턴스에 방화벽 적용
•기본적으로 모든 포트가 막혀있음
•필요한 프로토콜, 네트워크 및 포
트만을 선별적으로 허용 하는 방법
을 사용
EC2
인스턴스
TCP 22
(SSH)
TCP 80
(HTTP)
EC2 Security Groups
48. EC2 네트워크 Security Groups (보안 그룹)
인바운드 (외부로 부터의 유입) 을 제어 하려면
보안 그룹을 생성하고 접근 규칙을 설정
인스턴스를 생성 할 때 보안 그룹을 할당
실행중인 인스턴스의 기본 그룹은 편집 불가
접근 규칙:
▪ 이름
▪ 설명
▪ 프로토콜
▪ 포트 범위
▪ IP 주소 범위
49. 인터넷으로 부터의 접근 외에도 보안 그룹을 사용하여 접근 제어가 가능
Web Security Group
Web
サーバー
TCP 22
(SSH)
TCP 80
(HTTP)
App Security Group
App
サーバー
TCP 22,
2048
DB Security Group
DB
サーバー
TCP 3300
TCP 22
(SSH) Web
서버
App
서버
DB
서버
50. 보안 인증서
데이터센터
가상 서버 (Amazon EC2)
Windows
(스텐다드)
명령줄
/ SDK 사용
SSH 공개키
원격 데스크탑
터미널
REST
/ SOAP
API
Web 콘솔
①EC2인스턴스의
Key pair 이용
②Web 콘솔 접근
Web 로그인
MFA / IAM
③API Access Key/
X.509 인증서 / IAM
51. EC2 인스턴스!
Key pair
Key pair 생성
EC2 시작시 공개키를
인스턴스에 할당
사설키는 최초 1회만
사용자의 컴퓨터로
다운로드
EC2의 접근은!
공개키/사설키!
확인으로
・공개키는 region 별로 별도
・사용자가 직접 생성하여 업로드 가능 !
(이 경우 모든 region에서 동일한
키 사용 가능 )
57. 장애를 대비한 설계: Design for Failure
장애를 대비한 설계
서비스의 어떠한 부분에도 장애가 발생 할 수 있다는 가정하에 보수적으로 디자인
SPOF(하나의 장애가 전체의 장애가 되는) 를 제거
재해 복구 계획의 수립
EC2에서의 장애 극복을 위한 설계
AMI 의 적극적인 사용
EBS 스냅샷을 사용한 백업
다중 가용영역을 사용 (Multi-AZ 기반 설계)
ELB를 사용하여 서버 이중화、Auto Scaling을 사용하여 원하는 수량을 유지
Reserved Instance 를 사용하여 긴급한 순간에도 사용성을 보장 받음
다른 서비스와 함께 사용
S3, SimpleDB, RDS他
http://www.slideshare.net/kentamagawa/aws-7991623
58. 정기적인 백업
EC2의 AMI를 정기적으로 생성
(참고) 무중단 AMI
Cloudpack블로그 http://blog.cloudpack.jp/2011/03/aws-
news-ec2-instance-no-reboot-ami.html
!
데이터 볼륨의 경우 EBS 스냅샷을 주기적
으로 생성하는 스크립트를 사용, 정기적인
백업
!
Code.rockさんブログhttp://blog.dateofrock.com/2010/03/
auto-backup-amazon-ebs-with-ruby.html
サーバーワークスさんブログhttp://blog.serverworks.co.jp/
tech/2011/07/21/awssdk-for-ruby-create-snapshot/
59. VM Import / Export:
직접 운용중인 가상서버의 VM 을 EC2 로 이전
http://aws.typepad.com/aws_japan/2010/12/vm-import-bring-your-
vmware-images-to-the-cloud.html
60. EC2로의 파일 전송
SCP 를 사용
scp pk-XXX.pem root@ec2-XXX.amazonaws.com:/xxx
Windows의 경우、WinSCP를 사용 가능
S3를 통해 공유
S3에 업로드 하여 wget 등의 도구로 접근
FTP 사용
EC2 에서 FTP 서버를 시작
!
고속 전송 솔루션
Tsunami UDP, Aspera등의 오픈소스 및 상용 솔루션
62. EBS 볼륨의 성능
기본 (Standard EBS) 볼륨은 150 IOPS 가 적용됨
150은 제한 한계가 아니며, 경우에 따라 bursting 가능
EBS Optimized 인스턴스를 사용 하면 더 높은 IO 성능
하나의 인스턴스에 다수의 EBS 를 사용하여 부하 분산 가능
POIPS 를 사용하여 성능의 증가가 가능
사이즈의 30배수까지, 최대 4000 IOPS 까지 설정 가능
다수의 PIOPS EBS 볼륨을 Raid 구성 가능
64. EC2명령줄 도구 & AWS SDKs
명령줄에서 EC2 API에 접근 할 수 있는 도구
다중 플랫폼 지원 (Java로 작성)
도구 설치 후 보안 인증서 및 Access / Secret Key ID 로 접근
!
!
!
!
!
!
!
AWS SDKs
http://aws.amazon.com/code/
65. EC2 이벤트 표시 기능
EC2인스턴스에 유지 보수가 필요한 경우 정보를 제공하는 방법
인스턴스 재부팅 시스템, 인스턴스 리타이어
66. EC2 상태 확인
모든 인스턴스는 AWS 에서 아래의 두가지 사항에 대해 자동화 된 테스트 및 테스트 결과를 제공
시스템 상태 점검
EC2 인스턴스에 네트워크 패킷이 전달 되는 지 확인
인스턴스 상태 확인
EC2 인스턴스의 OS가 네트워크 패킷을 받는지의 여부를 확인