2011-02-02 8 views
7

사용중인 Windows AMI (EBS 지원)의 시작 시간에 큰 차이가 있습니다. 일부는 불과 3 분 안에 시작됩니다. 나머지는 20 분 이상 걸릴 수 있습니다. 나의 이해는 기본 Windows AMI가 활성화 되려면 두 번의 재부팅이 필요하기 때문에 속도가 느릴 수 있지만 제 경우에는 모두 사용자가 지정한 공용 컴퓨터 또는 스냅 샷 중 하나입니다.정말 느린 AMI 시작


유사한 메모에서 EC2 콘솔의 로그 파일을 검색하여 내 컴퓨터가 언제 시작되는지 알 수있었습니다. 그러나 일부 시스템은 로그를 생성하지 않습니다. 현실적으로 변수 시작 시간과 변수 로깅이 있습니다.이 경우 Windows 시스템이 사용 가능하다는 것을 어떻게 알 수 있습니까?

답변

1

Windows AMI의 원본과 상관없이 RDP를 통해 사용 가능하게되기 전에 시작 프로세스 중에 여러 번 재부팅됩니다. 모든 Windows AMI는 Amazon에서 생성 한 Windows AMI에서 파생됩니다.이 AMI는 의도적으로이 부팅 프로세스를 가지고 있습니다. [이 부팅 프로세스는 게스트 VM 내에서 실행되는 사용자 정의 커널에 하드 코딩 된 것이 좋습니다.]

콘솔 로그는 일반적으로 2 분에서 5 분 정도 걸립니다.

EC2의 Windows는 Linux보다 자동화하고 추적하기가 더 어렵습니다. RightScaleScalr 여러분은 Windows를 관리 플랫폼에 통합하는 훌륭한 작업을 수행했습니다. 또한 Opscode Chef 구성 관리 도구는 EC2의 Windows를 지원하며 인스턴스를 언제 사용할 준비가되었는지 알 수 있도록 도와줍니다.

5

은 EC2에서 Windows AMI를 시작하는 데 다양한 시간이 걸립니다. 인스턴스의 고정 된 시스템 이름을 설정하여 최소화 할 수 있습니다. "내 컴퓨터", "컴퓨터 이름"탭의 등록 정보에서 Windows 컴퓨터의 경우와 동일하게 수행하십시오. 그런 다음 시작 메뉴의 "모든 프로그램"목록에서 "EC2ConfigService Settings"를 실행하십시오. 이 프로그램은 대부분의 기본 AMI에 아마존에 의해 설치되어 있습니다. 이 프로그램의 "일반"탭에서 "컴퓨터 이름 설정"을 선택 취소하십시오. 이렇게하면 이름을 설정하기 위해 이미지을 시작하는 동안 시스템이 한 번만 다시 부팅되는 것을 방지 할 수 있습니다.

그래도 인스턴스가 준비되면 으로 알려지고 싶습니다. 이것은 Amazon의 Simple Notification Service에 대한 완벽한 작업입니다. 서비스 (SNS라고도 함)는 프로그래밍 방식으로 (예 : Windows .NET 프로젝트에서) 사용이 간편하며 처음 10 만 개의 메시지는 총 1GB 미만으로 무료이며 알림은 즉시 처리됩니다. (VB.NET에서) 통지를 보낼 수

코드 :

Imports Amazon.EC2.AmazonEC2Client 
    Imports Amazon.SimpleNotificationService 
    DIM LabSNS As New AmazonSimpleNotificationServiceClient(Lab_AWSKey, Lab_AWSSecretKey) 
    Dim PubReq As New Amazon.SimpleNotificationService.Model.PublishRequest 
    Dim Msg As String 'Messege to be built up, then be sent. It is body of eMail. 
    Msg = "The instance is running and ready!" 
    Msg = Msg + vbCrLf + "Previous State of machine was:" & PreviousState 'A made-up global 
    Msg = Msg + [Any other info. I want to send myself about the start of the instance.] 
    PubReq.WithTopicArn(Topic)'Topic is a global. It's value is a key from SNS topic setup. 
    PubReq.WithSubject("EC2 Instance is Ready!") 
    PubReq.WithMessage(Msg) 
    LabSNS.Publish(PubReq) 

코드는 아마존의 무료 SDK for .NET이 필요합니다. 위와 같은 코드를 포함하는 프로그램을 작성하십시오. Windows 작업 스케줄러를 사용하여 컴퓨터가 시작된 후 로그인하기 전에 프로그램이 실행되도록 설정 - 프로그램을 호출하는 "시스템 시작시"에 트리거 된 작업을 만듭니다.

SNS에 대한 설정은 여기에 설명되어 있습니다 : 그것은 이메일을 보내 올 때 SNS Documentation 그것은 이메일을 보낼 수있는 많은 문제처럼 보인다

그러나, 아마존의 EC2 환경이 매우 제한적입니다. 많은 사람들이 EC2를 스팸 플랫폼으로 사용하려했기 때문에 Amazon은 Amazon에서 규정 한 경우를 제외하고는 SMTP (전자 메일) 트래픽 차단에 철저했습니다. Amazon 보안 그룹의 포트를 열어 Amazon의 블록을 우회 할 수는 없습니다.

아마존에는 EC2에서 사용할 수있는 일반적인 전자 메일 기능이 있습니다. Amazon Simple Email Service (SES)라고합니다. 대량 메일 용으로 설계되었으므로이 방법이 효과가 없습니다. 따라서 SES의 가격 책정, 예외 처리 및 메시징은 귀하가 필요로하는 것과 잘 어울리지 않을 것이라고 생각하지 않습니다.

SNS는 다른 한편으로는이 작업에 적합합니다. 그것은 주제의 미래 메시지를 받기를 원하는지 물어 보는 수신자에게 (당신이나 아마도 다른 사람들이 당신의 서버를 온라인으로 통보하고 싶을 수도있는) 초기 이메일을 포함합니다; 그들은 옵트 아웃 (opt out) 할 수있는 옵션이 주어지며 추가로 받기 위해 답장해야합니다.

위의 블록에 표시된 설치 프로세스는 모두 Amazon의 AWS 관리 콘솔에서 쉽게 수행 할 수 있습니다. (귀하의 질문은 이미 AWS EC2 계정이 필요함을 의미합니다.) 설치가 끝나면 AMI에서 시작된 모든 인스턴스는 시스템이 시작되는 즉시 원하는 정보 (프로그램에서 사용 가능)가 포함 된 전자 메일을 발송합니다 준비된.

설치시 잡아 당김이 없어 작동시 바위처럼 단단합니다.