아마존 EC2에 새로 추가된 "1년 무료 Windows 서버 인스턴스"가 있다는데, 직접 만들어 볼까요? ^^
예전에, Windows Azure의 VM Role 관련해서 실제 "VM Instance"를 만드는 방법을 설명해 드렸는데요.
Windows Azure - VM Role 베타 프로그램 참여
; https://www.sysnet.pe.kr/2/0/1070
최근에는 마이크로소프트에서 "Persistent VM" 형식도 준비하고 있다는 이야기가 들려오고 있습니다.
Microsoft to enable Linux on its Windows Azure cloud in 2012
; http://www.zdnet.com/blog/microsoft/microsoft-to-enable-linux-on-its-windows-azure-cloud-in-2012/11508
그런데, 이게 왠일입니까? ^^ 아직 준비가 안된 틈을 타서, 아마존이 고객선점을 위한 재미있는 견제 정책을 들고 나왔습니다.
Amazon Unveils Windows Server Free Trial
; http://www.informationweek.com/news/cloud-computing/infrastructure/232500004
기존에는 "Persistent VM" 서비스가 아마존에서만 가능했는데, 이제 Azure에서도 내놓으려고 하니 '무료' 정책을 기존 리눅스에 국한하지 않고 윈도우 서버까지 확장을 했습니다. 게다가 750 시간 무료도 윈도우 Azure의 무료 시간과 동일하다고 하는군요. ^^
보다 자세한 정보는 다음에서 확인이 가능한데요.
AWS Free Usage Tier
; http://aws.typepad.com/aws/2012/01/aws-free-usage-tier-now-includes-microsoft-windows-on-ec2.html
"
750 hours of Amazon EC2 Microsoft Windows Server Micro Instance usage (613 MB of memory and 32-bit and 64-bit platform support) ? enough hours to run continuously each month*
"
24시간 동안 31일 기준으로 사용해도 744 시간이기 때문에 해당 인스턴스에 대해 750 시간 무료라는 것은 별도의 메모리와 디스크 공간만 더 사용하지 않는다면 현실적으로 비용을 내지 않아도 되는 상태입니다.
"
* These free tiers are only available to new AWS customers, and are available for 12 months following your AWS sign-up date. When your free usage expires or if your application use exceeds the free usage tiers, you simply pay standard, pay-as-you-go service rates (see each service page for full pricing details). Restrictions apply; see offer terms for more details.
"
그렇게 1년 동안 무료로 사용할 수 있다는 것이지요. ^^
자... 그럼, 함께 1년 동안 무료로 사용할 수 있는 "Windows Server 2008 R2"를 만들어 볼까요?
1. 회원 가입 및 인스턴스 생성
우선, 아마존에 회원으로 등록되지 않은 분들은 다음의 페이지에 방문해서 회원 가입부터 해야 합니다.
AWS Free Usage Tier
; http://aws.amazon.com/free/
위의 웹 사이트를 방문하면 우측 상단에 "Sign Up" 버튼이 보입니다.
회원 가입을 위해서는 유효한 '신용 카드'와 '전화기'가 필요합니다. '회원 등록'을 웹 사이트에서 마친 후, 다음과 같은 이메일이 와야 정상적으로 등록과정이 완료된 것입니다.
회원 가입이 완료되었으면 다음의 URL을 방문하고,
AWS Management Console
; http://aws.amazon.com/console/
우측에 있는 "Sign in to the AWS Console"을 누르면 '관리 콘솔' 화면에 진입하게 됩니다. 콘솔 화면에 진입하면 아래와 같이 "EC2" 탭을 누르고 "Region"을 "Asia Pacific (Singap.)"로 (네트워크 속도를 위해) 바꿔주는 것이 좋습니다.
자, 이제부터 본격적으로 무료 윈도우 서버 인스턴스를 만들어 볼텐데요. 위의 화면에서 보여지는 데로 "Launch Instance" 버튼을 눌러줍니다.
그럼, 다음과 같이 AMI(Amazone Machine Image) 선택화면이 나오고 (물론 다른 인스턴스도 가능하지만) 제 경우에는 편의상 "Microsoft Windows Server 2008 R2 with SQL Server Express and IIS"를 선택해 주었습니다. (화끈하군요... 평소에는 거의 설치해 볼 일이 없는 "Datacenter Edition"으로 선택되어 있습니다.)
이제 생성될 Instance 유형을 선택해야 하는데요. 무료로 사용하려면 반드시 아래의 (기본값으로 된) "Micro (t1.micro, 613MB)" 유형이어야 합니다. (다른 유형은 "Free Usage" 유형에 속하지 않습니다.)
"Continue" 버튼을 누르면 아래의 화면이 나오는데, 그냥 기본값으로 두고 계속 진행합니다. ("Monitoring" 체크는 특히 하시면 안되겠지요. ^^ 비용이 부과된다고 하니!)
이번 옵션은 크게 중요하지 않습니다. 해당 Instance에 간단한 메타데이터를 지정할 수 있는데, 단순히 식별하기 편하도록 아무 이름/값이나 넣어주시면 됩니다.
이후, 공개키/개인키를 위한 (임의로 지은) 이름을 하나 입력하고 "Create & Download your Key Pair" 링크를 누릅니다.
그럼, 곧바로 "다운로드" 알림이 뜨고 개인키 파일을 다운로드 할 수 있습니다. (확장자가 .pem인 파일로 저장되는데 단순 텍스트 파일입니다. 잘 보관해 놓으세요. 나중에 RDP 접속 환경 구성할 때 필요합니다.)
이어서, 네트워크 환경을 담은 '보안 그룹'을 생성할 수 있습니다. 원하시는 데로 변경하거나 또는 기본값으로 두고 "Continue" 버튼을 누릅니다.
자... 여기까지 모두 정상적으로 되었다면 이제 최종적으로 설정 내용을 확인합니다.
그런데, ASP.NET 3.5라고 되어 있군요... 신경쓰지 않아도 됩니다. (조만간 오타가 수정되겠지요. ^^) 마지막으로, "Launch" 버튼을 눌러주면 여러분이 1년 동안 사용할 수 있는 무료 윈도우 서버 인스턴스가 하나 생성됩니다. ^^
다시, EC2 관리화면으로 가면 다음과 같이 "1 Running Instance"라는 것을 볼 수 있고,
링크를 클릭하고 들어가면, (처음 한 동안은 초기화하는 데 시간이 좀 걸리므로 "Status Checks"가 "initializing..."으로 나옵니다.) 초기화가 완료된 경우, 다음과 같이 상태가 확인됩니다.
2. 원격 데스크톱 접속
당연한 수순으로, 이제 해당 인스턴스에 "원격 데스크톱(RDP)" 접속을 해봐야 겠지요. ^^
이를 위해, 아래와 같이 관리 콘솔의 "Instance Actions" 메뉴에서 "Connect" 메뉴를 선택하고,
들어가면 다음과 같이 RDP 접속을 위한 "Public DNS" 정보와 암호를 얻을 수 있는 화면이 제공됩니다.
"Retrieve Password" 링크를 누르면 다음과 같이 개인키를 묻는 화면이 뜹니다. 이전에 인스턴스 생성하면서 다운로드 받았던 .pem 개인키 파일에 있는 텍스트를 복사해서 붙여넣기하고,
"Decrypt Password" 버튼을 누르면 "Administrator" 계정으로 로그인할 수 있는 암호가 구해집니다.
잘 받아서 적어두시고, "Download shortcut file" 링크를 누르면 확장자가 .rdp인 파일을 다운로드 할 수 있습니다. 물론, mstsc.exe 실행해서 여러분이 생성한 인스턴스의 "Public DNS" 주소를 입력해서 접속해도 무방합니다. 제 경우에는 "ec2-122-248-218-89.ap-southeast-1.compute.amazonaws.com"로 입력하고 접속을 했는데... 우와~~~~ 정말 ^^ RDP 연결이 되었습니다.
접속하자마자, "Administrator" 비밀번호 바꾸는 거 잊지 마시고 (왜냐하면 기본 비밀번호를 기억할 수 없기 때문에!), 아니면 새로운 관리자 계정 하나를 생성해서 사용하는 것도 좋겠습니다.
당연하겠지만, 아래와 같이 웹 서버도 접속됩니다. ^^ 우와~~~~
EC2 무료 윈도우 서버 환경이 어떻게 되는지 궁금하실텐데요. 대략 다음과 같이 정리해 보았습니다.
- .NET Framework 2.0/3.5/4.0 (Full / Client Profile)
- 총 30GB 하드 디스크 중, 6.6GB 남은 용량.
- 총 613MB 메모리 중, 432MB WorkingSet 메모리 점유.
- (가상) 프로세서 정보: Intel(R) Xeon(R) CPU E5430 @ 2.66GHz
- 윈도우 서버 내장 방화벽은 모두 "On" 상태임.
이 정도 환경이라면 사실 별로 할만한 일은 많지 않을 텐데요. 그래도 1년 동안은 무료로 '어떤 것'인가를 할 수 있는 VM이 생겼다는 데 충분한 의미가 있겠지요. ^^
그건 그렇고... 저렇게 신청해 놓고 1년이 지나면 '자동적으로 끊기는' 걸까요? 아니면 '자동적으로 요금이 매겨지는' 걸까요? ^^;
참고로, RDP 접속이 안되는 분들이 있을 것입니다. 위의 과정에서 보면 중간에 "Create a new Security Group"이라고 해서 "quick-start-1" 을 생성하고 RDP, HTTP 포트를 각각 열어주었다고 했는데요. 그건... 단지 새로운 보안 그룹을 생성만 하는 것일 뿐, 지금 생성하려는 '인스턴스'에 새로 생성된 보안 그룹을 자동으로 연결해 주지는 않습니다.
그래서, 저런 식으로 "quick-start-1" 보안그룹을 생성하고 명시적으로 다시 그 화면에서 "Choose one or more of your existing Security Groups"로 선택하지 않으면 현재 생성되는 인스턴스는 "default" 보안 그룹에 속합니다.
문제는 관리 콘솔에서 해당 "default" 보안 그룹을 살펴보면 다음과 같이 모든 ICMP, TCP, UDP에 대해서 포트가 열려있다고 되어 있는데,
이상하게도 제 경우에는 연결이 되지 않았습니다. 혹시나 싶어서, 기본 설정된 ICMP, TCP, UDP 설정을 없애고 RDP를 허용해 주었더니 연결이 정상적으로 되었습니다. 재미있는 것은, 위의 화면 캡쳐를 뜨기 위해 다시 RDP를 없애고 ICMP, TCP, UDP를 설정해 주니 이번에는 RDP 접속이 문제없이 되었습니다.
아마도 이것은 새로 "Windows Server R2" 무료 서비스를 추가하면서 초기 설정에 버그가 있는 것이 아닌가 싶습니다. 아마, 위의 실습을 여러분들이 따라하는 시점에는 고쳐졌을지도 모르겠습니다. ^^
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]