Amazon EC2 Windows 인스턴스 - Amazon Elastic Compute Cloud

Amazon EC2 Windows 인스턴스

다음은 Amazon EC2의 주요 구성 요소를 소개하고 Windows 인스턴스와 온프레미스 Windows Server 실행을 비교한 것입니다.

인스턴스 및 AMI

Amazon Machine Image(AMI)는 소프트웨어 구성이 기재된 템플릿입니다(예: 운영 체제, 애플리케이션 서버, 애플리케이션). AMI를 사용해 인스턴스를 시작할 수 있으며, 이 AMI의 사본인 인스턴스는 클라우드에서 가상 서버로서 실행됩니다.

Amazon에서는 자주 사용되는 소프트웨어 구성을 포함하는 다양한 AMI를 공개 제공하고 있습니다. 그뿐 아니라 AWS 개발자 커뮤니티 회원들이 올린 자체 구성 AMI도 게시되어 있습니다. 고유의 사용자 정의 AMI를 생성할 수도 있습니다. AMI를 생성하면 필요한 기능을 모두 갖춘 새 인스턴스를 쉽고 빠르게 시작할 수 있습니다. 예를 들어 애플리케이션이 웹 사이트나 웹 서비스인 경우, AMI에 웹 서버와 관련 고정 콘텐츠, 그리고 동적 페이지에 사용할 코드를 포함할 수 있습니다. 이 AMI에서 인스턴스를 시작하면 웹 서버가 시작되고 애플리케이션에서 바로 요청을 처리할 수 있습니다.

Windows 인스턴스의 시작 시간 개선을 위해 더 빠른 시작에 맞게 AMI를 최적화할 수 있습니다. 그러면 사전 프로비저닝된 스냅샷 세트가 생성되어 인스턴스를 최대 65% 더 빠르게 시작할 수 있습니다. 자세한 내용은 더 빠른 시작을 위해 Windows AMI 구성 섹션을 참조하세요.

하나의 AMI에서 다양한 인스턴스 유형을 실행할 수 있습니다. 인스턴스 유형에 따라 인스턴스에 사용되는 인프라가 결정됩니다. 일부 인스턴스 유형은 범용 용도로 고안된 반면, 다른 인스턴스 유형은 컴퓨팅을 위한 고성능 프로세서, 대용량 데이터 집합 처리를 위한 향상된 메모리, 스토리지를 위한 고속 I/O와 같은 특정 용도를 위한 최적화를 지원합니다. 인스턴스에서 실행할 애플리케이션 또는 소프트웨어에 필요한 성능과 크기를 제공하는 인스턴스 유형을 선택합니다. 자세한 내용은 Amazon EC2인스턴스 유형을 참조하세요.

Windows 인스턴스는 중지하거나 종료할 때까지, 혹은 오류가 발생하지 않는 한 계속 실행됩니다. 인스턴스가 실패하면 AMI에서 새로 실행할 수 있습니다.

AWS 계정당 동시에 실행할 수 있는 인스턴스 수는 제한됩니다. 해당 제한 및 추가 요청 방법에 대한 자세한 내용은 Amazon EC2의 실행 인스턴스 한도(일반 FAQ의 Amazon EC2) 섹션을 참조하세요.

Windows Server와 Windows 인스턴스의 차이점

Amazon EC2 Windows 인스턴스는 시작한 후에는 기존의 Windows Server 구동 서버와 비슷하게 수행됩니다. 예를 들어, Windows Server와 Amazon EC2 인스턴스 모두 웹 애플리케이션 구동이나 배치 프로세스(batch processing), 또는 대규모 연산 기능이 필요한 애플리케이션의 관리에 사용할 수 있습니다. 그러나 서버 하드웨어 모델과 클라우드 컴퓨팅 모델 간에는 중요한 차이가 있습니다. Amazon EC2 인스턴스의 실행 방식은 기존의 Windows Server 구동 서버과 다릅니다.

Amazon EC2 Windows 인스턴스를 시작하기 전에 클라우드에서 구동되는 애플리케이션의 아키텍처가 사용 하드웨어에서 사용 중인 기존의 애플리케이션 모델과 크게 다를 수 있다는 사실을 알아두어야 합니다. 클라우드 서버에서 애플리케이션을 구현하려면 개발 과정에서 이런 차이를 고려해야 합니다.

다음 표는 Windows Server와 Amazon EC2 Windows 인스턴스의 주요 차이점을 설명합니다.

Windows Server Amazon EC2 Windows 인스턴스

리소스와 용량이 물리적으로 제한됩니다.

리소스와 용량을 확장할 수 있습니다.

인프라를 사용하지 않을 때에도 비용이 소요됩니다.

인프라를 사용한 만큼 비용을 지불합니다. 인스턴스 상태가 "중지"나 "종료"로 변경되는 즉시 요금 발생이 중지됩니다.

물리적인 공간과 정기적인 관리가 요구됩니다.

물리적인 공간이나 정기적인 관리가 필요 없습니다.

전원 버튼을 눌러 시작하는 방식입니다(콜드부팅).

인스턴스를 실행하여 시작합니다.

종료가 필요할 때까지 서버를 계속 구동하거나 절전(sleep) 또는 수면(hibernation) 상태로 변경할 수 있습니다(이들 상태에서는 서버 전원이 꺼집니다).

서버를 계속 구동하거나 중지했다가 재시작할 수 있습니다(이 때 인스턴스는 새 호스트 컴퓨터로 이동됩니다).

서버를 종료해도 모든 리소스가 변동 없이 종료 당시 상태로 유지됩니다. 하드 드라이브에 저장된 데이터가 계속 보존되어 필요할 때 언제든지 액세스할 수 있습니다. 전원을 다시 공급하는 방식으로 서버를 실행 상태로 복구할 수 있습니다.

인스턴스를 종료하면 이 인스턴스의 인프라는 더 이상 사용할 수 없게 됩니다. 인스턴스를 종료한 후에는 인스턴스에 다시 연결하거나 재시작할 수 없습니다. 단, 인스턴스가 실행 중일 때 이미지를 생성하고 이 이미지를 사용해 이후 언제든지 새 인스턴스를 시작할 수는 있습니다.

기존의 Windows Server 구동 서버에서는 다음 도표의 상태를 거쳐 실행됩니다.


				기존 Windows Server 상태

다음의 도표와 Windows Server 도표를 비교하면 Amazon EC2 Windows 인스턴스가 기존 Windows Server와 유사한 것을 알 수 있습니다. 인스턴스는 시작 후 잠시 보류 상태가 되었다가 등록이 완료되면 실행 상태로 변경됩니다. 인스턴스는 사용자가 중지하거나 종료할 때까지 계속 실행됩니다. 종료(termination) 후에는 인스턴스를 재시작할 수 없습니다. 인스턴스가 실행 중일 때 백업 이미지를 생성하면 이 백업 이미지를 사용해 나중에 새 인스턴스를 시작할 수 있습니다.


				인스턴스와 AMI 수명 주기

Windows 인스턴스에서 실행할 애플리케이션 설계

Amazon EC2 Windows 인스턴스에서 구동할 애플리케이션을 개발하려면 이전 섹션에서 언급한 차이점을 반영하는 것이 중요합니다.

Amazon EC2용으로 구축된 애플리케이션은 특정 주기 없이 필요에 따라 기본 컴퓨팅 인프라를 사용합니다. 이런 애플리케이션은 작업 수행에 필요한 경우에만 리소스(스토리지, 컴퓨팅 등)를 임시로 사용하다가 작업을 마치면 리소스 사용 권한을 반납합니다. 그뿐 아니라 작업을 마치면 자가 종료되는 경우가 많습니다. 실행 중인 애플리케이션은 리소스 요구사항에 따라 탄력적으로 확대되거나 축소됩니다. Amazon EC2 인스턴스에서 구동되는 애플리케이션은 인프라 오작동에 대비해 종료했다가 원할 때 다양한 요소를 재생성할 수 있습니다.

Amazon EC2에서 구동할 Windows 애플리케이션을 개발할 때는 요구사항 변동에 따른 컴퓨팅 및 스토리지 리소스의 신속한 배치와 감축을 염두하여 계획해 볼 수 있습니다.

Amazon EC2 Windows 인스턴스를 실행할 때는 Windows Server처럼 하드웨어와 소프트웨어, 스토리지를 포함한 시스템 패키지를 엄격하게 프로비저닝하지 않아도 됩니다. 대신 다양한 클라우드 리소스를 활용해 Windows 애플리케이션의 확장성과 전체적인 성능을 향상하는 데 집중할 수 있습니다.

Amazon EC2에서 오작동이나 정전에 대비한 설계는 아키텍처에서 없어서는 안 될 중요한 부분입니다. 여느 확장 가능한 중복 시스템과 마찬가지로 이런 시스템 아키텍처 또한 컴퓨팅, 네트워크, 그리고 스토리지 오작동의 가능성에 대비해야 합니다. 오작동의 각 유형에 따른 대처 매커니즘이 애플리케이션에 구축되어 있어야 합니다. 핵심은 개별 구성요소 간에 긴밀하게 결합되지 않은 상태로 비동기적인 상호 작용이 가능하며 다른 요소를 독자적인 확장이 가능한 블랙박스로 간주하는 모듈형 시스템을 구축하는 것입니다. 그러면 이 중 한 구성요소에 오류가 발생하거나 사용 중일 때 사용 시스템에 무리가 없도록 해당 요소의 인스턴스를 추가로 실행하면 됩니다.

오작동에 대비한 설계에서 또 다른 중요한 점은 애플리케이션의 지리적 배포입니다. 애플리케이션을 지리적으로 분산된 리전에 복제하면 시스템의 가용성이 향상됩니다.

Amazon EC2 인프라는 프로그램이 가능하고 스크립트를 사용해 배치 과정, 프로그램과 애플리케이션의 설치와 구성, 가상 서버의 부트스르랩을 자동화할 수 있습니다.

Amazon EC2 Windows 인스턴스에서 구동되는 애플리케이션 아키텍처는 각 계층마다 보안을 설정해야 합니다. Amazon EC2 환경에 저장하는 것이 우려되는 민감한 데이터나 기밀 정보는 업로드하기 전에 암호화해야 합니다.