AWS 클라우드에서 Windows를 지원하는 11가지 방법
이미 2008년부터 AWS 클라우드에서는 Microsoft Windows 애플리케이션을 손쉽게 운영할 수 있었습니다. 예전 글을 다시보니 10년이 넘는 동안 정말 많은 것이 달라졌습니다. 최근 IDC의 보고서에 따르면 “AWS는 2위 업체에 비해 클라우드에서 거의 2배 많은 Windows Server 인스턴스를 보유”하고 있습니다.
이제는 AWS가 클라우드가 윈도 애플리케이션을 실행하기에 가장 좋은 방법입니다. Active Directory, SQL Server 및 System Center를 포함하여 AWS에서 전체 윈도 스택을 실행할 수 있으며, 20개의 AWS 리전에서 61개의 가용 영역도 활용할 수 있습니다. 기존 .NET 애플리케이션을 개발 및 실행하기 위해 Visual Studio나 .NET용 AWS SDK를 사용하는 새로운 클라우드 네이티브 윈도 애플리케이션 VS Code 빌드를 사용할 수 있습니다.
AWS의 폭 넓은 윈도 업무 지원 알아보기
동료인 Jerry Hargrove 가 그린 아래 메모에서 시작해 AWS 기반 Windows 생태계를 좀 더 자세히 살펴보고자 합니다. 총 11가지의 윈도 업무를 어떻게 AWS에서 구동 가능한지 하나씩 살펴보겠습니다.
1 – SQL Server 업그레이드
AWS는 각 에디션의 다양한 버전과 함께 4개의 에디션(Express, Web, Standard 및 Enterprise)을 모두 포함하는 최상급의 SQL Server 지원을 제공합니다. 이런 광범위한 지원 덕분에 SQL Server는 AWS에서 가장 인기가 있는 Windows 워크로드가 되었습니다.
SQL Server 업그레이드 도구(AWS Systems Manager 스크립트)를 사용하는 SQL Server 2008 R2 SP3를 실행하는 EC2 인스턴스를 손쉽게 SQL Server 2016으로 업그레이드할 수 있습니다. 도구는 실행 중인 인스턴스에서 AMI를 생성하고 AMI를 SQL Server 2016으로 업그레이드한 다음 새 AMI를 시작합니다. 자세히 알아보려면 AWSEC2-CloneInstanceAndUpgradeSQLServer 작업을 읽어보세요.
Amazon RDS를 사용하면 DB 인스턴스를 SQL Server의 새로운 전체 업그레이드 또는 부분 업그레이드로 손쉽게 업그레이드할 수 있습니다. 업그레이드는 적합한 위치에서 수행되고 클릭 몇 번으로 시작할 수 있습니다. 예를 들어 현재 SQL Server 2014를 실행 중인 경우 다음 업그레이드를 사용할 수 있습니다.
또한 원하는 유지 관리 창 내에서 수행되는 새로운 부분 버전에 대한 자동 업그레이드를 진행할 수도 있습니다.
프로덕션 DB 인스턴스를 업그레이드하기 전에 스냅샷 백업을 생성하고, 테스트 DB 인스턴스를 생성하는 데 사용하며, 해당 인스턴스를 원하는 새 버전으로 업그레이드하고, 승인 테스트를 수행합니다. 업그레이드에 관해 자세히 알아보려면 Microsoft SQL Server DB 엔진 업그레이드를 읽으십시오.
2 – Linux기반 SQL Server
회사에서 Linux를 선호하는 경우 라이선스 포함(LI) Amazon Machine Image를 사용하여 Ubuntu, Amazon Linux 2 또는 Red Hat Enterprise Linux에서 SQL Server를 실행할 수 있습니다. 가장 최근 출시 발표를 읽거나 EC2 Launch Instance Wizard를 사용하여 AWS Marketplace에서 AMI를 검색합니다.
이는 Windows 라이선스에 대한 비용을 지불할 필요가 없으므로 매우 경제적인 옵션입니다.
윈도에서 Linux로 기존 SQL Server 데이터베이스(2008 이상, 클라우드 또는 온-프레미스 중 하나)를 이동하기 위해 새로운 플랫폼 재구성 도구(또 다른 AWS Systems Manager 스크립트)를 사용할 수 있습니다.
3 – 멀티 AZ 기능 활용 (Amazon RDS for SQL Server)
Amazon RDS(AWS의 관리형 데이터베이스 서비스)에서 엔터프라이즈급 프로덕션 워크로드를 실행 중인 경우 이 기능을 확실하게 활성화해야 합니다! 이 기능은 두 AWS 가용 영역에서 데이터베이스를 복제하여 가용성과 내구성을 강화합니다. 하나는 기본 인스턴스이고 다른 하나는 즉시 대기 인스턴스로 사용되어 계획된 유지 관리 또는 서비스 중단 시 신속한 자동 장애 조치가 가능합니다. 기존 DB 인스턴스에 이 옵션을 활성화할 수 있으며, 새 인스턴스를 생성할 때 지정할 수도 있습니다.
자세히 알아보려면 Microsoft SQL 미러링 또는 항상 사용 기능을 사용하는 다중 AZ 배포를 살펴보세요.
4 – .NET 및 C#을 통한 서버리스 개발 (AWS Lambda)
이제 개발자를 위한 몇 가지 기능에 대해 살펴 보겠습니다!
2014년에 출시되어 끊임 없는 혁신의 길을 걷고 있는 AWS Lambda를 통해 서버 소유 및 관리를 생각할 필요 없이 클라우드에서 프로그램 코드를 실행할 수 있습니다. Lambda 함수용 몇 가지 .NET Core 런타임에서 선택하여 코드를 C# 또는 PowerShell에 작성할 수 있습니다.
자세히 알아보려면 AWS Lambda 개발자 가이드에서 C#으로 작업 및 PowerShell로 작업을 참고하시면 됩니다. 여러분의 코드에 AWS 서비스 전체를 액세스할 수 있는 권한이 부여되므로 .NET용 AWS SDK를 사용할 수 있습니다. 자세한 내용은 .NET Core AWS Lambda 함수 개발 게시물을 살펴보세요.
5 – .NET용 Could Development Kit 활용하기
.NET용 AWS CDK(Cloud Development Kit)를 사용하여 코드로 클라우드 인프라를 정의한 후 AWS CloudFormation을 사용하여 배포할 수 있습니다. 예를 들어 이 코드(이 게시물에서 가져옴)는 Amazon Simple Queue Service(SQS) 대기열 및 Amazon Simple Notification Service(SNS) 주제를 생성하는 템플릿을 만듭니다.
6 – .NET Core용 EC2 AMI 활용하기
.NET Core를 사용하는 Linux 애플리케이션을 구축하는 경우 Amazon Linux 2 및 Ubuntu AMI를 사용할 수 있습니다. .NET Core, PowerShell Core 및 미리 설치된 AWS 명령줄 인터페이스(CLI)를 사용해 몇 분 내로 애플리케이션을 실행하고 배포할 준비를 마칠 수 있습니다. EC2 인스턴스를 시작했을 때 core를 검색하여 AMI를 찾을 수 있습니다.
7 – .NET Dev Center 살펴보기
AWS .Net Dev Center에는 AWS에서 .NET 애플리케이션을 설계, 빌드 및 실행하는 방법을 배울 수 있는 자료가 포함되어 있습니다. 기사, 샘플 코드, 10분 자습서, 프로젝트 등을 찾을 수 있습니다.
8 – AWS License Manager 활용하기
새로운 방식으로 Windows 및 SQL Server 애플리케이션을 관리하고 최적화하는 방법을 알려 드리겠습니다. 예를 들어 AWS License Manager를 사용하면 클라우드나 온-프레미스에서 실행하는 소프트웨어 라이선스를 관리할 수 있습니다(자세한 내용은 AWS 라이선스 관리자 – 소프트웨어 라이선스 관리와 라이선스 규칙 적용 게시물 참조). 라이선스 계약의 내용을 에뮬레이션하는 사용자 지정 규칙을 생성하여 EC2 인스턴스를 시작할 때 강제로 적용할 수 있습니다.
또한 License Manager는 라이선스 활용에 관한 정보를 제공하므로 라이선스 포트폴리오를 세부적으로 조정하여 프로세스에 따른 비용을 절감할 수 있습니다!
9 – 클라우드로의 윈도 데이터 이전
윈도 애플리케이션 코드와 윈도 데이터를 AWS 안팎으로 이동할 때 다양한 옵션과 선택 사항을 활용할 수 있습니다. 아주 간단하게 요약하면 다음과 같습니다.
- TSO Logic – AWS 제품군의 이 새로운 구성원(올 초에 인수)은 클라우드로 가는 여정을 시작할 때 계획, 최적화 및 비용 절감에 도움이 되는 분석 솔루션을 제공합니다.
- VM Import/Export – 이 서비스를 사용해 기존 가상 머신 시스템 이미지를 EC2 인스턴스로 가져오고 해당 이미지를 온-프레미스 환경으로 다시 내보낼 수 있습니다. 자세한 내용은 VM Import/Export를 사용하여 VM을 이미지로 가져오기를 살펴보세요.
- AWS Snowball – 이 서비스를 사용하여 페타바이트 규모의 데이터 세트를 AWS 안팎으로 이동할 수 있습니다. 엑사바이트 규모에 직면해 있으면 AWS Snowmobile을 확인하십시오.
- AWS Migration Acceleration Program – 이 프로그램에는 AWS Professional Service 및 당사 파트너 팀이 포함됩니다. 세 단계 마이그레이션 모델을 기반으로 준비 평가, 계획 단계 및 실제 마이그레이션을 포함합니다.
10 – 윈도 기반 인공 지능 개발
AWS는 탁월한 기능과 견고한 토대, 다양한 종류의 서비스를 제공하므로 지금 바로 미래를 현실화하는 애플리케이션을 구축할 수 있습니다! Lambda에서 .NET Core 지원으로 서버 없이 작업하고, Windows용 딥 러닝 AMI를 활용하며, Amazon ECS 또는 EKS에서 컨테이너화된 앱을 호스팅하고, 최신 AI 지원 서비스를 사용하는 코드를 작성할 수 있습니다. 여러분의 윈도 애플리케이션은 추천, 예측, 이미지 분석, 비디오 분석, 텍스트 분석, 문서 분석, 문자 음성 변환, 기계 번역, 음성 인식 등을 활용할 수 있습니다.
11 – 윈도 전용 관리형 서비스 제공
클라우드를 기반으로 하거나 온-프레미스에 배치되는 기존 윈도 애플리케이션은 모두 AWS 내에서 Windows 전용 파일 시스템과 디렉터리 서비스를 사용할 수 있습니다.
- Windows Server용 Amazon FSx – 완벽하게 관리되는 이 전용 Windows 파일 시스템은 SMB 프로토콜 및 NTFS와 호환됩니다. Windows 애플리케이션용 공유 파일 스토리지를 제공하며 빠르고 안정적인 성능을 위해 SSD 스토리지로 백업합니다. 자세히 알아보려면 블로그 게시물을 읽으십시오.
- AWS Directory Service – 디렉터리 인식 워크로드와 AWS Enterprise IT 애플리케이션은 AWS 클라우드에서 실행되는 이 관리형 Active Directory를 사용할 수 있습니다.
자세한 내용
새롭게 업데이트된 AWS 기반 Windows 및 AWS 기반 SQL Server 페이지에는 사례 연구, 빠른 시작 및 기타 유용한 정보가 포함되어 있습니다.
— Jeff;
Source: AWS 클라우드에서 Windows를 지원하는 11가지 방법