서버/AWS (Amazon Web Services)

[AWS의 기본 03] EC2 인스턴스 만들기

날개 2014. 7. 28. 17:29

지난 시간까지 AWS의 계정을 만들고, 2중 암호로 로그인 보안을 강화하는 것 까지 살펴 보았습니다.


이제, AWS의 핵심 서비스라고 할 수 있는 EC2의 인스턴스를 생성해 보겠습니다.


EC2는 가상의 컴퓨터(대부분의 목적이 서버이죠)를 만들고 관리하는 서비스라고 보면 되겠죠. VirtualBox나 VMWare, Paralles, Virtual PC 와 같은 소프트웨어를 사용해본 분들도 요즘은 많을 것이라고 생각합니다. 간단히 PC 내에서 가상의 PC를 만들 수 있는 프로그램들이죠.


EC2도 비슷한 개념으로 가상의 컴퓨터를 만들어서 필요한 운영체제와 소프트웨어 상에서 필요한 서비스를 할 수 있다고 보면 되겠습니다.


EC2에서 만드는 가상의 컴퓨터 하나를 인스턴스라고 부르는데, 우리가 쓰는 실제 컴퓨터와는 달리 OS는 EC2에서 지원해 주는 OS를 사용해야 합니다. 그렇지만, 서버용으로 사용하는 대표적인 OS는 지원하고 있으므로 필요에 맞게 사용하면 되겠습니다.


우리가 사용하는 컴퓨터들의 사양이 다양하듯이 EC2의 인스턴스도 다양한 사양의 가상 컴퓨터를 만들 수 있습니다. 다만, 좋은 성능의 가상 컴퓨터일수록 이용요금이 비싸지겠죠. 이렇게 인스턴스의 다양한 사양들을 EC2에서는 인스턴스 타입이라고 부르는데, EC2에서 제공하는 인스턴스 타입의 종류는, http://aws.amazon.com/ko/ec2/instance-types/ 에서 확인 할 수 있습니다. 또한 인스턴스에 대한 요금은 http://aws.amazon.com/ko/ec2/pricing/ 에서 살펴볼 수 있습니다.


이번 글에서는 EC2의 인스턴스 타입의 종류 중에서 가장 저렴한 마이크로 인스턴스를 만드는 예를 살펴 보겠습니다.



[03] EC2 인스턴스 만들기


먼지 EC2 인스턴스를 만들기 위해서 AWS에 로그인하여 관리자 콘솔로 들어갑니다. (관리자 콘솔은 지난회에서 들어가 보았습니다.)


먼저, 서버 인스턴스가 생성 될 지역을 선택합니다. 


우측 상단의 계정이름 바로 우측에 현재 지역명(아래 화면에서는 'Oregon')이 있는데, 이 지역명을 클릭하면 원하는 지역을 선택할 수 있습니다.


저는 북미지역에 주로 서비스 한다는 가정 하에 'US West (Oregon)'을 선택해 보겠습니다.


만약에 한국에 서비스 할 목적의 서버 인스턴스를 만든다면, 'Asia Pacific (Tokyo)'와 같은 인접한 지역을 선택하면, 훨씬 빠른 네트워크 속도를 얻을 수 있을 것입니다.


본인이 서비스할 지역과 가까운 곳을 신중해 선택하는 것이 좋겠습니다. 참고로 지역에 따라 서비스 요금 또한 다르다는 것도 알고 있는게 좋겠죠.


참고로, 위 화면과 같이 AWS 관리 콘솔에서 상단의 'Edit'를 누르면, 상단에 자주 사용하는 서비스의 항목을 드래그&드롭하여 추가할 수 있습니다. 자신만의 상단 메뉴를 만들고 싶을 때 사용하면 됩니다.


저는 EC2 콘솔을 자주 사용할 것이기 때문에 EC2 콘솔을 상단 메뉴바에 올려 놓았습니다.

EC2 인스턴스를 만들기 위해 AWS 관리자 콘솔에서 'EC2'를 선택합니다.

EC2 관리 화면이 나타납니다. 여기서 EC에 관련한 여러가지 관리를 할 수 있습니다. 어쩌면 AWS를 사용하면서 가장 많이 들어와야 할 화면이 될 수 있겠네요.


좌측 메뉴에서 'Instances'를 클릭합니다.


지금은 인스턴스가 없기 때문에 위 화면과 같이 공허한(?) 화면이 나옵니다.


만약에 미리 만들어 두었거나 활성화 된 인스턴스가 있다면 위 화면에 목록으로 나오게 됩니다.


[Launch Instance]를 눌러 인스턴스 만들기를 시작합시다.


Step 1 화면이 나옵니다. 여기서 먼저 적절한 AMI를 선택하게 됩니다. AMI란, 미리 만들어둔 아마존 가상 머신의 이미지 입니다. AWS의 경우 EC2 인스턴스를 만들때 완전히 빈 가상 컴퓨터를 만드는 것이 아니라, 빈 가상컴퓨터에 최소한 이미 만들어진 OS (또는 OS에 더하여 각종 소프트웨어)가 설치 되어 있는 이미지를 설치하도록 되어 있습니다.


먼저 좌측 메뉴에서 'Quick Start'를 클릭합니다. (기본 상태임)


참고로, My AMIs는 유저가 직접 만든 AMI를 말하며, 나중에 설명하겠지만, 가상 컴퓨터에 본인에게 필요한 각종 소프트웨어를 설치하고 세팅한후, AMI로 만들어 두면, 이후에는 그 AMI로 인스턴스를 만들거나, Auto Scaling에 의해 자동으로 인스턴스를 생성하도록 할 수 있습니다.


AWS Marketplace는 타 유저들이 만든 AMI로, 다양한 패키지 형태의 AMI들을 유무료로 구입하여 설치할 수 있습니다.


Community AMIs 는 기본 형태의 각 OS별 AMI들을 찾을 수 있습니다.


우선 여기서는 기본적은 'Quick Start'에서 AMI를 선택해 보겠습니다.


'Quick Start' AMI 항목에서 'Ubuntu Server 14.04 LTS (HVM), SSD Volume Type'을 선택합니다. 설명을 보면 알겠지만, EBS를 사용하는 타입입니다. 마이크로 인스턴스를 선택할 것이기 때문에 반드시 EBS를 루트로 사용하는 AMI를 선택해야 합니다.)


(참고로, 가상화 타입이 HVM과 Paravirtualization이 있는데, 간단히 HVM이 안정성은 높고 성능은 비교적 조금 낮아지고, Paravirtualization는 안정성이 비교적 떨어지는 대신 성능이 높아진다고 생각하면 된다고 합니다. 이 두가지 타입은 마음대로 선택 할 수 있는 것은 아니고, 이 방식을 선택함에 따라 선택할 수 있는 인스턴스 타입이 달라 집니다.) 


Step 2. 인스턴스 타입을 고르는 화면이 나옵니다. 여기에 나오는 목록은 방금전에 선택한 AMI에 따라 선택할 수 있고, 선택할 수 없는 것으로 나뉘게 됩니다. 위에서 한대로 따라 왔으면, 프리티어로 사용할 수 있는 't2.micro' 타입을 선택 할 수 있을 것입니다. 't2.micro'를 선택합니다.


[Next: Configure Instance Details] 버튼을 누릅니다.


Step 3는 좀 더 세부적인 설정을 하는 것입니다.


간단하게 몇가지만 설명하면,

  • Number of instances : 인스턴스를 몇개를 생성할 것인지 갯수를 입력
  • Public IP : 자동으로 Public IP 주소를 연결할 것인지 유무
  • IAM role : 인스턴스를 관리할 유저의 권한과 관련된 것입니다.
  • Shutdown behavior : 가상 컴퓨터를 셧다운 했을때 인스턴스를 Stop 할지, Termiate(완전제거) 할 것인지의 선택
  • Monitoring : CloudWatch를 통해 자세한 모니터링을 할것인지 유무(유료임)

정도 되겠습니다.


일반 Shutdown behavior 만 원하는 것으로 선택하고, 나머지는 디폴트로 놔두겠습니다. 


[Next: Add Storage]를 클릭합니다.


Step 4: 는 EC2의 스토리지를 설정 하는 것입니다.


여기에서 인스턴스 스토리지나 EBS를 설정 할 수 있습니다.


인스턴스 스토리지는, 인스턴스 타입 중에서 인스턴스 스토리지를 제공하는 경우에만 사용할 수 있습니다. 개념으로는 쉽게 생각하면, 우리가 사용하는 PC에 로컬로 내장되어 있는 마스터 HDD를 생각하면 됩니다. 윈도우를 사용하는 분들은 C드라이브를 연상하면 되겠네요.


다만, 인스턴스 스토리지는 인스턴스를 끄게 되면 데이터도 함께 날라가는 임시적인 성격이 있다고 생각해야 합니다.


EBS는 쉽게 생각하면 네트웍으로 연결된 외장 HDD 를 떠올리면 되겠습니다. (그래서 일반적으로 인스턴스 스토리지보다 속도가 느릴 수 있겠죠.) EBS의 경우는 설정에 따라 인스턴스를 종료해도 데이터가 영구하게 남도록 할 수 있습니다.


단, EBS는 한번에 한 인스턴스와만 연결 될 수 있으며, 사용 요금이 있습니다. (프리티어의 경우 어느 정도까지 무료 제공되는지 확인해 보세요.)


여기서 선택한 t2.micro 인스턴스의 경우에는 EBS가 반드시 필요 하므로 위 화면과 같이 기본적으로 하나의 EBS가 추가되어 있습니다.


위 화면에서 디스크 공간의 크기와 볼륨 타입, 인스턴스가 터미네이션 될때 같이 삭제할 것인지의 여부를 선택합니다. (자세한 설명은 AWS의 EBS를 읽어보세요. http://aws.amazon.com/ko/ebs/details/)


설정 했으면 [Next: Tag Instance]를 클릭합니다.


Step 5는 인스턴스의 이름이나 정보를 기입하는 것입니다.


여기서 기입하는 정보는 단순히 우리가 식별하기 쉽게 하기 위한 것이라고 생각하면 됩니다.


기본적으로 Key : Name 의 Value 를 입력하게 되어 있는데, Value를 입력하게 되면, 인스턴스 목록이나 EC2에 관한 정보에서 해당 인스턴스에 Value에 입력한 이름이 나오게 됩니다. (기본적으로 인스턴스 ID같은 것은 우리가 외우기 힘든 복잡한 문자열로 되어 있죠.)


반드시 입력하지는 않아도 되지만, 식별을 용이하게 하기 위해서 성격에 맞는 이름을 지어줍시다.


입력하고 [Next: Configure Security Group]를 클릭합니다.


Step 6은 보안관련 설정입니다. 보안그룹을 선택하거나 설정 할 수 있는데, 디폴트로는 위와 같이 SSH 포트만 열려 있는 상태입니다. (SSH를 통해 EC2에 접속할 것이므로...)


우선은 이렇게 두고 [Review and Launch]를 클릭합니다.


(참고로 이 상태에서는 http 포트가 열려 있지 않으므로 http접속은 되지 않습니다.)


Step 7에는 지금까지 설정한 것들을 정리해서 보여주고 있습니다. 잘 살펴보고 수정할 것이 있으면 수정합니다.


수정할 것이 없으면 [Launch]를 클릭합니다.

위와 같은 팝업이 뜹니다.


이 팝업은 생성할 EC2 인스턴스에 접속할 키를 만들거나 선택하라는 것입니다. EC2 인스턴스는 보안을 위해 ID/Password가 아니라, 키 파일을 통해 접속해야 합니다.


만들어 둔 것이 없으므로 'Choose an existing key pair'를 클릭하고 'Create a new key pair'를 선택합니다.


아래에 Key pair name을 정해줍니다.


[Download Key Pair]를 클릭하면, 키를 생성하며, 파일로 다운로드 됩니다.


파일(xxxxx.pem)을 잘 저장해 둡니다.


(!) 주의 : 여기서 생성된 pem 파일은 매우 중요합니다. 분실할 경우 생성한 EC2 인스턴스에는 접근하지 못하게 됩니다. 이런 경우 인스턴스를 제거하고 다시 만드는 방법 밖에 없으므로 pem 파일을 잘 보관하도록 합니다. 그리고, pem 파일이 노출 될 경우 다른 불의의 목적을 가진 사용자가 접속 할 수 있으므로 pem 파일이 노출되지 않도록 보안에서 각별히 신경써야 합니다.


다 되었으면, [Launch Instance]를 클릭합니다.


EC2 인스턴스가 만들어지기 시작합니다.


인스턴스가 만들어 졌습니다.


[View Instance]를 클릭합니다.

처음에는 텅텅 비어있던 인스턴스 목록에, 방금 만든 인스턴스가 생성되어 자리잡고 있는 것이 보입니다.


Instance State가 Running 으로 잘 구동되고 있는 것으로 보이네요.


이번 글은 여기까지 입니다.


다음 글에는 이어서 여기서 만든 인스턴스에 SSH로 접속해 보도록 하겠습니다.





(1) 이 포스팅은 2014.7.27 기준으로 작성되었습니다. 웹서비스는 서비스 제공 업체에 의해 언제든지 변경될 수 있습니다.

(2) 여기서 사용한 스크린 캡쳐 이미지들의 출처는 http://aws.amazon.com 웹사이트 입니다.