- 책 또는 웹사이트의 내용을 복제하여 다른 곳에 게시하는 것을 금지합니다.
- 책 또는 웹사이트의 내용을 발췌, 요약하여 강의 자료, 발표 자료, 블로그 포스팅 등으로 만드는 것을 금지합니다.
가상 서버를 제공하는 EC2
이재홍 http://www.pyrasis.com 2014.03.24 ~ 2014.06.30
EC2 인스턴스 생성하기
AWS 콘솔로 접속한 뒤 메인 화면에서 Compute & Networking의 EC2를 클릭합니다.
오른쪽 위에서 EC2 리전을 변경할 수 있습니다. 이 책에서는 우리나라에서 가장 가까운 Tokyo 리전을 사용하겠습니다.
왼쪽 메뉴에서 INSTANCES → Instances를 선택합니다. 이 메뉴가 EC2 인스턴스 목록이며 생성 한 온 디맨드 인스턴스(On Demand Instance), 스팟 인스턴스(Spot Instance), 예약 인스턴스(Reserved Instance)의 목록이 표시됩니다.
위쪽의 Launch Instance 버튼을 클릭하여 EC2 인스턴스를 생성합니다.
EC2 가상 서버에 설치될 운영체제를 선택합니다. AWS에서 미리 준비된 운영체제 이미지AMI만 사용할 수 있습니다(AMI는 '8장 AMI'를 참조하기 바랍니다).
Free tier only에 체크하고, Amazon Linux AMI 년.월.버전 (PV)의 Select 버튼을 클릭합니다. 하드웨어 가상화HVM Amazon Linux AMI가 맨 위에 표시될 것입니다. 아래로 스크롤하면 반가상화PV Amazon Linux AMI가 있습니다.
Linux와 Windows
이 책에서는 설명을 아마존 리눅스(Amazon Linux) 기준으로 모두 설명하겠습니다. Windows에 특화된 부분은 부록에서 따로 설명하겠습니다.
Amazon Linux
Amazon Linux는 RHEL(Red Hat Enterprise Linux)을 기반으로 하는 배포판이며 EC2에 최적화되어 있습니다. 따라서 RHEL, CentOS와 호환되며 사용법도 비슷합니다. CentOS는 RHEL을 무료로 사용할 수 있도록 만든 배포판입니다.
EC2 인스턴스 유형을 선택합니다. 기본적으로 프리 티어용인 t1.micro가 선택되어 있습니다. 앞에서 반가상화PV Amazon Linux AMI를 선택했으면 t1.micro만 선택할 수 있고 t2 유형은 선택할 수 없습니다. 하드웨어 가상화HVM Amazon Linux AMI를 선택했으면 t1.micro는 선택할 수 없고 t2 유형만 선택할 수 있습니다. 프리 티어용이 아닌 다른 유형도 HVM, PV에 따라서 선택할 수 있는 유형이 제한됩니다.
Next: Configure Instance Details를 버튼을 클릭합니다.
t2 인스턴스 유형은 CPU 사용량이 높아질 때 CPU 자원을 더 할당 받아 성능을 높이는 Burst 기능을 제공합니다. Burst 기능을 사용하는 동안에는 CPU 크레딧을 소모하며, 부여되는 CPU 크레딧은 t2 인스턴스 사양에 따라 달라집니다. 자세한 내용은 링크를 참조하기 바랍니다.
https://aws.amazon.com/ko/blogs/aws/low-cost-burstable-ec2-instances
CPU를 많이 쓰는 컴파일 작업을 할 때는 t1 인스턴스 유형 보다 t2 인스턴스 유형이 유리합니다.
t1.micro EC2 인스턴스와 요금
매달 750시간 t1.micro EC2 인스턴스를 무료로 사용할 수 있지만 한달 동안 t1.micro EC2 인스턴스를 2개 사용하면 요금이 부과됩니다. t1.micro 1개면 24 x 31 = 744시간입니다. 2개면 1488시간이므로 750시간을 넘어선 시간에 대해서 요금이 부과됩니다.
단 Linux와 Windows는 각각 750시간을 사용할 수 있으므로 t1.micro Linux 인스턴스와 t1.micro Windows 인스턴스를 한달 동안 사용하면 요금이 부과되지 않습니다.
EC2 인스턴스 세부 설정입니다.
- Number of Instances: 생성할 인스턴스 개수입니다. 1로 입력합니다.
- Purchasing option: 스팟 인스턴스로 구매 옵션입니다. 여기서는 체크하지 않습니다.
- Network: VPC 네트워크를 선택하는 옵션입니다. 기본값 그대로 사용합니다.
- Subnet: 가용 영역(Availability Zone)을 선택하는 옵션입니다. 기본값 그대로 사용합니다.
- Public IP: 공인 IP를 할당하는 옵션입니다. 기본값 그대로 사용합니다.
- IAM role: IAM 역할 설정입니다(16.4 'IAM 역할 활용하기' 참조). 기본값 그대로 사용합니다.
- Shutdown Behavior: EC2 인스턴스안에 설치된 운영체제를 종료했을 때 행동입니다. Stop은 그냥 종료만 하고 Terminate는 종료 후 인스턴스를 삭제합니다. 기본값 그대로 사용합니다.
- Enable Termination protection: 실수로 삭제하는 것을 방지하는 옵션입니다. 기본값 그대로 사용합니다.
- Monitoring: CloudWatch 세부 모니터링 사용 옵션입니다. 기본값 그대로 사용합니다.
- Tenancy: 가상 서버 실행 방식을 설정하는 옵션입니다. 공유 인스턴스(Shared tenancy)와 전용 인스턴스(Dedicated tenancy)를 선택할 수 있습니다. 기본값 그대로 사용합니다.
설정이 완료되었으면 Next: Add Storage 버튼을 클릭합니다.
EC2 인스턴스에 장착될 스토리지를 설정합니다. Root 장치는 꼭 있어야 합니다.
- Type: Root 장치(Device)인지 추가 장치인지 설정하는 옵션입니다. 기본적으로 Root 장치는 EBS만 사용할 수 있고, 추가 장치는 EBS와 인스턴스 스토리지(Instance Store)를 사용할 수 있습니다. 인스턴스 스토리지를 Root 장치로 사용하는 EC2 인스턴스를 생성하는 방법은 뒤에서 설명하겠습니다.
- Device: Linux상에서 표시되는 장치 이름입니다.
- Snapshot: 스냅샷을 생성했을 때의 스냅샷 ID입니다.
- Size: 스토리지의 크기이며 기가바이트(GiB) 단위입니다. 기본값 그대로 사용합니다.
- Volume Type: 스토리지 볼륨 유형입니다. Magnetic, General Purpose (SSD), Provisioned IOPS (SSD)를 선택할 수 있습니다. 기본값 그대로 사용합니다.
- Magnetic: 하드디스크를 사용하는 스토리지입니다(평균적으로 약 100 IOPS).
- General Purpose: SSD를 사용하고, 1GiB당 3 IOPS를 제공하는 스토리지입니다. Magnetic보다 추가 요금이 발생합니다.
- Provisioned IOPS: SSD를 사용하고, I/O 대역폭을 설정할 수 있습니다. Magnetic보다 추가 요금이 발생합니다.
- IOPS: Volume Type을 Provisioned IOPS로 선택했을 때 IOPS 값을 설정할 수 있습니다.
- Delete on Termination: EC2 인스턴스가 실행되고 있을 때 스토리지가 실수로 삭제되는 것을 방지합니다. 기본값 그대로 사용합니다.
설정이 완료되었으면 Next: Tag Instance 버튼을 클릭합니다.
General Purpose (SSD) 볼륨
General Purpose 볼륨은 1GiB당 3 IOPS를 제공합니다. 예를 들어 500GiB라면 1500 IOPS를 기본적으로 제공하고, 3600초 동안 3000 IOPS까지 성능이 높아지는 Burst 기능도 제공합니다.
Burst 기능은 순간적으로 I/O가 몰릴 때 IOPS를 높여 I/O가 대기하지 않고 원활하게 처리해주는 기능입니다. Burst 시간(Duration) 동안에는 IO 크레딧을 소모하며, 부여되는 IO 크레딧은 스토리지 용량에 따라 달라집니다. 자세한 내용은 링크를 참조하기 바랍니다.
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html#EBSVolumeTypes_gp2
인스턴스 스토리지
m1.small부터 인스턴스 스토리지(Instance Storage, Instance Store)를 사용할 수 있습니다. EC2 요금표를 보면 2 x 80 SSD, 2 x 320 SSD 등 EC2 인스턴스 유형별로 사용할 수 있는 인스턴스 스토리지가 표시되어 있습니다.
EBS와는 달리 인스턴스 스토리지는 EC2 인스턴스를 정지하면 데이터가 사라집니다. 대신 EBS(Magnetic)보다 속도가 빠릅니다.
EC2 인스턴스의 태그를 설정합니다. Key-Value 형식이며 다양한 내용을 추가할 수 있습니다. 태그 별로 요금을 확인할 수 있습니다. Value에 Example Server라고 입력하고 Next: Configure Security Group 버튼을 클릭합니다.
방화벽인 Security Group을 설정합니다. 기본값 그대로 Create a new security group을 선택합니다. Linux SSH 포트 22번이 기본적으로 설정된 Security Group이 생성됩니다. Review and Launch 버튼을 클릭합니다.
앞에서 설정한 부팅 볼륨을 General Purpose 볼륨으로 변경할지 물어보는 알림 창이 표시됩니다. 이번에는 Magnetic 볼륨을 사용할 것이므로 3번째 항목을 선택하고 Next 버튼을 클릭합니다.
부팅 볼륨을 General Purpose 볼륨으로 변경하려면 첫 번째나 두 번째 항목을 선택하고, Next 버튼을 클릭합니다(프리 티어에서 30GB까지 General Purpose 볼륨을 사용할 수 있습니다). 첫 번째 항목을 클릭하면 앞으로 계속 General Purpose 볼륨을 사용합니다. 지금까지 설정한 값들이 정상적으로 설정되었는지 확인합니다. 문제가 없다면 Launch 버튼을 클릭합니다.
우리는 AWS에 처음 가입했고, EC2 인스턴스에 접속을 위한 키 쌍을 생성하지 않았기 때문에 키 쌍을 생성하는 화면이 나옵니다. Create a new key pair를 선택합니다.
생성될 EC2 인스턴스에서 사용할 키 쌍(Key Pair)을 생성하고 다운로드합니다.
- Key pair name: 사용하고 싶은 키 쌍 이름을 설정합니다.
- Download Key Pair 버튼을 클릭하여 생성된 키 쌍을 다운로드합니다.
- 이 키 파일을 잃어버리지 않도록 주의합니다. 이 키 파일이 없으면 생성한 EC2 인스턴스에 접속할 수 없습니다.
- Download Key Pair 버튼을 클릭하여 pem 파일 다운로드가 완료되면 Launch Instances 버튼이 활성화 됩니다.
Launch Instances 버튼을 클릭합니다.
잠시 기다리면 EC2 인스턴스가 생성되었다는 화면이 나옵니다. View Instances 버튼을 클릭합니다.
EC2 인스턴스 목록(INSTANCES → Instances)으로 돌아왔습니다. 이제 EC2 인스턴스가 생성되었습니다. 잠시 기다리면 Instance State가 초록색 아이콘에 running으로 바뀝니다. 이 상태가 되면 EC2 인스턴스를 사용할 수 있습니다.
저작권 안내
이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.- 블로그, 게시판 등에 퍼가는 것을 금지합니다.
- 비공개 포스트에 퍼가는 것을 금지합니다.
- 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
- 링크 및 SNS 공유는 허용합니다.