Launch an Amazon EC2 Instance

 

  • Amazon EC2 instance 만드는 방법
  • Amazon EC2 instance 연결

 

Amazon EC2 instance 만드는 방법

Launch instance

Amazon EC2 instance를 만드는 방법은 여러 가지가 있어요. aws cli를 통해서 만들 수도 있고 rest api를 통해서 만드는 방법 등 도 있지만 먼저 가장 쉬운 방법인 AWS Console에서 만드는 방법을 알아볼게요. 우선 aws console에서 EC2를 찾아주세요.

먼저 보이는 페이지는 EC2 Dashboard에요. 이곳에서 EC2 전반에 대한 작업을 할 수 있어요. 중단에 Launch instance를 눌러주세요. 그리고 인스턴스 만드는 페이지가 리뉴얼됐어요. 인터페이스도 변경된 겸, EC2 이야기도 해볼 겸 해서 인스턴스 생성하는 것도 남겨봐요.

 

먼저 이름을 정해주세요. Tag를 넣을 수도 있는데 안 넣었어요 Tag는 다음에 알아보도록 해요.

EC2 instance Name and tags

그리고 어떤 종류의 OS를 설치할지 정해야 해요. 무난하게 아마존 리눅스로 고르고, 참고로 여기서 Amazon Machine Image가 나오는데 아래 그림 상단에 작은 글씨로 AMI에 대해서 친절하게 설명이 되어있어요. 인스턴스를 구동하는데 필요한  sw 설정들을 담고 있는 템플릿이다. 라는데 AMI는 다음에 조금 더 자세하게 살펴볼게요.

Amazon Machine Image

다음으로는 instance type을 결정해야 해요. 하지만 우린 결정권이 없어요. Free tier로 갑니다.

아마존 계정은 이미 만드셨고 프리 티어 사용 중이라고 가정할게요.

Instance type

Amazon EC2에 로그인 하는 방법 또한 여러 가지 있어요 ec2 dashboard에서 instance를 선택하고 web console을 통해서 접근할 수도 있고 terminal에서 SSH 접속을 할 수도 있어요. web console을 사용할 때는 필요 없지만 SSH를 통해 접근하고자 한다면 key pair를 생성하고 공개키를 가지고 있어야 해요. 처음 시작하면 이 key pair가 없는데 만들어 줘야 해요. 이름을 넣고 key type과 file format을 설정해주세요.

Create key pair

이렇게 만든 키를 선택해주세요.

Key pair (for login)

네트워크 설정이 남았네요. 그냥 다 기본 default 설정으로 놓고 그냥 만들어도 되지만 Amazon VPC를 공부했으니 한 번 Edit 버튼을 눌러서 쓰윽 훑어보고 갈까요?

default network settings

 

먼저 VPC를 고르는 부분이 나오네요. 우리는 이미 VPC에 대한 개괄적인 이해가 있으니 어느 VPC를 선택해도 인터넷 통신이 되도록 설정할 수 있으니 default를 선택해줄게요.

VPC 선택

 

다음은 subnet을 선택할 차례네요. 여기도 기본 그 default subnet과 custom subnet(subnet-azb)가 보이네요.

subnet 선택

 

다음으로는 공인 IP를 어떻게 할당하는지에 대한 부분을 설정하네요. VPC에서 subnet 할 때 봤지만 default subnet은 Auto-assign public IPv4 address 설정이 Yes로 되어있어요. 하지만 instance를 만들면서 다시 선택할 수 있어요.

공인 IP 할당 방법 선택

 

다음은 security group을 선택해야 해요. 여기서는 기존 sg를 선택하거나 새로운 sg를 만드는 것 둘 중 하나를 선택할 수 있어요. 기존 sg를 선택한다고 하면 아래 드롭박스 메뉴가 나오고 여기에서 기존 sg 중 골라서 instance와 결합해줄 수 있어요.

기존 sg 선택

 

새로운 sg를 만드는 것을 선택한다면 먼저 sg의 이름을 정해줘야 해요. AWS Console에서 instance를 만들 때 sg를 생성하면 이름은 기본적으로 launch-wizard-로 시작하는 이름을 받아요. 물론 변경할 수 있어요. 그 아래에 매우 복잡해 보이는 이름 생성 규칙이 보이네요. 그리고 description은 이 sg를 생성한 시간을 자동으로 넣어주네요. 마지막으로 어떤 sg 정책을 넣을지 결정해야 돼요. ssh any 정책은 기본적으로 들어가 있어요 물론 지울 수 있고 수정할 수 있어요 다른 정책을 추가할 수도 있어요.

sg 설정

 

이제 마지막으로 어떤 저장소를 연결할지 선택해야 해요. 저장소로는 Amazon Elastic Block Store(EBS)를 선택해서 사용할 수 있어요 종류가 은근히 많은데 나중에 한 번 알아보도록해요. 기본 설정은 프리 티어가 적용되는 계정이라면 무료로 사용할 수 있어요.

저장소 설정

 

여기까지 왔다면 몇 개의 instance를 사용할지 정한 후에 launch를 눌러 EC2 instance 생성을 마칠 수 있어요. 참고로 t2.micro 타입의 instance는 프리 티어라면 한 달 750시간을 무료로 사용할 수 있는데 대략 계산해보면 1개 만들어서 한 달 내내 켜놓거나 2개 만들어서 한 달에 보름만 켜놓거나 할 수 있어요. 프리 티어 사용이 가능한 instance의 한 달 총 사용시간 합계예요.

 

 

Amazon EC2 instance 연결

이렇게 만든 instance에 접속하는 방법 또한 다양한데요. 2가지만 볼게요. 사실 이 2개밖에 안 해봤어요.

 

Amazon EC2 console (browser-based client)를 통한 접속

먼저 가장 간단하게 접속할 수 있는 방법인 aws console을 통해서 접속하는 방법이에요.

먼저 EC2 > instance에서 접속하려고 하는 instance를 선택하고 우측 상단에 connect를 누르면 아래와 같은 화면이 나와요.

여기에서 EC2 Instance Connect를 누르면 새로운 브라우저 창이 하나 열리면서 ssh 접속이 완료돼요. browser-based client에요. kvm에서의 virtual console 같은 console이 아니라 client를 통해 ssh 접속을 하는 거예요. 그래서 sg에서 ssh포트를 열어줘야 browser-based client를 통해 접속할 수 있어요. 사실 저는 어떤 IP를 열어줘야 할지 몰라서 0.0.0.0/0으로 열어놓고 web으로 접속을 했어요. 이렇게 위험하게 any open 하는 것보다 prefix list 같은 걸로 걸러줄 수 있을 것 같은데 아직 방법을 잘 모르겠네요.

 

ssh client를 통한 접속

다음은 ssh client를 통한 접속을 해볼게요. 처음 instance를 만들 때 key pair 만들었던 거 기억하시나요? key pair 만들고 나면 저장하라고 하는데 어디 저장했는지 기억나시나요? 못 찾으셨다면 instance를 다시 만드셔야 해요. 어떻게 해결할지 모르겠어요.

찾으셨으면 아마 pem파일을 가지고 계실 텐데 ssh 접속할 때 -i 옵션 넣고 접속하시면 돼요. 키 파일 권한을 400으로 변경하는 거 잊지 마시고요.라고 아래 이미지처럼 친절한 설명이 있네요.

 

 

EC2에 대한 간단한 소개도 없이 일단 만들고 봤어요. 생각보다 그림이 많이 들어가고 글이 길어져서 EC2 소개는 다음에 할게요.