4. AWS 기반의 MS 윈도우
2008년 이후 Microsoft 워크로드는 AWS에서 완벽히
지원됨
Microsoft 워크로드를 위한 전용팀 운영:
• 아마존 머신 이미지(AMI), EC2Config 서비스, 드라이버,
패치
• 시작 가이드, 문서
• 백서, 참조 아키텍처, 퀵랩(qwikLABS)
• 라이선스 가이드를 포함한 Microsoft FAQ
AWS 고객들은 가용한 모든 Microsoft 서버 애플리케이션을
성공적으로 배포해서 사용 중입니다
팀에 문의하기:
microsoft@amazon.com
리소스 찾기:
http://aws.amazon.com/windows
보안 안정성 고성능 친숙함 비용 최적화 범용 유연성
5. AWS 기반의 MS 윈도우 특징
클라우드에서 기업 애플리케이션 실행
윈도우 서버
애플리케이션을
손쉽게 관리
애플리케이션의
보안 상태 강화
Microsoft
애플리케이션과
관리된 비용
절감
비즈니스에 대한
세계적 수준의
엔드-투-엔드
지원 받기
6. AWS 기반의 MS 윈도우 특징
다양한 비즈니스 애플리케이션
새로운 비즈니스
애플리케이션을
신속하게 배포
및 확장
유연한 구매
옵션으로 조달을
간소화
완전 관리형
인프라에
애플리케이션
배포
7. AWS 기반의 MS 윈도우 특징
새로운 애플리케이션 개발 및 배포
Microsoft
애플리케이션을
더 빠르게 구축
익숙한 도구
활용
DevOps 접근
방식으로 자동화
8. AWS 기반의 MS 윈도우 특징
하이브리드 클라우드 접근 방식 활용
간단하게 AWS
클라우드 내에 격리된
전용 사설 데이터 센터
생성
AWS를 온-프레미스
데이터 센터의
자연스러운 확장으로
사용
9. AWS에서의 기업 애플리케이션
• 고-가용성 애플리케이션 배포
• BYOL 또는 사용당 지불(PAYG)
• 규정 준수에 도움을 주는 계층
방식의 보안 접근
• 신뢰성과 가용성을 위한 다중-AZ
아키텍처 활용
12. 정보 보안
기업 애플리케이션 최종 사용자 컴퓨팅비즈니스 애플리케이션
Amazon EC2 for Windows
Server, Amazon RDS,
AWS CloudFormation,
Amazon CloudFront
Amazon EC2 for Windows
Server, AWS Directory
Service, Amazon RDS,
AWS Marketplace
Amazon WorkSpaces,
Amazon AppStream,
AWS Marketplace,
AWS Mobile Services, SaaS
AWS Identity and Access Management (IAM),
AWS CloudHSM, AWS KMS,
security groups, AWS Marketplace
Amazon EC2, Amazon S3, Amazon RDS,
Amazon VPC, AWS Direct Connect,
AWS Directory Service, AWS IAM,
AWS Service Catalog
인프라
윈도우 워크로드를 위한 AWS 서비스 오퍼링
AWS Elastic Beanstalk,
AWS CodeDeploy,
AWS OpsWorks,
AWS CloudFormation
DevOps
13. 프라이빗 서브넷퍼블릭 서브넷
가용 영역#2
프라이빗 서브넷퍼블릭 서브넷
원격
사용자/관리자
Microsoft
아키텍처
샘플
Virtual Private
Gateway
기업
데이터센터
IIS
App
IIS
Web
IIS
App
IIS
Web
VPN
Direct
Connect
Internet
Gateway
RDGW
NAT
Gateway
RDGW
NAT
Gateway
Directory
Service
Directory
Service
MS
SQL
MS
SQL
Always
On 가용
그룹
VPC Endpoint
Amazon S3
가용 영역#1
AWS
서울 리전
15. 윈도우+ SQL AMI
Amazon에서 게시한 38개의 Microsoft 윈도우 및
SQL 서버 AMI
윈도우 서버 2016
윈도우 서버 2012 R2
윈도우 서버 2012
윈도우 서버 2008 R2
윈도우 서버 2008
윈도우 서버 2003
MS 쉐어포인트 파운데이션 2010 (2008R2)
6 윈도우 운영체제 버전
26 SQL 서버 버전/에디션
http://aws.amazon.com/windows/resources/amis/
16. Amazon EC2에서 윈도우 서버 2016 실행하기
• 윈도우 서버 2016 데이터 센터
윈도우 서버의 주요 버전
기존 윈도우 앱 및 클라우드 네이티브 앱 모두 지원
• 윈도우 서버 2016 나노 서버
클라우드에 최적화된 최소 사양 운영체제
• 윈도우 서버 2016와 컨테이너
도커 및 윈도우 컨테이너를 포함한 윈도우 서버 2016
• 윈도우 서버 2016와 SQL 서버 2016
MS SQL 서버 2016을 이미 포함한 윈도우 서버 2016
17. MS 윈도우를 위한 BYOL 라이선스 시나리오
https://aws.amazon.com/ko/windows/faq/
라이선스 유형 EC2 전용 호스트 EC2 전용 인스턴스 EC2 멀티 테넌트
윈도우 서버 O
AWS 에서 제공하는 라이선
스 포함 EC2 인스턴스
AWS 에서 제공하는 라이선스포함 EC2
인스턴스
SQL 서버 O
O
(윈도우 서버 라이선스 포함
EC2 전용 인스턴스에만 해
당)
O
(라이선스 모빌리티가 적용된 라이선
스가 있고, 라이선스 포함 윈도우 서버
EC2 인스턴스에서 실행 중인 경우에만
해당)
MS 오피스 O O 해당 사항 없음
윈도우 7,8 및 10 O O 해당 사항 없음
MSDN O O X
기타
O
(Microsoft 약관에 따라)
O
(윈도우 서버 라이선스 포함
EC2 전용 인스턴스에만 해
당)
O
(라이선스 모빌리티가 적용된 라이선
스가 있고, 윈도우 서버 EC2 인스턴스
에서 실행 중인 경우에만 해당)
20. AWS 윈도우 AMI 버전 내역
• AWS 윈도우 AMI는 Microsoft 발행 미디어에서 설치하는 윈도우
서버와 동일한 방식으로 구성
• EC2Config 서비스라는 추가 서비스가 설치된 상태로 제공
• 로컬 시스템 계정으로 실행
• 초기 설정 동안 주로 사용
• 부트 스트래핑 기능을 통해 사용자 설정 및 구성 설정 변경 가능
• 주기적으로 윈도우 보안 및 EC2Config 서비스 업데이트 등을
수행하여 새로운 AMI 버전 제공
• 추가로 필요한 업데이트 설치는 사용자가 수행
http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/WindowsGuide/windows-ami-version-history.html
21. EC2Config 서비스
• AWS에서 윈도우 AMI에 설치한 추가 서비스
• 로컬시스템 계정으로 실행
• 작업 유형
1. 인스턴스가 최초 생성될 때 초기 시작 작업 수행
2. 인스턴스가 시작할 때마다 수행되는 작업
3. 사용자가 로그인할 때마다 수행되는 작업
4. 인스턴스 수행 중에 온-디맨드로 요청된 작업 수행
22. EC2Config 서비스 작업 유형
1. 인스턴스가 최초 생성될 때 초기 시작 작업 수행
• 이 작업은 이후 비활성화 됨
• 다시 활성화하기 위해서는 인스턴스 종료 전에 명시적으로
활성화하거나, Sysprep를 수동으로 수행
• Administrator 계정을 위한 암호화된 랜덤 암호 설정
• 원격 데스크톱에 사용되는 호스트 인증서 생성 및 설치
• 파티션 처리되지 않은 공간을 포함시켜서 OS 파티션을 동적으로
확장
• 지정된 사용자 데이터 실행
23. EC2Config 서비스 작업 유형-계속
2. 인스턴스가 시작할 때마다 수행되는 작업
• 16진수 표기법으로 프라이빗 IP 주소와 일치하도록 호스트 이름
변경 (기본적으로 비활성화됨)
• KMS 구성, 윈도우 정품 인증 상태 확인, 필요한 경우 윈도우 정품
인증 활성화
• 모든 EBS 및 인스턴스 스토어 볼륨을 마운트해서 드라이브 문자에
매핑
• 문제 해결을 돕기 위해 이벤트 로그 항목을 콘솔에 기록
(기본적으로 비활성화 됨)
• 윈도우가 준비된 상태를 콘솔에 기록
• 복수 NIC이 연결될 경우, 윈도우 정품 인증 및 메타데이터 접근을
위해 169.254.169.250, 169.254.169.251, 169.254.169.254 IP 주소를
기본 네트워크 어댑터에 사용자 지정 라우팅 추가
24. EC2Config 서비스 작업 유형-계속
3. 사용자가 로그인할 때마다 수행되는 작업
• 사용자 바탕화면 배경에 월페이퍼 정보 표시
4. 인스턴스가 수행 중에 온-디맨드로 요청된 작업 수행
• AMI를 인스턴스에서 생성할 수 있도록 Sysprep을 실행하고
인스턴스 종료
• EC2 Run Command 요청을 처리
25. EC2Config 서비스 속성
[시작]-[모든 프로그램]-[EC2ConfigService Settings]
• 컴퓨터 이름 설정
• 사용자 데이터
• 이벤트 로그
• CloudWatch Logs
• 월페이퍼 정보
26. • 인스턴스 생성 시, 사용자가 입력한 스크립트를 실행하는 기능
• 최대 16KB 텍스트 까지 인스턴스에 전달
•AMI로 어려운 동적인 설정 구현:
• 인스턴스가 생성될 때 시크립트 시작
• chef, puppet 및 외부 프로그램에 매개 변수 값 전달
• 사용자 데이터로 사용할 수 있는 2가지 형식:
• 스크립트
• cloud-init 지시문 (리눅스 인스턴스)
• 사용자 데이터 스크립트 및 로그 위치
• C:Program FilesAmazonEc2ConfigServiceScriptsUserScript.bat 또는
UserScript.ps1
• C:Program FilesAmazonEc2ConfigServiceLogsEC2ConfigLog.txt
부트스트래핑: 인스턴스 사용자 데이터
• 리눅스:
• #!로 시작
• 윈도우:
• <script></script> 또는
<powershell></powershell> 태그이용
27. Simple Systems Manager
• 지속적으루 구성 적용
• 어떠한 컴퓨터에도 접속하지 않음
• 전체 추적 – AWS CloudTrail을 통해 호출 감사
• 세분화된 제어
• Simple System Manager의 기능
1. SSM Config
• 현재 윈도우만 지원
• SSM 문서에 정의된 윈도우 구성을 설정 및 관리
2. EC2 Run Command (미리 정의된 작업):
• AWS-JoinDirectoryServiceDomain
• AWS-RunPowerShellScript
• AWS-UpdateEC2Config
• AWS-ConfigureWindowsUpdate
• AWS-InstallApplication
• AWS-InstallPowerShellModule
• AWS-ConfigureCloudWatch
http://tinyurl.com/AWS-SSM-Home
28. Amazon EC2 Run Command
…
AWS 관리 콘솔 명령어 및 스크립트 AWS API
인터넷
통합 제어 관리
온-프레미스 데이터 센터
…
서울 리전
다른 클라우드
…
🅢 🅢
🅢🅢
🅢 🅢
SSM 에이전트(리눅스) 및 EC2Config
서비스(윈도우)에서 처리
29. 에이전트 아키텍처
172.16.0.0/16
가용 영역#1
EC2
인스턴스
IAM
역할
SSM 에이전트
(EC2Config)
프레임워크
(플러그인,
오케스트레이
션, 로깅, …)
플러그인 1
GetConfig
플러그인 2
플러그인 n
AWS Active
Directory
Cloudwatch
파일 소스
(https / s3)
인터넷
SSM Config
서비스
도메인 조인
Perf 카운터 업로드
MSI 및 PS 모듈 다운로드
구성 업데이트 체크
33. CloudWatch를 통한 일반적인 모니터링 항목
모니터링 항목 Amazon EC2 지표
모니터링 스크립트/
CloudWatch Logs
CPU CPUUtilization
메모리 사용률, 사용된 메모리 및
가용 메모리
성능카운터를 CloudWatch로, 로
그를 CloudWatch Logs로 전송
네트워크 사용률 NetworkIn
NetowkrOut
디스크 성능 DiskReadOps
DiskWriteOps
Page 파일 사용률(윈도우) 성능카운터를 CloudWatch로, 로
그를 CloudWatch Logs로 전송
37. AWS System Manager
• Microsoft System Center VMM을
통한 EC2 인스턴스 관리
• 윈도우 사용자에게 친숙한
인터페이스
• 하이브리드 클라우드 시나리오
지원
• 엔터프라이즈 Hyper-V 워크로드를
EC2로 이전
• 가져오기를 통해 인스턴스 생성
(Not AMI)
38. AWS Management Pack
Microsoft System Center Operations Manager를 통해 AWS 리소스 관리
모든 AWS 리전과 하이브리드 자원를
모니터링할 수 있도록 활성화:
• EC2 인스턴스
• EBS 볼륨
• ELB 로드 밸런서
• 자동 확장 그룹 및 가용 영역
• Elastic Beanstalk 애플리케이션
• CloudFormation 스택
• CloudWatch 알람
• CloudWatch 사용자 정의 메트릭
39. AWS Management Pack 주요 구성 요소
① SCOM 인프라
하나 이상의 관리 서버와 종속 항목
② 리소스 풀
.NET용 AWS SDK를 사용하여
AWS와 통신하는데 사용되는 하나
이상의 관리 서버 (인터넷 연결
필수). AWS 리소스를 발견하고
모니터링
③ AWS 자격 증명
AWS API를 호출하는데 사용되는
액세스키ID 및 보안 액세스 키
④ EC2 인스턴스
AWS 클라우드에서 실행 중인 가상
컴퓨터
47. AWS Management Portal
• VMware vCenter 플러그-인
• VM을 AWS EC2로 쉽게 마이그레이션
• 친숙한 인터페이스를 통해서 AWS 자원 관리
(VPC, 서브넷, 보안 그룹, AMIs, 등)
• SSO(SAML 2.0), RBAC 및 AD 등의 다양한 인증
지원
49. 가상 머신 가져오기 (VM import)
몇 가지 도구:
• 윈도우 SysInternals Disk2Vhd
• P2V 마이그레이션 툴 (SCVMM 한 부분)
• http://blogs.technet.com/b/chrad/archive/2011/09/09/vhdcapture-amp-vhdprep-using-these-tools-
to-p2v-your-physical-server-to-usb-network-share.aspx
• 주요 구성 요소
• VHD Capture
• VHD Capture Wizard
• VHD Prep
EC2 가져오기(import) 요구 조건
• http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/VMImportPrerequisites.html
P2V 및 EC2로 VM 가져오기
50. 가상 머신 가져오기
(1) P2V
(2) 업로드
(4) 변환 요청
(5) EC2는 임시 역할(role)
신원 정보를 사용해서
VHD를 다운로드
(6) VHD 변환 -> 새로운 프라이빗 AMI
Amazon
EC2
프라이빗 퍼블릭 마켓플레이스
Amazon
S3 버킷
디스크
이미지
(VHD)
아마존 머신 이미지 (AMIs)
(3) Setup role and
permissions
51. 가상 머신 가져오기 고려 사항
• 원본 윈도우
- 원격 접속 활성화 및 방화벽 설정
- 관리자 권한의 사용자 생성 및 사용자 암호 정책 설정
• Amazon S3로 VM 이미지를 어떻게 업로드하는 방법
• EC2를 위한 접근 역할(role) 구성
- 일회성 작업
• 가져오기(import) 변환을 시작하는 방법
- 변환이 완료될 때까지 대기
52. 가져오기 이후 구성
(가벼운 자동화) 부트스트래핑 계층
• 윈도우 인스턴스를 론치할 때, 자동-도메인 조인
• Simple AD와 AD Connector를 통해서 AWS Directory Service에 조인하는
것 지원
• PowerShell 모듈 설치
• MSI 패키지 설치
• CloudWatch Logs와 메트릭 구성
PowerShell DSC, Chef 등으로 좀 더 보완
• 부트스트랩은 SSM 사용
• 선택적으로, 더 세부적인 구성은 다른 도구에게 전달
54. .NET 아키텍처를 위한 AWS SDK 와 도구EXECUTION
PLATFORM
AWSSDK
LOW-
LEVEL
SERVICE
APIS
AWS
TOOLS
HIGHER-
LEVEL
UTILITY
APIS
.NET 3.5 .NET 4.5 PHONE STORE
SERVICE CLIENTS
AMAZON S3
TRANSFER UTILITY
AMAZON
DYNAMODB OBJECT
PERSISTENCE
VM IMPORT RESOURCE API
AWS TOOLS FOR
WINDOWS
POWERSHELL
AWS TOOLKIT FOR
VISUAL STUDIO
ASP.NET SESSION
PROVIDER
TRACE LISTENER
…
AWS ENDPOINTS: REST API
57. AWS Toolkit 자격 증명
• 배포와 API 호출을 단순화하기 위해 필요
• API는 액세스 키 ID와 비밀 키 필요
• 키를 넣을 수 있는 5가지 장소:
• 소스 코드 내 – NO
• app.config 내 – NO
• AWS 자격 증명 파일 – YES
• SDK 스토어 – YES
• IAM 역할(role) 사용 (EC2에서 만드러진 API 호출에서만) – YES
• 기본 프로필 이름으로 사용하거나 app.config 에 프로필 이름 등록
• app.config에 “AWS 리전” 등록
58. 한 단계 더: DevOps로 이동
• 윈도우 PowerShell를 위한 AWS Tools
• Amazon EC2 Run Command 활용
• 자동 도메인 조인
• 장비 접속 불필요
• 완벽한 추적 관리 기능
• 잘-조직화된 제어
• http://tinyurl.com/AWS-SSM-Home
59. AWS OpsWorks
• 애플리케이션 인프라 관리
• 리눅스와 Chef
• 윈도우와 Chef 12.2
• 주요 구성 요소:
• 스택
• 레이어
• 인스턴스
• 앱
60. 또한 AWS는 다양한 확장 지원을 제공
AWS Elastic Beanstalk
• Visual Studio에 내에서 배포 / Amazon S3에 자동 로그 로테이션
AWS CodeCommit/CodePipeline/CodeDeploy
• 큰 시스템군 관리 (온-프레미스와 클라우드-기반)
.NET SDK와 PowerShell cmdlets
• TFS와 CruiseControl.NET내에서 사용자 빌드 파이프라인 통합
AWS는 산업 표준(de-facto standard)
• Jenkins, Bamboo는 AWS와 네이티브 통합
• 다양한 다른 IDE도 AWS 지원 (Unity, Xamarin Studio, Eclipse…)
61. 포괄적이고 강력한 개발 도구
모니터링구성
Amazon CloudWatch AWS CloudTrailAWS Config
Amazon EC2
Run Command
AWS Tools for
Windows PowerShell
개발 및 배포
AWS
OpsWorks
AWS Toolkit for
Visual Studio
.NET SDK AWS CodeDeploy
AWS
CloudFormation
AWS Elastic
Beanstalk
63. EC2 윈도우 서버 인스턴스에서 실행하는 쉽고 편리한 진단 도구
각 데이터 수집 모듈은 해당 데이터 세트에 대한 정보가 들어 있는 XML
파일들과 통합 ZIP 아카이브 파일 생성
• IP 주소와 라우팅테이블을 포함한 네트워크 정보
• 도메인 및 컴퓨터 이름
• KMS 설정
• 현재 및 표준 시간대 정보 수집
• 설치된 드라이버 정보
• 윈도우 방화벽 및 EC2 보안 그룹 설정에 대한 정보
• 설치된 업데이트 정보
• 미니 덤프 파일들 (Last one week)
Microsoft 윈도우를 위한 AWS Diagnostics – 베타
http://aws.amazon.com/windows/resources/aws-diagnostics/
64. 문제 해결 도구
Perfmon
Cloudwatch
다른 벤치마킹 도구 – SQLIO, FIO, IPERF, NTTTCP
윈도우 성능 분석기 (Performance Analyzer)
WinDbg
AWS Diagnostics for Microsoft Windows Server Beta