시행착오 스토리/Amazon Web Service
Amazon EC2 인스턴스 생성하기
by 양벨라
2017. 9. 11.
EC2 란 무엇인가?
Elastic Compute Cloud의 약자로 아마존의 웹서버를 시간 단위로 외부에 임대해 준다고 볼 수 있다. 즉, AWS (Amazon Web Services, 아마존 웹서비스)에서는 인터넷을 통해 접속할 수 있는 가상의 컴퓨터를 제공해준다. URL을 제공하는데 이 URL을 통해 웹서비스를 하는 것이 가능하다. 우리가 사용하는 컴퓨터와 똑같다고 볼 수 있다. 다만 생성과 삭제가 빠르고 설치 작업이 필요하지 않다.
계정 생성
아마존 사이트(aws.amazon.com)에서 가입이 가능하다. 해외 결제가 되는 신용카드 정보가 필요하므로 준비해야 한다. 다만 근래에 나는 gamelift라는 서비스의 예제를 실행해 보았는데 그것이 결제 되는 것인지 모르고 실행시킨 채 놔두었다. 몇 주 후 발견했고, $60달러가 내 결제 대쉬보드에 있는 것을 확인했다. 아주 속상했다. 사람은 똑똑해야 한다.
* 계정 보안 강화
이 부분은 꼭 해야 다음 단계롤 넘어갈 수 있는 것은 아니지만, 계정 해킹으로 인해 나도 모르게 사용된 인스턴스 비용을 청구당하는 일을 없애기 위해 자신의 카드를 보호하기 위해서는 해주는 것이 좋다. 물론 개인 선택이다.
EC2 인스턴스 생성
이제 본격적으로 인스턴스를 생성하는 순서를 볼 것이다. 한 번 해보면 사실 정말 별 것 아닌데, 처음에는 낯설어서 어렵다고 생각할 수도 있다.
① 지역 설정
인스턴스가 생성 될 지역을 선택해준다. 오른쪽 위에 보면 Oregen를 선택하는 곳이 나오는데, 아마 US나 Asia로 되어 있을 것이다. 내가 있는 지역과 인접한 곳을 선택하는 것이 속도면에서 좋다. 나는 한국에 있으므로 Asia Pacific(Seoul)로 선택하였다. 함께 연동하고자 하는 서비스가 있다면 모두 같은 리전(region)이 선택되는 것이 중요하다. 서울로 선택을 하면 ap-northeast-2로 리전이 나오고 다른 서비스를 설정할 때 리전을 동일하게 선택해 준다.
② Create Instance
AWS 관리자 콘솔에서 EC2를 선택하고 다음 화면에서 Launch Instance를 눌러 만들기를 시작한다. AMI 선택 화면에서는 원하는 것을 선택한다. AMI란 미리 만들어둔 아마존 가상 머신의 이미지를 말한다. 아마존에서 AMI라 칭할 뿐 우리는 이미지를 통하여 가상 OS를 설치하는 것을 어느정도 해보았을 것이다. 그렇게
낯선 정의는 아니다.
My AMIs는 나중에 자신의 컴퓨터를 세팅한 후 만들어두면 다시 인스턴스를 생성할 때 사용할 수 있다. 나만의 OS이미지정도로 보면 될 것 같다.
Default로 선택하고 그냥 넘어갔다. 일단 생성 자체가 목표이므로 나머지는 필요에 따라 다르게 설정하면 될 것이다.
③ Create a new key pair
인스턴스에 접속할 키를 만들거나 선택하는 부분이다. 생성하게 되면 경로에 (KeyPairName).pem 가 다운로드된다. 이것 자체가 키가 되므로 노출되지 않도록, 또는 분실하지 않도록 잘 관리해야 한다.
인스턴스 접속
생성이 완료되었으면 이제 해당 인스턴스에 접속해봐야 할 것이다. view instance의 인스턴스 목록 위 Connect를 누르면 해당 인스턴스에 접속하는 방법이 팝업창으로 뜬다. 방법은 두 가지가 있다.
SSH 클라이언트를 이용한 접속
$ chmod 400 (KeyPairName).pem
$ ssh -i (KeyPairName).pem ubuntu@(Public IP)
데스크탑 클라이언트를 이용한 접속
클라이언트를 다운받게 되면 rdb(Remote Desktop Connection)파일이 생성된다. 그냥 실행시키면 바로 실행되는데 비밀번호 입력창이 있다. 팝업창에서 Get Password로 간다. 파일을 선택하는 곳에 아까 다운받았던 (KeyPairName).pem을 넣어주고 Decrypt Password를 하게 되면 패스워드가 뜬다. 복사해서 잘 가지고 있어야 한다. 비밀번호 입력창에 넣어 준다. 우리가 자주 보는 시작 화면이 나타나는 것을 볼 수 있다.
낯설었던 부분은 .pem파일을 통해 패스워드를 얻는 부분이었는데 생성을 다 해 놓고서 접속하지 못해 여쭤봤던 바보같은 기억이 있다. 사실 생성한 인스턴스에 아무런 보안장치도 없이 접속한다는 안일한 생각이 웃겼다. 나름 보안 전공자 인데, 암튼 한번 해보고 나니 별 것 아니였다. 아마존은 EC2말고도 다양한 편리를 위한 서비스들이 존재한다. 실제로 아마존 세미나를 참여하게 되면 이 다양한 서비스들을 연동하여 하나의 프로젝트를 진행하는 모습을 보여준다. 기억에 남았던건스피커 에코와 Lambda함수의 연동이었다. 앞으로 하나하나 더 공부해보고 기록해두어야 할 것 같다.