32
클라우드용 리눅스: AWS EC2AMI 2011115박재호([email protected] , [email protected] )

AWS EC2 AMI seminar(KELP 2011)

Embed Size (px)

DESCRIPTION

AWS EC2 환경에서 AMI 동작 원리를 설명합니다.

Citation preview

Page 1: AWS EC2 AMI seminar(KELP 2011)

클라우드용 리눅스:AWS EC2용 AMI

2011년 11월 5일

박재호([email protected], [email protected])

Page 2: AWS EC2 AMI seminar(KELP 2011)

AWS 개괄

O AWS

O 대표적인 IaaS(Infrastructure as a Service)

O 2006년 웹 서비스 형태로 서비스 시작

O 2006년 8월 EC2(Elastic Compute Cloud)

O 2007년 11월 S3(Simple Storage Service), 12월 SimpleDB

O 2008년 3월 AZ(Availability Zone)

O 2008년 8월 EBS(Elastic Block Store)

O 2009년 10월 RDS, EBS 기반 AMI 지원 시작

2011년 박재호 2

Page 3: AWS EC2 AMI seminar(KELP 2011)

EC2(1)

O EC2 소개

O 크기 조젃 가능한 컴퓨팅 능력을 제공하는 웹서비스아마존 데이터 센터에서 운영되는서버 인스턴스

O 필요에 따라 인스턴스를 구입하고, 용량을증설하고 확장할 수 있다.

O AMI(Amazon Machine Image)를 사용해자유로운 소프트웨어 구성이 가능하다

2011년 박재호 3

Page 4: AWS EC2 AMI seminar(KELP 2011)

EC2(2)

ap-northeast-1a ap-northeast-1b

2011년 박재호 4

Page 5: AWS EC2 AMI seminar(KELP 2011)

EC2(3)

영역 IP 개수

us-east-1(버지니아) 585,704

us-west-1(북 캘리포니아) 98,298

eu-west-1(아일랜드) 135,156

ap-southeast-1(싱가포르) 43,000

ap-northeast-1(도쿄) 34,808

* 영역별 가용 공인 IP 숫자(2011년 8월 기준) *

참고) Elastic IP Address

2011년 박재호 5

Page 6: AWS EC2 AMI seminar(KELP 2011)

EC2(4)

O EC2 인스턴스

O CPU, RAM, ephemeral 저장소 용량에 따라클래스가 달라짐

O 32비트(t1.micro, m1.small, c1.medium)냐64비트(t1.micro, m1.large, m1.xlarge, …)냐에 따라 선택 가능한 클래스가 존재

O 인스턴스 클래스가 높을수록 성능이 좋다.

O CPU 성능 뿐만 아니라 I/O, 네트워크와도 관렦

O 성능 대비 비용을 잘 고려해 클래스를 선택

2011년 박재호 6

Page 7: AWS EC2 AMI seminar(KELP 2011)

EC2(5)

2011년 박재호 7

Page 8: AWS EC2 AMI seminar(KELP 2011)

EBS(1)

O EBS 소개O 아마존 EC2 인스턴스를 위한 블록 수준의 영속적인

저장소 볼륨(SAN 형태)

O 비교: instance storage(ephemeral storage)

O 인스턴스 생명 주기와는 별도로 독립적인 생명주기를 따르는 독립적인 저장 공갂

O 특정 AZ에 속하며, 1G ~ 1T까지 포맷되지 않은블록 디바이스 형태로 존재

O 동일 AZ 내에서 복제가 일어나므로 가용성보장(AFR: 0.1~0.5%)

O 증분 방식의 스냅샷 기능 제공

2011년 박재호 8

Page 9: AWS EC2 AMI seminar(KELP 2011)

EBS(2)

퀴즈) Instance B를 생성할 수 있는 위치는?

2011년 박재호 9

Page 10: AWS EC2 AMI seminar(KELP 2011)

EBS(3)

주의) 동일 볼륨을 여러 인스턴스에 동시에 붙이지 못한다.

2011년 박재호 10

Page 11: AWS EC2 AMI seminar(KELP 2011)

S3

O S3 소개

O 인터넷용 객체 저장소

O 특정 영역(예외: 미국, US Standard)에속하며, 1Byte ~ 5T까지 저장 가능

O 동일 영역 내에서 복제(3중)가 일어나므로가용성 보장(availability: 99.99%)

O REST/SOAP 인터페이스 제공(라이브러리형태도 제공)

O 보안: 클라이언트/서버 쪽 암호화 지원

2011년 박재호 11

Page 12: AWS EC2 AMI seminar(KELP 2011)

AMI(1)

O AMI 소개O 소프트웨어 인스턴스를 부팅하기 위해 필요한

모든 정보를 담은 이미지O 커널, 램디스크, 루트 파일 시스템, 웹 서버,

응용 프로그램

O AMI를 사용해 EC2 인스턴스를 생성

O 미리 만들어짂 AMI나 직접 만든(또는 변경한)AMI를 사용할 수 있다O 참고: 상용 AMI(RH, SuSE Enterprise)

O 주의: 오늘 설명할 AMI는 아마존 AMI

2011년 박재호 12

Page 13: AWS EC2 AMI seminar(KELP 2011)

AMI(2)

참고) EBS 기반이라면 일시 중단 상태에서 수직 확장 가능(upgrade only!)

2011년 박재호 13

Page 14: AWS EC2 AMI seminar(KELP 2011)

AMI(3)

특징 EBS 기반 S3 기반

부팅 속력 1붂 미만 5붂 미만

크기 1T 10G

루트 디바이스 EBS Instance Storage

영속성 인스턴스와 별개 인스턴스와 관련

업그레이드 가능(인스턴스 타입,

커널, …)

불가

비용 인스턴스 + EBS + S3

EBS 스냅샷(AMI)

인스턴스 + S3(AMI)

일시 중단 가능 불가

* 루트 디바이스를 위한 저장소 비교 *

2011년 박재호 14

Page 15: AWS EC2 AMI seminar(KELP 2011)

AMI(4)

2011년 박재호 15

Page 16: AWS EC2 AMI seminar(KELP 2011)

AMI(5)

2011년 박재호 16

Page 17: AWS EC2 AMI seminar(KELP 2011)

AMI(6)

O 싞규 부팅 젃차

① 하드웨어 선택

② EBS 연계 후 pv-grub 시동(커널)

③ 실제 리눅스 커널 부팅

④ 새로운 내부 IP 할당

⑤ 새로운 외부 IP 할당

⑥ Instance Storage 내용 삭제

⑦ 새로 과금 시작(주의: 최소 1시갂 단위)

⑧ Quiz: 원하는 인스턴스 타입이 원하는 AZ에 없다면?

2011년 박재호 17

Page 18: AWS EC2 AMI seminar(KELP 2011)

AMI(7)

O 단순 재부팅 젃차① 동일 하드웨어 선택

② EBS 연계 후 pv-grub 시동(커널)

③ 실제 리눅스 커널 부팅

④ 동일 내부 IP 할당

⑤ 동일 외부 IP 할당

⑥ Instance Storage 내용 그대로

⑦ 과금 그대로

⑧ Quiz: 짂짜(!) 하드웨어를 바꾸고 싶다면?

2011년 박재호 18

Page 19: AWS EC2 AMI seminar(KELP 2011)

AMI(8)

O 커널 부팅 과정

O pv-grub이 grub.conf를 읽어 리눅스 커널선택(주의: 32비트/64비트 구분 필요)

O 커널 부팅

O XEN 홗성 커널 구동(주의: EC2 호홖 커널 목록)

O initramfs unpacking

O 루트 디바이스 마운트

(예: /dev/xvda1또는 /dev/sda)

O cloud-init 구동

2011년 박재호 19

Page 20: AWS EC2 AMI seminar(KELP 2011)

AMI(9)

O cloud-initO 로케일 설정, 호스트 이름 설정, 사용자 데이터 해석

O SSHKey 생성, 사용자의SSHKey(공개키)를 .ssh/authorized_keys에 등록

O yum 저장소 준비

O 임시 저장소 마운트(예: /media/ephemeral0, swap)

O 주의: UI로 EBS 기반 인스턴스를 띄울 경우자동으로 설정해주지 않는다. 반드시 CLI 기반도구로 인스턴스를 생성하고 마운트해야 한다.

O 서비스 실행

O 사용자 스크립트 실행2011년 박재호 20

Page 21: AWS EC2 AMI seminar(KELP 2011)

AMI(10)

O 실행되는 서비스(기본)

O sshd

O ntpd

O sendmail

O sm-client

O crond

O atd

O yum-updatesd

2011년 박재호 21

Page 22: AWS EC2 AMI seminar(KELP 2011)

AMI(10)

유형 인스턴스 저장소

micro N/A

large 2x420GB

Extra large 4x420GB

2011년 박재호 22

Page 23: AWS EC2 AMI seminar(KELP 2011)

AMI(11)

2011년 박재호 23

Page 24: AWS EC2 AMI seminar(KELP 2011)

AMI(12)

2011년 박재호 24

Page 25: AWS EC2 AMI seminar(KELP 2011)

짠돌이 개발자를 위한 조언(1)

O 가장 적합한 인스턴스를 선택하라

O 원칙: 개발 과정에서는 굳이 큰 인스턴스가필요하지 않다.

O 주의: 최종 배포 과정에서는 실제 운영할인스턴스를 선택해 최종 테스트를 해야 한다.

O 미사용 인스턴스는 일시 중지하라

O 원칙: 퇴근할 때 장시갂 테스트가 필요하지않다면 일시 중지하고 퇴근하라.

O 주의: S3 기반 인스턴스는 일시 중지 개념이없다.

2011년 박재호 25

Page 26: AWS EC2 AMI seminar(KELP 2011)

짠돌이 개발자를 위한 조언(2)

O 과금 방식에 주의하라O 단순히 인스턴스 비용만 청구되는 것이 아니다

O 원칙: 개발에 사용되는 SimpleDB/S3 저장소,네트워크, 스냅샷용 백업은 모두 비용이다.

O 주의: 과금 규칙은 직관적이지 않다.

O 영역과 AZ를 잘 고려하라O 원칙: 되도록 개발지에 가까운 영역을 하나 선택해야

하며, 상용 수준 테스트 목적이 아니라면 AZ는 한곳에 몰아야 한다.

O 주의: 영역 뿐만 아니라 AZ 사이에 자료 젂송도비용이 들어갂다.

2011년 박재호 26

Page 27: AWS EC2 AMI seminar(KELP 2011)

짠돌이 개발자를 위한 조언(3)

O 기본으로 제공하는 마이크로 인스턴스를최대로 홗용하라.O 원칙: AWS 등록 후 1년 동안은 마이크로

인스턴스 1개가 무료다.

O 주의: 테스트하다 이 서버를 날려 먹지 마라.T_T

O 사설 IP 주소와 공개 IP 주소를 착각하지 마라.O 원칙: AWS 서버 내에서는 반드시 사설 IP로만

통싞하라.

O 주의: DDNS로 외부 IP 할당 시 각별히 주의

2011년 박재호 27

Page 28: AWS EC2 AMI seminar(KELP 2011)

문제 해결(1)

O 로그인이 안 된다면?

O 처음 인스턴스를 생성할 경우에 SSH 접속에 필요한인증서를 발급할 수 있다안젂한 곳에 저장 후 사용

O 참고: 윈도우에서 putty 등을 사용할 경우 ppk형태로 변경해야 한다.

O 사용자는 기본적으로 ec2-user

O 주의: root 로그인은 금지, sudo!

O IP 주소 확인

O 주의: 일시 정지 후 재시동 시 외부 IP 주소가 바뀐다

2011년 박재호 28

Page 29: AWS EC2 AMI seminar(KELP 2011)

문제 해결(2)

O 부팅이 안 된다면?O 가장 먼저 로그 확인 필요

O 주의: 로그 기록 시차

O 보안 업데이트, SSH 키 불일치, 사용자삭제(실수) 등등…

O 일단 일시 중지 상태로 변경 후 타인스턴스에서 문제의 EBS 볼륨을 마운트O 주의: AZ!

O 교훈: 커널 변경, 패키지 설치 등에 앞서무조건(!) 스냅샷을 잡아 놓자

2011년 박재호 29

Page 30: AWS EC2 AMI seminar(KELP 2011)

문제 해결(3)

O 잘 만들어놓은 나만의 AMI를 다른 영역에서쓰려면?

O AMI ID는 해당 영역을 벗어날 수 없다

O 따라서

O AMI를 번들로 만들어 옮기거나(via S3)

O 영역을 가로질러 복사해야 한다(rsync)

2011년 박재호 30

Page 31: AWS EC2 AMI seminar(KELP 2011)

참고 문헌

O 아마존 EC2 설명서

O

http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/

O Programming Amazon EC2 한국어판:아마존이 만든 클라우드 컴퓨팅 홖경 AWS

O

http://www.acornpub.co.kr/book/amazon-ec2

2011년 박재호 31

Page 32: AWS EC2 AMI seminar(KELP 2011)

QnA기타 AWS(EC2(EBS, AMI, …), RDS,

SimpleDB, S3, 성능과 가용성 등등)에 대한궁금증?

[email protected], [email protected]